KWALIFIKACJA INF3 - STYCZEŃ 2021

PYTANIE NR 13.
Kolumna pełniąca rolę klucza głównego w tabeli musi
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Klucz główny służy do jednoznacznej identyfikacji każdego rekordu w tabeli, dlatego wartości w tej kolumnie muszą się nie powtarzać. Nie ma wymogu ciągłej numeracji ani typu liczbowego, a typ danych może być taki sam jak w innych kolumnach (ważna jest unikalność).

Pełne wyjaśnienie:

Klucz główny (PRIMARY KEY) to ograniczenie, którego zadaniem jest jednoznaczne wskazanie każdego wiersza w tabeli. Z tego powodu kolumna (lub zestaw kolumn) pełniąca rolę klucza głównego musi gwarantować, że żadne dwie krotki nie będą miały tej samej wartości klucza. Stąd poprawne jest stwierdzenie: "zawierać unikalne wartości".

W praktyce unikalność może być realizowana na różne sposoby: liczbowym identyfikatorem z sekwencji, UUID, kodem tekstowym, a nawet kluczem złożonym z kilku pól. To pokazuje, że:

  • Nie jest wymagana ciągła numeracja – numery mogą mieć luki (np. po usunięciu rekordu), a w wielu systemach klucz wcale nie jest numerem.
  • Nie jest wymagany typ liczbowy – klucz może być tekstem, identyfikatorem UUID itp., o ile spełnia warunek niepowtarzalności.
  • Nie musi być innego typu niż pozostałe kolumny – typ danych dobiera się do charakteru identyfikatora, a nie "dla odróżnienia". Inne kolumny mogą mieć ten sam typ (np. kilka pól tekstowych), klucz główny wciąż jest poprawny, jeśli zapewnia unikalność.

Ważna wskazówka egzaminacyjna: gdy w odpowiedziach pojawia się "ciągła numeracja" lub "wartości liczbowe", traktuj to jako częsty mit wynikający z popularnego wzorca kolumny id. Definicja klucza głównego opiera się na identyfikacji i unikalności, a nie na sposobie numerowania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Klucz główny (PRIMARY KEY) to kolumna lub zestaw kolumn, które jednoznacznie identyfikują każdy rekord w tabeli. Jego główną cechą jest brak powtórzeń wartości, dzięki czemu do jednego identyfikatora pasuje najwyżej jeden wiersz.
Bo służy do jednoznacznej identyfikacji rekordu. Gdyby wartości się powtarzały, nie dałoby się wskazać "tego jedynego" wiersza w zapytaniach i relacjach. Unikalność jest podstawą integralności danych i poprawnych powiązań między tabelami.
Nie. Ciągłość numeracji nie jest wymaganiem PRIMARY KEY. Luki mogą powstawać np. po usunięciu rekordów albo przy wycofaniu transakcji. Istotne jest tylko to, aby wartości klucza się nie powtarzały i identyfikowały rekord jednoznacznie.
Nie. Klucz główny może być liczbowy, tekstowy albo mieć format UUID – zależy od projektu. Warunkiem jest unikalność (i zwykle brak wartości pustych). W praktyce liczby są popularne, ale nie są jedyną poprawną formą identyfikatora.
Przykłady to: liczbowy identyfikator z sekwencji, UUID jako identyfikator zasobu, albo kod produktu, jeśli jest gwarantowanie unikalny. Klucz powinien stabilnie identyfikować rekord, a nie zmieniać się wraz z edycją danych opisowych.
PRIMARY KEY służy jako główna identyfikacja rekordu i wymusza unikalność; zwykle nie dopuszcza też wartości pustych. UNIQUE również wymusza unikalność, ale może być użyte dla pól, które nie są "głównym identyfikatorem" (np. email), i może występować wielokrotnie w tabeli.
Tak, to tzw. klucz złożony. Unikalna musi być wtedy kombinacja wartości z tych kolumn, a nie każda kolumna z osobna. Taki klucz bywa używany np. w tabelach łącznikowych relacji wiele-do-wielu.
Najczęściej używa się polecenia pokazującego definicję tabeli lub metadane schematu. W praktyce zależy to od systemu bazy danych (np. polecenia opisujące tabelę lub zapytania do katalogu systemowego). Szukasz informacji o ograniczeniu PRIMARY KEY.
Bo wiele przykładów szkolnych używa kolumny id jako liczby, co utrwala skojarzenie "klucz = liczba". To jednak tylko częsty wzorzec implementacyjny. Definicja klucza głównego mówi o unikalności identyfikacji, a nie o konkretnym typie danych.
Częsty błąd to wybór pola, które może się zmieniać (np. nazwa użytkownika) albo nie jest gwarantowanie unikalne. Inny błąd to zakładanie, że klucz musi "ładnie rosnąć" bez luk. Dobrze jest wybierać stabilne, jednoznaczne identyfikatory.
info

To pytanie poprawnie rozwiązuje 66% zdających egzamin. średnie

Według specjalistów z branży: "Klucz główny służy do jednoznacznej identyfikacji każdego rekordu w tabeli, dlatego wartości w tej kolumnie muszą się nie powtarzać."

Źródła:

  • PostgreSQL Documentation: "Constraints" → sekcja "Primary Keys" (PRIMARY KEY enforces uniqueness and NOT NULL), https://www.postgresql.org/docs/current/ddl-constraints.html (dostęp: 28.02.2026)
  • MySQL 8.0 Reference Manual: "CREATE TABLE Statement" → opis PRIMARY KEY i właściwości indeksu/unikalności, https://dev.mysql.com/doc/refman/8.0/en/create-table.html (dostęp: 28.02.2026)
  • SQLite Documentation: "CREATE TABLE" → opis PRIMARY KEY i znaczenia unikalności klucza, https://www.sqlite.org/lang_createtable.html (dostęp: 28.02.2026)

Materiały:

  • Dokumentacja PostgreSQL: rozdział o ograniczeniach tabel (constraints) i PRIMARY KEY
  • Dokumentacja MySQL: opis PRIMARY KEY oraz UNIQUE
  • Materiały do INF.3 z podstaw modelowania relacyjnego i SQL DDL (CREATE TABLE, constraints)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego