Relacja wiele-do-wielu (N:M) zachodzi wtedy, gdy:
- jeden rekord encji A może być powiązany z wieloma rekordami encji B, i jednocześnie
- jeden rekord encji B może być powiązany z wieloma rekordami encji A.
W sklepie internetowym klasycznym przykładem jest para zamówienie–produkt. Jedno zamówienie zwykle składa się z wielu produktów (koszyk/pozycje), a ten sam produkt może zostać kupiony w wielu zamówieniach różnych klientów w różnym czasie. To dokładnie opis: "Każde zamówienie może zawierać wiele produktów, a każdy produkt może być w wielu zamówieniach".
W modelu relacyjnym relacji N:M nie realizuje się jednym kluczem obcym wprost, tylko przez tabelę pośredniczącą (asocjacyjną), np. "pozycje_zamówienia". Taka tabela zawiera co najmniej dwa klucze obce: do zamówienia i do produktu, a często także atrybuty relacji (np. ilość, cena w momencie zakupu).
Pozostałe odpowiedzi opisują inne typy relacji lub sztuczne ograniczenia:
- "Każdy produkt może być przypisany tylko do jednej kategorii" opisuje relację wiele-do-jednego (z perspektywy produktu) lub jedna-do-wielu (kategoria ma wiele produktów), a nie N:M.
- "Każdy klient może złożyć tylko jedno zamówienie" to relacja jeden-do-jednego (albo 1:0..1), bo klient nie może mieć wielu zamówień.
- "Każda transakcja płatnicza jest przypisana do jednego zamówienia" wskazuje typowo relację jeden-do-jednego lub wiele-do-jednego (zależnie od założeń o liczbie płatności), ale w podanym brzmieniu nie tworzy N:M.
Na egzaminie warto szukać w treści dwóch niezależnych "wiele" po obu stronach relacji oraz pamiętać, że N:M niemal zawsze implikuje potrzebę tabeli łączącej.