KWALIFIKACJA INF3 - TEST WIEDZY NR 3

PYTANIE NR 22.
CREATE TABLE Klienci
(
    ID_Klienta int NOT NULL,
    Imię varchar(255) NOT NULL,
    Nazwisko varchar(255),
    Email varchar(255),
    PRIMARY KEY (ID_Klienta)
);
Analizując powyższy kod SQL, określ, który atrybut jest kluczem głównym w tabeli "Klienci"?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W definicji tabeli klucz główny wskazuje ograniczenie PRIMARY KEY. W kodzie zapis PRIMARY KEY (ID_Klienta) oznacza, że kolumna "ID_Klienta" jednoznacznie identyfikuje każdy rekord. Pozostałe kolumny nie są oznaczone jako klucz główny.

Pełne wyjaśnienie:

W poleceniu CREATE TABLE można zdefiniować nie tylko kolumny (atrybuty) i ich typy, ale też ograniczenia integralności tabeli. Kluczowe jest tu ograniczenie PRIMARY KEY, czyli klucz główny.

W pokazanym kodzie znajduje się zapis: PRIMARY KEY (ID_Klienta). Oznacza to, że kolumna "ID_Klienta" jest wybrana jako identyfikator wiersza. W praktyce klucz główny powinien spełniać dwie podstawowe własności: unikalność (brak duplikatów) oraz brak wartości NULL. Dlatego często łączy się go z zapisem NOT NULL (w wielu systemach wymóg NOT NULL dla klucza głównego jest narzucony automatycznie).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Imię" – mimo że ma NOT NULL, nie jest wskazane w PRIMARY KEY. Dodatkowo imiona mogą się powtarzać, więc zwykle nie nadają się na identyfikator.
  • "Nazwisko" – brak NOT NULL i brak wskazania w PRIMARY KEY. Nazwiska również często się powtarzają.
  • "Email" – choć w praktyce bywa ustawiany jako unikalny, tutaj nie ma ograniczenia PRIMARY KEY ani UNIQUE. Sama obecność kolumny "Email" nie czyni jej kluczem.

Wskazówka egzaminacyjna: gdy w kodzie występuje fragment PRIMARY KEY (...), odpowiedź zwykle znajduje się dokładnie w nawiasie. Warto jednak uważać na przypadki, gdy klucz główny jest złożony (kilka kolumn w nawiasie) — wtedy pytanie powinno to jednoznacznie uwzględniać.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Klucz główny to kolumna (lub zestaw kolumn), która jednoznacznie identyfikuje każdy rekord w tabeli. W SQL jest definiowany ograniczeniem PRIMARY KEY. Wartości klucza głównego nie powinny się powtarzać i nie mogą być puste.
Szukaj ograniczenia PRIMARY KEY. Może wystąpić na końcu definicji tabeli (np. PRIMARY KEY (kolumna)) albo przy samej kolumnie. Nazwa kolumny wskazana w nawiasie po PRIMARY KEY jest kluczem głównym.
To konwencja projektowa: "ID" sugeruje, że kolumna jest identyfikatorem rekordu. Sama nazwa nie nadaje jednak roli klucza — decyduje dopiero ograniczenie PRIMARY KEY (lub w niektórych projektach także UNIQUE), zdefiniowane w SQL.
Nie. NOT NULL oznacza tylko zakaz wartości pustej. Klucz główny wymaga dodatkowo unikalności i musi być wskazany jako PRIMARY KEY. Wiele kolumn może mieć NOT NULL, ale tylko jedna definicja PRIMARY KEY (czasem złożona) obowiązuje w tabeli.
Może, ale tylko jeśli projekt tego wymaga i zapewnisz unikalność oraz stabilność wartości. W praktyce częściej nadaje się emailowi ograniczenie UNIQUE, a kluczem głównym zostaje sztuczne "ID". W pokazanym kodzie email nie jest kluczem, bo nie ma PRIMARY KEY.
PRIMARY KEY wymusza, aby każdy rekord miał unikalny identyfikator. Ułatwia łączenie tabel (relacje), poprawia spójność danych i zwykle tworzy indeks wspierający wyszukiwanie po kluczu. Dzięki temu operacje aktualizacji/usuwania rekordów są bezpieczniejsze.
Klucz złożony to PRIMARY KEY zbudowany z kilku kolumn, np. PRIMARY KEY (A, B). Stosuje się go, gdy pojedyncza kolumna nie identyfikuje rekordu, ale ich kombinacja już tak (np. tabela pozycji zamówienia: numer zamówienia + numer pozycji).
PRIMARY KEY identyfikuje rekord i w tabeli jest jeden (może być złożony). UNIQUE również wymusza brak duplikatów, ale takich ograniczeń może być kilka, a w niektórych DBMS dopuszcza wartości NULL. UNIQUE nadaje się np. dla emaila, loginu lub numeru dokumentu.
Ograniczenia można zapisać na dwa sposoby: jako ograniczenie kolumny (przy definicji kolumny) albo jako ograniczenie tabeli (np. na końcu w nawiasach definicji CREATE TABLE). W obu przypadkach sens jest ten sam: wskazują zasady integralności danych.
Ćwicz czytanie krótkich fragmentów DDL: CREATE TABLE, PRIMARY KEY, FOREIGN KEY, UNIQUE i NOT NULL. Rób zadania, w których wskazujesz klucze w tabelach oraz przewidujesz skutki wstawiania duplikatów. To typowy obszar na egzaminie praktycznym.
info

To pytanie poprawnie rozwiązuje 71% zdających egzamin. średnio łatwe

Specjaliści zwracają uwagę: "W definicji tabeli klucz główny wskazuje ograniczenie PRIMARY KEY."

Źródła:

  • MySQL 8.0 Reference Manual: CREATE TABLE Statement (PRIMARY KEY) - https://dev.mysql.com/doc/refman/8.0/en/create-table.html - dostęp 2026-03-01
  • PostgreSQL Documentation: SQL CREATE TABLE (Constraints, PRIMARY KEY) - https://www.postgresql.org/docs/current/sql-createtable.html - dostęp 2026-03-01
  • Microsoft Learn: PRIMARY KEY constraints (SQL Server) - https://learn.microsoft.com/en-us/sql/relational-databases/tables/primary-and-foreign-key-constraints - dostęp 2026-03-01

Materiały:

  • Dokumentacja DBMS: sekcja CREATE TABLE i PRIMARY KEY (np. MySQL/PostgreSQL/SQL Server)
  • Ćwiczenia DDL: tworzenie tabel z różnymi ograniczeniami (PRIMARY KEY, UNIQUE, FOREIGN KEY)
  • Materiały do INF.3 z projektowania relacyjnych baz danych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego