KWALIFIKACJA INF3 - STYCZEŃ 2024 (test 2)

PYTANIE NR 12.
Wskaż cechy wymagane dla klucza głównego.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Klucz główny służy do jednoznacznej identyfikacji każdego rekordu w tabeli. Z tego powodu musi być unikatowy oraz nie może przyjmować pustych wartości (NULL). Nie wynika z definicji, że ma mieć typ całkowity ani że musi składać się z jednego pola.

Pełne wyjaśnienie:

Klucz główny (PRIMARY KEY) to ograniczenie w tabeli relacyjnej bazy danych, którego celem jest jednoznaczna identyfikacja każdego rekordu. W praktyce oznacza to wymuszenie integralności encji: nie mogą istnieć dwa wiersze reprezentujące "ten sam" identyfikator.

Poprawna odpowiedź: "Jest unikatowy, nie może przyjmować pustych wartości." jest właściwa, ponieważ PRIMARY KEY łączy w sobie dwa kluczowe wymagania:

  • Unikatowość – każda wartość (lub kombinacja wartości, jeśli klucz jest złożony) musi wystąpić w tabeli najwyżej raz.
  • Brak wartości NULL – rekord musi mieć określony identyfikator; wartość "nieznana/brak" nie może pełnić roli identyfikatora.

Pozostałe odpowiedzi wprowadzają typowe nieporozumienia:

  • Stwierdzenie, że klucz główny "może przyjmować tylko wartości całkowite" jest błędne, bo PRIMARY KEY nie narzuca typu danych. Często stosuje się liczby całkowite dla identyfikatorów technicznych, ale spotyka się też klucze tekstowe (np. kody) czy klucze złożone.
  • Teza, że klucz główny jest "reprezentowany dokładnie przez jedno pole tabeli" jest nieprawdziwa, bo klucz główny może być złożony z wielu kolumn. Wiele baz danych pozwala zdefiniować PRIMARY KEY na kilku polach jednocześnie.
  • Wymóg, że "jego wartość nie może się zmieniać", nie jest cechą definicyjną PRIMARY KEY, tylko raczej dobra praktyka projektowa (stabilny identyfikator). Technicznie zmiana wartości klucza głównego bywa możliwa, choć może mieć konsekwencje dla powiązań i integralności referencyjnej.

W zadaniach egzaminacyjnych warto zapamiętać regułę: PRIMARY KEY = UNIQUE + NOT NULL. To najszybszy sposób oceny, czy opis cechy pasuje do klucza głównego.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Klucz główny to ograniczenie, które identyfikuje rekord w tabeli w sposób jednoznaczny. Oznacza to, że wartości klucza (lub ich kombinacja) nie mogą się powtarzać, a w rekordzie nie wolno pozostawić tego pola/pól jako NULL. To podstawa spójnych relacji między tabelami.
NULL oznacza brak/nieznaną wartość, a identyfikator rekordu musi być określony. Gdyby PRIMARY KEY dopuszczał NULL, nie dałoby się jednoznacznie wskazać konkretnego wiersza ani poprawnie tworzyć powiązań (kluczy obcych). Dlatego PRIMARY KEY wymusza brak NULL.
Tak. Sens klucza głównego polega na tym, że każdy rekord ma inny identyfikator. Unikatowość dotyczy pojedynczej kolumny albo zestawu kolumn (klucz złożony). Jeśli wartości mogłyby się powtarzać, nie byłoby możliwe jednoznaczne odwołanie do rekordu w relacjach i zapytaniach.
Nie. Często używa się liczb całkowitych (np. automatyczne identyfikatory), ale PRIMARY KEY nie narzuca typu danych. Kluczem może być też tekst (np. kod), data lub kombinacja kilku pól. Ważne są reguły: unikatowość i brak NULL, a nie to, czy wartość jest liczbą.
Klucz główny wymusza unikatowość i jednocześnie zakazuje NULL, a do tego pełni rolę podstawowego identyfikatora rekordu. Ograniczenie unikatowe również wymusza brak duplikatów, ale zwykle nie jest "głównym" identyfikatorem i w zależności od DBMS może inaczej traktować wartości NULL.
Tak, to tzw. klucz złożony. Wtedy unikatowa ma być kombinacja wartości z kilku pól, a każde z tych pól w ramach PRIMARY KEY nie może być NULL. Klucze złożone spotyka się np. w tabelach łączących relacje wiele-do-wielu albo w danych o naturalnym identyfikatorze wielopolowym.
Klucz główny jest najczęściej wskazywany przez klucze obce w innych tabelach. Dzięki temu można bezpiecznie łączyć dane (JOIN) i mieć pewność, że odwołanie dotyczy konkretnego rekordu. Bez stabilnego PRIMARY KEY relacje byłyby niejednoznaczne, a spójność danych trudna do utrzymania.
W wielu systemach można zmienić definicję lub wartości klucza głównego, ale jest to operacja ryzykowna i często wymaga uwzględnienia zależności (kluczy obcych, indeksów, aplikacji). Projektowo zaleca się, aby klucz główny był możliwie stabilny, bo ułatwia utrzymanie spójności danych.
Typowe błędy to: wybór pola, które nie jest naprawdę unikatowe; dopuszczenie NULL (np. przez złe ograniczenia); wybór atrybutu, który może się zmieniać biznesowo; oraz ignorowanie potrzeby klucza złożonego w tabelach łączących. Warto zawsze sprawdzić unikatowość w danych i reguły biznesowe.
Opanuj definicje: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL oraz ich skutki dla danych. Przećwicz DDL: tworzenie tabel i dodawanie ograniczeń oraz analizę, co wolno wstawić do tabeli. Pomaga reguła pamięciowa: PRIMARY KEY = unikatowość + brak NULL.
info

Około 60% zdających odpowiada poprawnie na to pytanie. średnie

Eksperci podkreślają: "Klucz główny służy do jednoznacznej identyfikacji każdego rekordu w tabeli."

Źródła:

  • PostgreSQL Documentation: "Constraints" → "PRIMARY KEY" (DDL constraints), https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-PRIMARY-KEY - accessed 2026-03-01
  • MySQL 8.0 Reference Manual: "CREATE TABLE Statement" → "PRIMARY KEY", https://dev.mysql.com/doc/refman/8.0/en/create-table.html - accessed 2026-03-01
  • Microsoft Learn (SQL Server): "Primary and Foreign Key Constraints", https://learn.microsoft.com/en-us/sql/relational-databases/tables/primary-and-foreign-key-constraints - accessed 2026-03-01

Materiały:

  • Dokumentacja wybranego systemu DBMS: sekcja o PRIMARY KEY i ograniczeniach tabel
  • Materiały o normalizacji (1NF–3NF) i integralności encji
  • Ćwiczenia praktyczne: tworzenie tabel z ograniczeniami (PRIMARY KEY, UNIQUE, NOT NULL)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego