Do utworzenia czego niezbędne jest zdefiniowanie klucza obcego?
Źle. Transakcja to operacja na danych, nie wymaga klucza obcego.
Dobrze. Klucz obcy realizuje powiązanie między tabelami.
Źle. To zbyt wąskie - klucz obcy realizuje przede wszystkim 1..n.
Źle. Klucz podstawowy definiuje się niezależnie od obcego.
Klucz obcy jest niezbędny do utworzenia relacji jeden-do-wielu (1..n) - to on, umieszczony po stronie „wielu”, wskazuje klucz główny tabeli po stronie „jeden”. Dlatego klucz obcy potrzebny jest do relacji 1..n.
Klucz obcy służy do powiązań, a nie do innych celów. Transakcja to mechanizm spójności operacji, klucz PODSTAWOWY identyfikuje rekord, a relację 1..1 też realizuje się kluczem obcym, lecz klasycznym przykładem jego konieczności jest relacja jeden-do-wielu (1..n).