Prova
Che cos'è una relazione molti-a-molti?
Le relazioni molti-a-molti sono le relazioni tra tabelle più usate. Forniscono informazioni cruciali, ad esempio quali clienti sono stati contattati dal personale di vendita e quali prodotti sono inclusi negli ordini dei clienti.
Una relazione molti-a-molti si ha quando uno o più elementi di una tabella possono avere una relazione con uno o più elementi di un'altra tabella. Ad esempio:
-
La tabella Ordini contiene gli ordini effettuati da più clienti (elencati nella tabella Clienti) e ogni cliente può effettuare più ordini.
-
La tabella Prodotti contiene i singoli prodotti venduti, che fanno parte dei vari ordini inclusi nella tabella Ordini.
-
Un ordine può includere una o più istanze di uno specifico prodotto e una o più istanze di più prodotti.
Ad esempio, il numero d'ordine 1012 della cliente Fiamma Greco potrebbe contenere un'unità dei prodotti 12 e 15 e cinque unità del prodotto 30.
Creare relazioni molti-a-molti
Le relazioni molti-a-molti si creano in modo diverso dalle relazioni uno-a-uno o uno-a-molti. Per queste ultime due basta collegare i campi appropriati con una linea. Per creare relazioni molti-a-molti, devi invece creare una nuova tabella per collegare le altre due. Questa nuova tabella è detta tabella intermedia (o anche tabella di collegamento o di giunzione).
Nello scenario sopra descritto creerai una tabella Dettagli ordine con record che contengono, per ogni articolo in ciascun ordine, l'ID contenuto nella tabella Ordini e l'ID contenuto nella tabella Prodotti. Devi creare una chiave primaria per quella tabella usando le chiavi combinate delle due tabelle.
Nel nostro scenario il numero d'ordine 1012 della cliente Fiamma Greco è costituito dai prodotti 12, 15 e 30. Le voci della tabella Dettagli ordine hanno quindi questo aspetto:
ID ordine |
ID prodotto |
---|---|
1012 |
12 |
1012 |
15 |
1012 |
30 |
Fiamma ha ordinato un'unità dei prodotti 12 e 15 e cinque unità del prodotto 30. Non si può aggiungere un'altra riga con 1012 e 30 perché i campi ID ordine e ID prodotto combinati formano la chiave primaria, e le chiavi primarie devono essere univoche. Aggiungeremo invece un campo Quantità alla tabella Dettagli ordine.
ID ordine |
ID prodotto |
Quantità |
---|---|---|
1012 |
12 |
1 |
1012 |
15 |
1 |
1012 |
30 |
5 |
Creare una tabella intermedia
-
Seleziona Crea > Tabella.
-
Seleziona Salva .
-
In Nome tabella immetti un titolo descrittivo. Per indicare lo scopo della tabella, puoi includere giunzione o intermedia nel nome.
Creare campi nella tabella intermedia
Come prima colonna della tabella, Access aggiunge automaticamente un campo ID. Modifica questo campo in modo che corrisponda all'ID della prima tabella della relazione molti-a-molti. Ad esempio, se la prima tabella è una tabella ordini denominata ID ordine e la sua chiave primaria è un numero, cambia il nome del campo ID nella nuova tabella in ID ordine e, come tipo di dati, usa Numero.
-
In visualizzazione Foglio dati seleziona l'intestazione di colonna ID e digita il nuovo nome del campo.
-
Seleziona il campo appena rinominato.
-
Nella scheda Campi tabella , in Tipo di dati, selezionare un tipo di dati corrispondente al campo della tabella originale, ad esempio Numero o Testo breve.
-
Seleziona Fare clic per aggiungere e quindi seleziona un tipo di dati corrispondente alla chiave primaria nella seconda tabella. Nell'intestazione di colonna, che è già selezionata, digita il nome del campo di chiave primaria della seconda tabella, ad esempio ID prodotto.
-
Se devi tenere traccia di altre informazioni su questi record, ad esempio la quantità degli articoli, crea ulteriori campi.
Combinare campi ID primari
Dopo che hai creato i campi che contengono gli ID delle due tabelle da collegare, devi creare una chiave primaria, basata su tali ID, nella tabella intermedia.
-
In visualizzazione Progettazione apri la tabella intermedia.
-
Seleziona entrambe le righe che contengono gli ID. Se hai seguito la procedura precedente, sono le prime due righe.
-
Selezionare Struttura tabella > chiave primaria.
Le icone chiave vengono visualizzate accanto a entrambi i campi ID.
Collegare le tre tabelle per creare la relazione molti-a-molti
Per completare la relazione molti-a-molti, crea una relazione uno-a-molti tra il campo di chiave primaria in ogni tabella e il campo corrispondente nella tabella intermedia. Per istruzioni dettagliate, vedi Introduzione alle relazioni tra tabelle.
Al termine della procedura, le relazioni dovrebbero avere un aspetto simile al seguente: