Klucz obcy w tabeli jest tworzony po to, aby
A. zdefiniować relację 1..n wiążącą go z kluczem głównym innej tabeli.
B. umożliwić jednoznaczną identyfikację rekordu w tabeli.
C. łączyć go z innymi kluczami obcymi tabeli.
D. stworzyć formularz wpisujący dane do tabeli.
Pytanie z egzaminu CKE, czerwiec 2019 (arkusz EE.09-X-19.06).
Klucz obcy w tabeli jest tworzony po to, aby zdefiniować relację 1..n wiążącą go z kluczem głównym innej tabeli. Mechanizm polega na tym, że kolumna lub zestaw kolumn w tabeli podrzędnej przechowuje wartości pochodzące z klucza głównego tabeli nadrzędnej. Dzięki temu baza kontroluje spójność referencyjną: nie powinien powstać rekord zamówienia z identyfikatorem klienta, którego nie ma w tabeli klientów. Reguła do zapamiętania: klucz główny identyfikuje rekord w swojej tabeli, a klucz obcy wskazuje rekord w innej tabeli. Typowy zapis SQL ma postać: FOREIGN KEY (id_klienta) REFERENCES klienci(id). W praktyce stosuje się to przy zależnościach typu klient - wiele zamówień albo kategoria - wiele produktów.
W tym pytaniu łatwo pomylić różne elementy projektowania bazy danych. Łączenie go z innymi kluczami obcymi tabeli nie opisuje typowego celu klucza obcego; klucz obcy zwykle wskazuje klucz główny albo klucz unikatowy w tabeli nadrzędnej, a nie inny klucz obcy. Stworzyć formularz wpisujący dane do tabeli dotyczy warstwy aplikacji lub narzędzia bazodanowego, na przykład formularza w systemie obsługi danych, a nie definicji relacji w strukturze tabel. Umożliwić jednoznaczną identyfikację rekordu w tabeli to zadanie klucza głównego, który musi wskazywać dokładnie jeden rekord i nie powinien się powtarzać. Poprawna odpowiedź brzmi: zdefiniować relację 1..n wiążącą go z kluczem głównym innej tabeli. Typowy błąd myślowy polega na traktowaniu każdego klucza jako identyfikatora rekordu, podczas gdy klucz obcy pełni rolę odwołania i pilnuje spójności między tabelami.