problemi con integrità referenziale (accesso 2007)


-2

Chiedo gentilmente un aiuto specialistico, probabilmente un progettista o amministratore di database.

Ho riscontrato questo problema impostando un'integrità referenziale per due tabelle, l'impostazione dell'integrità referenziale non è il problema ma la sfida che sto avendo è che quando ho finito di impostare questa integrità di riferimento, non consente valori null nell'altra tabella il che implica che entrambe le tabelle dovrebbero contenere probabilmente lo stesso no. di righe che faranno corrispondere entrambe le tabelle

Questo è un esempio di quello che voglio fare esattamente:

  • Sto creando tabelle, una denominata "Stock" che è destinata allo stoccaggio di merci o accessori che sono disponibili in negozio e un'altra tabella denominata "Customer_Details"
  • Voglio impostare un campo in entrambi i campi (ovvero un campo denominato "disponibilità") che sarà un tipo di dati Sì / No, questo campo dovrebbe essere presente in entrambi i campi
  • Ogni volta che un cliente acquista un particolare accessorio che viene scelto dalla tabella "Stock", cambierà automagicamente il valore del campo "disponibilità" nello stock,

Tutto quello che so e che ho cercato di fare è impostare l'integrità referenziale nella finestra delle relazioni, ma sfortunatamente questo non funziona,

Cerco cortesemente qualcuno che mi possa spiegare come procedere, dato che sono nuovo ad accedere al 2007.


Si chiama "integrità referenziale" non "integrità referenziale"
DavidPostill

Risposte:


0

"la sfida che sto affrontando è che quando ho finito di impostare questa integrità referenziale, non consentono valori nulli nell'altra tabella"

Nul i valori sono ammessi, ma ci sono restrizioni:

Tuttavia, è possibile immettere un valore Null nella chiave esterna. Questo specifica che i record non sono correlati. Ad esempio, non è possibile avere un ordine assegnato a un cliente che non esiste. Tuttavia, è possibile avere un ordine assegnato a nessuno immettendo un valore Null nel campo CustomerID.


Origine Come definire le relazioni tra le tabelle in un database di Access

Integrità referenziale

L'integrità referenziale è un sistema di regole che Access utilizza per assicurarsi che le relazioni tra i record nelle tabelle correlate siano valide e che non elimini o modifichi accidentalmente i dati correlati. È possibile impostare l'integrità referenziale quando sono vere tutte le seguenti condizioni:

  • Il campo corrispondente dalla tabella principale è una chiave primaria o ha un indice univoco.
  • I campi correlati hanno lo stesso tipo di dati. Ci sono due eccezioni. Un campo AutoNumber può essere correlato a un campo Numero con un'impostazione della proprietà FieldSize di Integer lungo e un campo AutoNumber con un'impostazione della proprietà FieldSize di Replication ID può essere correlato a un campo Number con un'impostazione della proprietà FieldSize di Replication ID.
  • Entrambe le tabelle appartengono allo stesso database di Access. Se le tabelle sono tabelle collegate, devono essere tabelle in formato Access ed è necessario aprire il database in cui sono archiviate per impostare l'integrità referenziale. L'integrità referenziale non può essere applicata per le tabelle collegate da database in altri formati.

Le seguenti regole si applicano quando si utilizza l'integrità referenziale:

  • Non è possibile immettere un valore nel campo chiave esterna della tabella correlata che non esiste nella chiave primaria della tabella primaria. Tuttavia, è possibile immettere un valore Null nella chiave esterna. Questo specifica che i record non sono correlati. Ad esempio, non è possibile avere un ordine assegnato a un cliente che non esiste. Tuttavia, è possibile avere un ordine assegnato a nessuno immettendo un valore Null nel campo CustomerID.
  • Non è possibile eliminare un record da una tabella primaria se esistono record corrispondenti in una tabella correlata. Ad esempio, non è possibile eliminare un record di dipendente dalla tabella "Dipendenti" se nella tabella "Ordini" sono stati assegnati ordini al dipendente.
  • Non è possibile modificare un valore della chiave primaria nella tabella primaria se quel record ha record correlati. Ad esempio, non è possibile modificare l'ID di un dipendente nella tabella "Dipendenti" se nella tabella "Ordini" sono stati assegnati ordini a tale dipendente.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.