Spróbuj!
Co to jest relacja wiele-do-wielu?
Relacje wiele-do-wielu to najczęściej używany typ relacji między tabelami. Zapewniają istotne informacje, dotyczące na przykład tego, z którymi klientami kontaktowali się przedstawiciele handlowi, czy jakie produkty zostały zamówione przez klientów.
Relacja wiele-do-wielu istnieje, gdy element lub kilka elementów w jednej tabeli może mieć relację z elementem lub kilkoma elementami w innej tabeli. Na przykład:
-
Tabela Zamówienia zawiera zamówienia złożone przez wielu klientów (zapisanych w tabeli Klienci), a każdy klient może złożyć więcej niż jedno zamówienie.
-
Tabela Produkty zawiera poszczególne sprzedawane przez Ciebie produkty, które znajdują się w wielu zamówieniach w tabeli Zamówienia.
-
Jedno zamówienie może zawierać jedno wystąpienie (lub więcej niż jedno wystąpienie) określonego produktu i/lub jedno wystąpienie (lub więcej niż jedno wystąpienie) wielu produktów.
Na przykład zamówienie klientki Elżbiety Ostrowskiej numer 1012 może zawierać po jednym wystąpieniu produktów numer 12 i 15 oraz pięć wystąpień produktu numer 30.
Tworzenie relacji wiele-do-wielu
Relacje wiele-do-wielu tworzy się w inny sposób niż relacje jeden-do-jednego czy jeden-do-wielu. W przypadku tamtych relacji wystarczy połączyć odpowiednie pola linią. Aby utworzyć relacje wiele-do-wielu, konieczne jest utworzenie nowej tabeli, łączącej dwie inne tabele. Tę nową tabelę nazywa się tabelą pośrednią (inaczej tabelą łączącą lub tabelą skrzyżowań).
W opisanym powyżej scenariuszu należałoby utworzyć tabelę Szczegóły zamówień, której rekordy zawierają identyfikator z tabeli Zamówienia oraz identyfikator z tabeli Produkty dla wszystkich elementów w danym zamówieniu. Klucz podstawowy tej tabeli tworzy się przez połączenie kluczy z pozostałych dwóch tabel.
W naszym przykładzie zamówienie numer 1012 złożone przez Elżbietę Ostrowską zawiera produkty numer 12, 15 i 30. Oznacza to, że tabela Szczegóły zamówień zawiera następujące wpisy:
Identyfikator zamówienia |
Identyfikator produktu |
---|---|
1012 |
12 |
1012 |
15 |
1012 |
30 |
Elżbieta zamówiła po jednej sztuce produktów numer 12 i 15 oraz pięć sztuk produktu numer 30. Nie można dodać kolejnego wiersza zawierającego wartości 1012 i 30, ponieważ Identyfikator zamówienia i Identyfikator produktu razem tworzą klucz podstawowy tabeli, a klucze podstawowe muszą być unikatowe. Zamiast tego do tabeli Szczegóły zamówień należy dodać pole Ilość.
Identyfikator zamówienia |
Identyfikator produktu |
Ilość |
---|---|---|
1012 |
12 |
1 |
1012 |
15 |
1 |
1012 |
30 |
5 |
Tworzenie tabeli pośredniej
-
Wybierz pozycję Utwórz > Tabela.
-
Wybierz pozycję Zapisz .
-
W polu Nazwa tabeli wprowadź opisowy tytuł. Możesz dodać do tytułu tabeli słowo łącząca albo pośrednia, aby wskazać jej funkcję.
Tworzenie pól w tabeli pośredniej
Jako pierwsza kolumna tabeli Access automatycznie dodaje pole identyfikatora. Zmień to pole tak, aby odpowiadało identyfikatorowi pierwszej tabeli w tworzonej relacji wiele-do-wielu. Na przykład jeśli pierwsza tabela to tabela Zamówienia, zawierająca pole Identyfikator zamówienia, a jej klucz podstawowy ma postać liczbową, zmień nazwę pola Identyfikator w nowej tabeli na Identyfikator zamówienia, a następnie wybierz typ danych Liczba.
-
W widoku arkusza danych zaznacz nagłówek kolumny Identyfikator, a następnie wpisz nową nazwę pola.
-
Zaznacz pole, którego nazwę zmieniono.
-
Na karcie Pola tabeli w obszarze Typ danych wybierz typ danych zgodny z polem w oryginalnej tabeli, na przykład Liczba lub Krótki tekst.
-
Wybierz pozycję Kliknij, aby dodać, a następnie wybierz typ danych zgodny z kluczem podstawowym drugiej tabeli. W zaznaczonym już nagłówku kolumny wpisz nazwę pola klucza podstawowego z drugiej tabeli, na przykład Identyfikator produktu.
-
Jeśli chcesz wprowadzić jakiekolwiek inne informacje dotyczące tych rekordów, na przykład ilość danego elementu, utwórz dodatkowe pola.
Łączenie pól identyfikatora podstawowego
Po utworzeniu pól zawierających identyfikatory z obu tabel, które chcesz połączyć, utwórz klucz podstawowy tabeli pośredniej na podstawie tych identyfikatorów.
-
Otwórz tabelę pośrednią w widoku projektu.
-
Zaznacz oba wiersze zawierające identyfikatory. (Jeśli wykonano opisaną wcześniej procedurę, są to dwa pierwsze wiersze).
-
Wybierz pozycję Projekt tabeli > Klucz podstawowy.
Ikony klawiszy są wyświetlane obok obu pól identyfikatora.
Łączenie trzech tabel w celu utworzenia relacji wiele-do-wielu
Aby ukończyć tworzenie relacji wiele-do-wielu, utwórz relację jeden-do-wielu pomiędzy polem klucza podstawowego w każdej z tabel a odpowiednim polem w tabeli pośredniej. Aby zapoznać się ze szczegółowymi instrukcjami, zobacz Wprowadzenie do relacji między tabelami.
Po zakończeniu relacje powinny wyglądać następująco: