Klauzula PRIMARY KEY w definicji tabeli (CREATE TABLE) służy do wskazania atrybutu (kolumny) albo zestawu atrybutów, które będą kluczem podstawowym tabeli. W praktyce oznacza to, że wybrane pole/pola mają identyfikować każdy rekord jednoznacznie, czyli nie dopuszcza się duplikatów. W wielu systemach baz danych PRIMARY KEY wiąże się także z zakazem wartości pustych w kolumnach klucza.
Dlaczego poprawna jest odpowiedź "kluczem podstawowym"? Ponieważ PRIMARY KEY to właśnie deklaracja klucza podstawowego – jest to pojęcie z modelu relacyjnego oraz mechanizm wymuszania integralności encji. Klucz podstawowy jest później typowo wykorzystywany jako punkt odniesienia dla relacji, np. gdy inna tabela definiuje odwołanie poprzez FOREIGN KEY.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- "indeksem klucza" – to nie jest standardowe, jednoznaczne pojęcie SQL opisujące efekt PRIMARY KEY. Wewnętrznie DBMS może tworzyć indeks wspierający egzekwowanie unikalności, ale semantycznie PRIMARY KEY pozostaje ograniczeniem i definicją klucza, a nie "typem indeksu" jako celu samego w sobie.
- "indeksem unikalnym" – UNIQUE i PRIMARY KEY są podobne (obie konstrukcje wymagają unikalności), ale PRIMARY KEY ma dodatkową rolę: wskazuje główny identyfikator wiersza oraz (zwykle) nie dopuszcza NULL. Unikalny indeks/ograniczenie UNIQUE nie jest tym samym co klucz podstawowy.
- "kluczem obcym" – FOREIGN KEY służy do tworzenia powiązań między tabelami i wskazuje kolumnę odwołującą się do klucza w innej tabeli (najczęściej do PRIMARY KEY). PRIMARY KEY nie tworzy odwołania do innej tabeli, tylko definiuje identyfikator w tej samej tabeli.
Wskazówka egzaminacyjna: zapamiętaj, że PRIMARY KEY = identyfikator rekordu w tabeli, a FOREIGN KEY = odwołanie do rekordu w innej tabeli. UNIQUE dotyczy unikalności, ale nie ustanawia "głównego" klucza tabeli.