Którą relację w projekcie bazy danych należy ustalić między tabelami widocznymi na rysunku zakładając, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień?

A. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
B. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
C. 1:1
D. n:n
Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.14-X-18.01).
Poprawna relacja to 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia. Jeden rekord w tabeli Klient opisuje jednego klienta, a z tym klientem może być powiązanych wiele rekordów w tabeli Zamówienie. Założenie, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień, oznacza minimalną liczność po stronie zamówień, ale nadal jest to relacja jeden do wielu. W modelu relacyjnym realizuje się ją najczęściej przez umieszczenie w tabeli Zamówienie klucza obcego wskazującego identyfikator klienta. Reguła do zapamiętania: jeśli jeden obiekt typu A może mieć wiele obiektów typu B, a każdy obiekt typu B należy do jednego obiektu typu A, stosuje się relację 1:n.
W tym przypadku trzeba odróżnić liczbę zamówień od liczby klientów przypisanych do jednego zamówienia. Relacja 1:1 oznaczałaby, że jeden klient ma dokładnie jedno zamówienie albo jedno zamówienie odpowiada dokładnie jednemu klientowi bez możliwości wielu zamówień dla tej samej osoby. Nie pasuje to do założenia o co najmniej dwóch zamówieniach klienta. Relacja 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta, odwraca sens powiązania - sugerowałaby, że jedno zamówienie może dotyczyć wielu klientów, co nie wynika z treści pytania. Relacja n:n byłaby właściwa, gdyby wielu klientów mogło współdzielić wiele zamówień i potrzebna byłaby tabela pośrednia. Poprawna odpowiedź to 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia. Typowy błąd polega na uznaniu, że informacja „przynajmniej dwa” automatycznie oznacza relację n:n, podczas gdy określa tylko minimalną liczność zamówień dla klienta.