SQLPytanie 05 z 14
Ile kluczy głównych może mieć tabela?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Tabela ma najwyżej jeden PRIMARY KEY, ale może się on składać z wielu kolumn. Może natomiast posiadać wiele ograniczeń UNIQUE.
SQL
CREATE TABLE memberships (
user_id bigint,
team_id bigint,
PRIMARY KEY (user_id, team_id)
);Doprecyzowanie: klucz główny wymusza unikalność kombinacji i brak NULL w jego kolumnach. W przykładzie użytkownik może należeć do wielu zespołów, ale tylko raz do danego zespołu.
Pułapka: dwie kolumny w kluczu złożonym nie oznaczają dwóch kluczy głównych. Foreign key jest innym ograniczeniem — pilnuje odwołania do istniejących danych.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.