Usare le relazioni

Creare relazioni molti-a-molti

Il browser in uso non supporta le funzionalità video. Installare Microsoft Silverlight, Adobe Flash Player o Internet Explorer 9.

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

  1. Seleziona Crea > Tabella.

  2. Scegli Salva Salva .

  3. 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

Per la 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.

  1. In visualizzazione Foglio dati seleziona l'intestazione di colonna ID e digita il nuovo nome del campo.

  2. Seleziona il campo appena rinominato.

  3. Nella scheda Campi, in Tipo dati, seleziona un tipo di dati corrispondente al campo nella tabella originale, ad esempio Numero o Testo breve.

  4. 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.

  5. 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.

  1. In visualizzazione Progettazione apri la tabella intermedia.

  2. Seleziona entrambe le righe che contengono gli ID. Se hai seguito la procedura precedente, sono le prime due righe.

  3. Seleziona Progettazione > Chiave primaria.
    Accanto a entrambi i campi ID viene visualizzata l'icona di una chiave.

    Schermata di una chiave primaria in una tabella

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:

Schermata delle connessioni fra tre tabelle di database

Altre informazioni

Introduzione alle relazioni tra tabelle

Creare una relazione

Eliminare una relazione

Formazione su Excel

Formazione su Outlook

Una relazione molti-a-molti tra le tabelle è utile quando un singolo elemento in una tabella A può essere correlato a molti elementi in una tabella B e viceversa. Ad esempio, un prodotto può essere presente in molti ordini e un ordine può includere molti prodotti.

In questa demo espanderemo un database in un sistema di tracciamento degli ordini con tabelle per prodotti e ordini.

Osserveremo la tabella di collegamento e la chiave composta e le useremo con le altre tabelle per creare la relazione molti-a-molti.

Il primo passo per creare una relazione molti-a-molti è la creazione di una nuova tabella.

Questa tabella è detta "tabella intermedia" e la useremo per archiviare i dati provenienti dalle altre tabelle coinvolte nella relazione.

La tabella intermedia è definita anche tabella "di collegamento".

Il passaggio successivo è creare una coppia di relazioni uno-a-molti tra la tabella di collegamento e le altre tabelle coinvolte nella relazione.

In questo procedimento bisogna identificare questi due campi come chiave primaria della tabella di collegamento. Questa diventa la "chiave composta."

Creiamo la tabella di collegamento in visualizzazione Struttura, quindi selezioniamo Crea, Struttura tabella. Ecco la nuova tabella vuota.

Ora apriamo le tabelle Prodotti e Ordini.

Osserviamo le chiavi primarie per entrambe le tabelle. La tabella dei prodotti usa un campo Numerazione automatica denominato ID prodotto.

La chiave primaria per la tabella Ordini è denominata ID ordine ed è presente anche un campo Numerazione automatica.

Ora torniamo alla tabella di collegamento, in cui immettiamo lD prodotto, selezioniamo Numero, immettiamo l'ID ordine e quindi selezioniamo di nuovo Numero.

Ora selezioniamo entrambi i campi. Per farlo, posiziona il puntatore del mouse nella casella grigia accanto a uno dei campi e trascina.

Con entrambi i campi selezionati, sulla barra multifunzione seleziona Chiave primaria. In questo modo si crea la chiave composta per la tabella di collegamento.

Con entrambi i campi nella chiave composta verifica che ogni ordine e ogni articolo IN ogni ordine sia identificato in modo univoco.

Premi CTRL+S per salvare la tabella di collegamento e assegnale il nome Dettagli ordine.

Ora possiamo creare le relazioni. Prima di tutto, chiudi tutte le tabelle aperte. Seleziona Strumenti database, quindi Relazioni.

Nella scheda Progettazione seleziona Mostra tabella. Aggiungi le tabelle Dettagli ordine, Ordini e Prodotti. Ora chiudi la finestra di dialogo.

Disponi le tabelle in modo che Dettagli ordini, la tabella di collegamento, si trovi al centro. Trascina il campo ID ordine dalla tabella Ordini e rilascialo nella tabella di collegamento.

Nella finestra di dialogo Modifica relazioni seleziona Applica integrità referenziale e seleziona Crea per creare la relazione.

Procedi allo stesso modo con il campo ID prodotto. Seleziona Applica integrità referenziale, seleziona Crea ed è fatta.

Premi CTRL+S per salvare le modifiche al layout del diagramma della relazione.

Hai usato una tabella di collegamento e una chiave composta con le tabelle esistenti per creare una relazione molti-a-molti nel database di Access.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×