Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Bazy danych

Kolumna pełniąca rolę klucza głównego w tabeli musi

A. być innego typu niż pozostałe kolumny.
B. zawierać unikalne wartości.
C. zawierać wartości liczbowe.
D. zawierać ciągłą numerację.

Pytanie z egzaminu CKE, styczeń 2021 (arkusz EE.09-SG-21.01).

Kolumna pełniąca rolę klucza głównego musi zawierać unikalne wartości, bo jej zadaniem jest jednoznaczna identyfikacja każdego rekordu w tabeli. W relacyjnych bazach danych klucz główny, czyli PRIMARY KEY, działa trochę jak numer PESEL dla osoby albo numer faktury w systemie sprzedaży: po tej wartości baza ma bez pomyłki znaleźć dokładnie jeden wiersz. Dodatkowo w praktyce klucz główny nie może przyjmować wartości NULL, bo brak wartości nie identyfikuje niczego konkretnego. Moim zdaniem to jedna z najważniejszych zasad przy projektowaniu tabel, bo od niej zależy później poprawne tworzenie relacji, kluczy obcych i zapytań SQL. Klucz nie musi mieć ciągłej numeracji, bo po usunięciu rekordu mogą zostać luki, i to jest normalne. Nie musi też być liczbą — może być np. kodem tekstowym, o ile jest stabilny i unikalny. Dobra praktyka branżowa często polega na używaniu sztucznego identyfikatora, np. id z autoinkrementacją, ale istotą nadal jest unikalność, nie sam typ danych.
W tym pytaniu łatwo pomylić cechy często spotykane w kluczach głównych z cechami obowiązkowymi. Klucz główny nie musi mieć ciągłej numeracji. W wielu tabelach identyfikatory wyglądają jak 1, 2, 3, 4, ale po usunięciu rekordu numer 3 może zniknąć i baza danych nadal jest poprawnie zaprojektowana. Ciągłość numerów nie jest wymagana przez model relacyjny ani przez SQL. Ważne jest tylko to, żeby każdy istniejący rekord dało się rozpoznać jednoznacznie. Podobnie wartości liczbowe są bardzo popularne, szczególnie przy polach typu INT z autoinkrementacją, ale to tylko wygodna praktyka, a nie twardy warunek. Kluczem głównym może być także tekst, na przykład symbol produktu, kod kraju albo login użytkownika, jeśli spełnia warunek unikalności i nie jest pusty. Nie ma też zasady, że kolumna klucza głównego musi mieć inny typ niż pozostałe kolumny. Typ danych dobiera się do sensu przechowywanej informacji, a nie po to, żeby wyróżnić kolumnę na siłę. Typowy błąd myślowy polega na tym, że ktoś widzi w przykładach pole id jako liczbę automatycznie zwiększaną i uznaje, że tak musi być zawsze. W rzeczywistości standardowa rola PRIMARY KEY polega na zapewnieniu unikalnej, niepustej identyfikacji wierszy oraz na umożliwieniu bezpiecznego tworzenia relacji między tabelami, np. przez klucze obce.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.