Mapuj relacje wiele-do-wielu (Visual Database Tools)
Dotyczy:programu SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)
Relacje wiele-do-wielu umożliwiają powiązanie każdego wiersza w jednej tabeli z wieloma wierszami w innej tabeli i odwrotnie. Można na przykład utworzyć relację wiele-do-wielu między tabelą authors
a tabelą titles
, aby dopasować każdego autora do wszystkich swoich książek i dopasować każdą książkę do wszystkich jej autorów. Utworzenie relacji jeden do wielu z obu tabel niepoprawnie wskazuje, że każda książka może mieć tylko jednego autora lub że każdy autor może napisać tylko jedną książkę.
Relacje wiele-do-wielu między tabelami są uwzględniane w bazach danych za pomocą tabel połączeń. Tabela połączeń zawiera kolumny klucza podstawowego dwóch tabel, które chcesz powiązać. Następnie utworzysz relację na podstawie kolumn klucza podstawowego każdej z tych dwóch tabel do pasujących kolumn w tabeli łączącej. W bazie danych pubs tabela titleauthor
jest tabelą łączącą.
Aby utworzyć relację wiele-do-wielu między tabelami
Na diagramie bazy danych dodaj tabele, między którymi chcesz utworzyć relację wiele do wielu.
Utwórz trzecią tabelę, klikając diagram prawym przyciskiem myszy i wybierając pozycję Nowa tabela z menu skrótów. Stanie się to tabelą skrzyżowań.
W oknie dialogowym Wybierz nazwę zmień nazwę tabeli przypisanej przez system. Na przykład tabela skrzyżowań między tabelą
titles
a tabeląauthors
ma teraz nazwętitleauthors
.Skopiuj kolumny klucza podstawowego z każdej z pozostałych dwóch tabel do tabeli łączącej. Możesz dodać inne kolumny do tej tabeli, tak jak do dowolnej innej tabeli.
W tabeli łączącej ustaw klucz podstawowy tak, aby zawierał wszystkie kolumny klucza podstawowego z obydwu pozostałych tabel. Aby uzyskać szczegółowe informacje, zobacz Jak tworzyć klucze podstawowe.
Zdefiniuj relację jeden do wielu między każdą z dwóch tabel podstawowych a tabelą łączącą. Tabela połączeń powinna znajdować się po stronie "wiele" obu utworzonych relacji. Aby uzyskać szczegółowe informacje, zobacz Jak tworzyć relacje między tabelami.
Notatka
Utworzenie tabeli skrzyżowań na diagramie bazy danych nie powoduje wstawiania danych z powiązanych tabel do tabeli skrzyżowań. Aby uzyskać informacje na temat wstawiania danych do tabeli, zobacz Create Insert Results Queries (Visual Database Tools).