Przejdź do głównej treści

Klucz główny w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Co to jest klucz główny?

Klucz główny (PRIMARY KEY) to kolumna lub zestaw kolumn, które jednoznacznie identyfikują każdy rekord w tabeli bazy danych. Dzięki niemu można bezbłędnie odwołać się do konkretnego wiersza, np. konkretnego użytkownika, produktu albo zamówienia.

Infografika przedstawiająca klucz główny w SQL: centralna tabela pracownicy z wyróżnioną kolumną id jako PRIMARY KEY ze złotą ikoną klucza.

Najważniejsze cechy klucza głównego

Wartość klucza głównego:

  • musi być unikalna — dwa rekordy nie mogą mieć tej samej wartości klucza głównego,
  • nie może być NULL — każdy rekord musi mieć określoną wartość identyfikującą,
  • może być typu liczbowego, tekstowego lub innego, zależnie od projektu bazy,
  • jest często wykorzystywana do tworzenia relacji między tabelami.

Klucz główny nie służy do szyfrowania danych. Jego zadaniem jest identyfikacja rekordów i zapewnienie spójności danych.

Przykład

CREATE TABLE uczniowie (
    id INT PRIMARY KEY,
    imie VARCHAR(50),
    nazwisko VARCHAR(50)
);

W tym przykładzie kolumna id jest kluczem głównym. Oznacza to, że każdy uczeń musi mieć inną wartość id i wartość ta nie może być pusta.

Klucz główny z AUTO_INCREMENT

Często klucz główny jest liczbą generowaną automatycznie:

CREATE TABLE produkty (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nazwa VARCHAR(100)
);

Nie jest to jednak obowiązkowe. Klucz główny może być także np. kodem tekstowym, jeśli gwarantuje unikalność.

Na egzaminie

Jeśli pytanie dotyczy wartości atrybutu pełniącego rolę klucza głównego, najważniejsza odpowiedź brzmi: musi być unikalna i nie może przyjmować wartości NULL.