W celu stworzenia relacji wiele do wielu łączącej tabele A i B wystarczy, że
Pytanie z egzaminu CKE, czerwiec 2015 (arkusz E.14-X-15.05).
Relację wiele do wielu buduje się przez trzecią tabelę, tak zwaną tabelę pośredniczącą (łączącą), która ma klucze obce do obu tabel. Przykład: uczniowie i przedmioty. Uczeń chodzi na wiele przedmiotów, a na przedmiot chodzi wielu uczniów. Tabela zapisy z kolumnami id_ucznia i id_przedmiotu przechowuje każdą parę jako osobny wiersz.
W ten sposób jedna relacja wiele do wielu rozkłada się na dwie relacje jeden do wielu. Klucz główny tabeli pośredniczącej to zwykle para obu kluczy obcych, co blokuje dwukrotny zapis tej samej pary. Tabela łącząca może też przechowywać dane samego powiązania, na przykład datę zapisu albo ocenę.
Wybór połączenia tabel samymi kluczami obcymi bierze się z doświadczenia z relacją jeden do wielu, gdzie to wystarcza. Pole klucza obcego w wierszu mieści jednak tylko jedną wartość, więc wiersz tabeli B może wskazać najwyżej jeden wiersz tabeli A. Bez trzeciej tabeli nie da się zapisać, że jeden uczeń chodzi na wiele przedmiotów i jednocześnie przedmiot ma wielu uczniów.
Duplikowanie rekordów tabeli A w tabeli B to redundancja: te same dane leżą w kilku miejscach, a zmiana jednego z nich zostawia pozostałe nieaktualne. Normalizacja bazy ma właśnie temu zapobiegać.
Identyczne pola w obu tabelach nie tworzą żadnej relacji, bo relację wyznaczają klucze, a nie podobna budowa tabel. Poprawnym rozwiązaniem jest trzecia tabela z kluczami obcymi do tabel A i B, w której każdy wiersz zapisuje jedno powiązanie.