Condividi tramite


Mappare le relazioni molti-a-molti (Visual Database Tools)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAnalytics Platform System (PDW)

Le relazioni molti-a-molti consentono di correlare ogni riga di una tabella con molte righe in un'altra tabella e viceversa. Ad esempio, è possibile creare una relazione molti-a-molti tra la tabella authors e la tabella titles affinché ogni autore sia collegato a tutti i suoi libri e ogni libro sia collegato a tutti i suoi autori. Creare una relazione uno-a-molti da una delle tabelle indicherebbe erroneamente che ogni libro può essere scritto da un solo autore o che ogni autore può scrivere un solo libro.

Le relazioni molti-a-molti tra le tabelle vengono gestite nei database per mezzo delle tabelle di collegamento (junction table). Una tabella di collegamento contiene le colonne chiave primaria delle due tabelle da correlare. Successivamente si creerà una relazione dalle colonne chiave primaria di ognuna delle due tabelle alle corrispondenti colonne nella tabella di collegamento. Nel database pubs, la tabella titleauthor è una tabella di collegamento.

Creazione di una relazione molti-a-molti tra le tabelle

  1. Nel diagramma del tuo database, aggiungi le tabelle tra cui desideri creare una relazione molti-a-molti.

  2. Fare clic con il pulsante destro del mouse sul diagramma e scegliere Nuova tabella dal menu di scelta rapida per creare una terza tabella, Viene creata la tabella di giunzione.

  3. Nella finestra di dialogo Scegli nome modificare il nome di tabella assegnato automaticamente dal sistema. Ad esempio, la tabella di collegamento tra la tabella titles e la tabella authors ora si chiamerà titleauthors.

  4. Copiare nella tabella di collegamento le colonne chiave primaria presenti nelle altre due tabelle. Così come per qualsiasi altra tabella, è possibile aggiungere delle colonne.

  5. Nella tabella di collegamento impostare la chiave primaria in modo da includere tutte le colonne chiave primaria delle altre due tabelle. Per informazioni dettagliate, vedere Creare chiavi primarie.

  6. Definire una relazione uno-a-molti tra ciascuna delle due tabelle primarie e la tabella di collegamento. La tabella di collegamento dovrebbe essere sul lato "molti" di entrambe le relazioni che crei. Per informazioni dettagliate, vedere Creare relazioni di chiave esterna.

    Annotazioni

    La creazione di una tabella di giunzione in un diagramma di database non inserisce dati dalle tabelle correlate nella tabella di giunzione. Per informazioni sull'inserimento di dati in una tabella, vedere Create Insert Results queries (Visual Database Tools).