Veel-op-veel-relaties in kaart brengen (Visuele databasetools)
van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)
Met veel-op-veel-relaties kunt u elke rij in de ene tabel koppelen aan veel rijen in een andere tabel en omgekeerd. U kunt bijvoorbeeld een veel-op-veel-relatie maken tussen de tabel authors
en de titles
tabel, zodat elke auteur overeenkomt met alle boeken en elk boek overeenkomt met alle auteurs. Het maken van een een-op-veel-relatie uit een van beide tabellen geeft ten onrechte aan dat elk boek slechts één auteur mag hebben of dat elke auteur slechts één boek kan schrijven.
Veel-op-veel-relaties tussen tabellen worden in databases ondergebracht door middel van verbindingstabellen. Een verbindingstabel bevat de primaire sleutelkolommen van de twee tabellen die u wilt relateren. Vervolgens maakt u een relatie van de primaire-sleutelkolommen van elk van deze twee tabellen naar de overeenkomende kolommen in de verbindingstabel. In de pubsdatabase is de titleauthor
tabel een verbindingstabel.
Een veel-op-veel-relatie tussen tabellen maken
Voeg in het databasediagram de tabellen toe waartussen u een veel-op-veel-relatie wilt maken.
Maak een derde tabel door met de rechtermuisknop op het diagram te klikken en Nieuwe tabel te kiezen in het snelmenu. Dit wordt de verbindingstabel.
Wijzig in het dialoogvenster Naam kiezen de naam van de door het systeem toegewezen tabel. De verbindingstabel tussen de
titles
tabel en de tabelauthors
heet nu bijvoorbeeldtitleauthors
.Kopieer de primaire-sleutelkolommen van elk van de andere twee tabellen naar de verbindingstabel. U kunt andere kolommen aan deze tabel toevoegen, net zoals u dat ook aan elke andere tabel kunt doen.
Stel in de verbindingstabel de primaire sleutel in om alle primaire-sleutelkolommen uit de andere twee tabellen op te nemen. Zie Procedure: Primaire sleutels makenvoor meer informatie.
Definieer een een-op-veel-relatie tussen elk van de twee primaire tabellen en de verbindingstabel. De verbindingstabel moet zich aan de 'meerdere'-kant van beide relaties bevinden die u maakt. Zie Procedure: Relaties tussen tabellen makenvoor meer informatie.
Notitie
Bij het maken van een verbindingstabel in een databasediagram worden geen gegevens uit de gerelateerde tabellen in de verbindingstabel ingevoegd. Zie Create Insert Results Querys (Visual Database Tools)voor meer informatie over het invoegen van gegevens in een tabel.