W relacyjnych bazach danych relacja jeden do wielu (1..N) oznacza, że jeden rekord w tabeli nadrzędnej może być powiązany z wieloma rekordami w tabeli podrzędnej. Kluczowe jest to, gdzie przechowuje się informację o powiązaniu.
Poprawne rozwiązanie to: "klucz obcy wskazujący na klucz podstawowy tabeli po stronie "jeden"". W praktyce w tabeli po stronie "wiele" (np. Zamówienia) dodaje się kolumnę (np. id_klienta), która jest kluczem obcym i przechowuje wartości klucza podstawowego z tabeli po stronie "jeden" (np. Klienci.id). Dzięki temu każdy rekord "wiele" wie, do którego rekordu nadrzędnego należy.
Dlaczego pozostałe odpowiedzi są niepoprawne:
- "klucz sztuczny odnoszący się do kluczy podstawowych obu tabel" – klucz sztuczny (surrogate key) to sposób identyfikacji rekordu, ale sam w sobie nie opisuje mechanizmu relacji 1..N. Nie zastępuje on klucza obcego, który faktycznie tworzy powiązanie między tabelami.
- "klucz obcy wskazujący na klucz obcy tabeli po stronie "jeden"" – w typowej relacji 1..N klucz obcy w tabeli "wiele" wskazuje klucz kandydujący lub najczęściej podstawowy tabeli "jeden". Wskazywanie na "klucz obcy" w tabeli nadrzędnej nie jest standardowym sposobem modelowania tej relacji i zwykle oznacza błędne zrozumienie roli tabeli nadrzędnej.
- "klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie "jeden"" – klucz podstawowy nie "wskazuje" na inny klucz; klucz podstawowy identyfikuje rekord we własnej tabeli. Do wskazywania rekordów w innej tabeli służy klucz obcy.
Wskazówka egzaminacyjna: jeżeli widzisz relację 1..N, zadaj sobie pytanie: "Która tabela ma wiele rekordów zależnych?" To właśnie tam trafia kolumna z identyfikatorem rekordu nadrzędnego, czyli FOREIGN KEY.