Relacja wiele do wielu (N:M) oznacza, że:
- jeden rekord z Tabela1 może odpowiadać wielu rekordom z Tabela3,
- i jednocześnie jeden rekord z Tabela3 może odpowiadać wielu rekordom z Tabela1.
W relacyjnych bazach danych taka relacja zazwyczaj nie jest implementowana jako bezpośredni klucz obcy pomiędzy dwiema tabelami, ponieważ pojedyncze pole nie może "przechować" wielu powiązań bez łamania zasad normalizacji. Zamiast tego stosuje się tabelę pośrednią (łącznikową/asocjacyjną), która zawiera co najmniej dwa klucze obce: jeden wskazujący na Tabela1 i drugi na Tabela3. Każdy wiersz tabeli pośredniej opisuje jedno konkretne skojarzenie.
Dlaczego pozostałe typy relacji nie pasują do sytuacji N:M?
- "Jeden do wielu" opisuje przypadek, w którym jeden rekord z jednej tabeli może mieć wiele rekordów w drugiej, ale w drugą stronę każdy rekord wskazuje na dokładnie jeden rekord (typowe "rodzic–dziecko"). Gdy obie strony mogą mieć wiele powiązań, to już nie jest 1:N.
- "Wiele do jednego" jest w praktyce tym samym co "jeden do wielu", tylko patrząc z przeciwnej strony relacji. To nadal nie oddaje symetrii N:M.
- "Jeden do jednego" występuje wtedy, gdy rekordy parują się pojedynczo (najczęściej wymaga to ograniczenia unikalności na kluczu obcym). Jeśli którakolwiek strona może mieć więcej niż jedno powiązanie, relacja przestaje być 1:1.
Wskazówka egzaminacyjna: jeśli w schemacie widzisz tabelę, która "łączy" dwie inne tabele i ma dwa (lub więcej) klucze obce, bardzo często oznacza to relację wiele do wielu pomiędzy tymi tabelami nadrzędnymi.