Na rysunku przedstawiono dwie tabele. Aby połączyć je relacją jeden do wielu, jeden po stronie Klienci, wiele po stronie Zamowienia, należy

Pytanie z egzaminu CKE, styczeń 2017 (arkusz E.14-X-17.01).
Należy dodać pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci. W relacji jeden do wielu klucz obcy zawsze trafia do tabeli po stronie „wiele”: każde zamówienie wskazuje jednego klienta, a jeden klient może mieć wiele zamówień, czyli wiele wierszy z tą samą wartością klucza obcego. Do zapamiętania: klucz obcy stoi tam, gdzie jest „wiele”. W SQL zapisuje się to np. jako FOREIGN KEY (klient_id) REFERENCES Klienci(ID) w definicji tabeli Zamowienia. Taki projekt pozwala potem łączyć dane zapytaniem z JOIN. Klucz obcy powinien mieć ten sam typ danych co klucz główny, na który wskazuje, np. INT.
Najczęstszy błąd to umieszczenie klucza obcego po stronie „jeden”. Gdyby to tabela Klienci wskazywała ID zamówienia, każdy klient mógłby mieć tylko jedno zamówienie - kierunek relacji byłby odwrócony. Połączenie samych pól ID obu tabel dałoby relację jeden do jednego: klient o ID 5 pasowałby tylko do zamówienia o ID 5, co nie ma sensu biznesowego. Trzecia tabela z dwoma kluczami obcymi to sposób na relację wiele do wielu, np. między zamówieniami a towarami, i tutaj jest zbędna. Przy relacji jeden do wielu wystarczy klucz obcy w tabeli Zamowienia, wskazujący ID w tabeli Klienci. Przy projektowaniu bazy pomaga pytanie: ile rekordów drugiej tabeli może dotyczyć jednego rekordu pierwszej. Jeden klient może złożyć wiele zamówień, ale każde zamówienie złożył jeden klient. Ta odpowiedź wskazuje stronę „wiele”, a tam właśnie umieszcza się klucz obcy.