Accesso MS - Relazione molti-a-molti

In questo capitolo, comprendiamo la relazione molti-a-molti. Per rappresentare una relazione molti-a-molti, è necessario creare una terza tabella, spesso chiamata tabella di giunzione, che scompone la relazione molti-a-molti in due relazioni uno-a-molti. Per fare ciò, dobbiamo anche aggiungere una tabella di giunzione. Aggiungiamo prima un'altra tabellatblAuthers.

Creiamo ora un file many-to-many relationship. Abbiamo più di un autore che lavora su più di un progetto e viceversa. Come sai, abbiamo un campo Autore in tblProjects, quindi abbiamo creato una tabella per questo. Non abbiamo più bisogno di questo campo.

Seleziona il campo Autore e premi il pulsante Elimina e vedrai il seguente messaggio.

Clic Yes. Ora dovremo creare una tabella di giunzione. Questa tabella di giunzione contiene due chiavi esterne, come mostrato nello screenshot seguente.

Questi campi chiave esterna saranno le chiavi primarie delle due tabelle che erano collegate insieme - tblAuthers e tblProjects.

Per creare una chiave composta in Access, seleziona entrambi questi campi e dal file table tools design scheda, puoi fare clic direttamente su quella chiave primaria e questo non segnerà uno ma entrambi questi campi.

La combinazione di questi due campi è il tables’ unique identifier. Salviamo ora questa tabella cometblAuthorJunction.

L'ultimo passo per riunire le relazioni molti-a-molti è tornare a quello relationships view e creare quelle relazioni facendo clic su Show Table.

Seleziona le tre tabelle evidenziate sopra e fai clic sul pulsante Aggiungi, quindi chiudi questa finestra di dialogo.

Fare clic e trascinare il file AuthorID campo da tblAuthors e posizionalo sopra tblAuthorJunction tavolo AuthorID.

La relazione che stai creando è quella che Access considererà una relazione uno-a-molti. Applicheremo anche l'integrità referenziale. Accendiamoci oraCascade Update e fare clic sul file Create pulsante come nello screenshot sopra.

Tratteniamo ora il file ProjectID, trascinalo direttamente sopra ProjectID a partire dal tblAuthorJunction.

Noi Enforce Referential Integrity e Cascade Update Related Fields.

Le seguenti sono le relazioni molti-a-molti.