Co powinno znaleźć się w KAŻDEJ tabeli, aby baza działała poprawnie i spójnie?
Źle. To dotyczy klucza obcego, nie głównego.
Źle. Klucz obcy nie jest potrzebny w KAŻDEJ tabeli.
Źle. Nie każda tabela musi mieć klucz obcy.
Dobrze. Każda tabela powinna mieć klucz główny.
Każda tabela powinna mieć klucz główny (
PRIMARY KEY) - pole o wartościach UNIKALNYCH i NIEPUSTYCH, które jednoznacznie identyfikuje każdy wiersz. Bez niego trudno odróżnić rekordy i utrzymać spójność. Dlatego w każdej tabeli potrzebny jest klucz główny.Klucz OBCY (
FOREIGN KEY) nie jest obowiązkowy w każdej tabeli - występuje tylko tam, gdzie istnieje powiązanie z inną tabelą. Dlatego warianty wymagające klucza obcego (z NOT NULL, UNIQUE) są błędne. Podstawą jest PRIMARY KEY - unikalny i niepusty.