KWALIFIKACJA INF3 - CZERWIEC 2021

PYTANIE NR 13.
Integralność encji w bazie danych zostanie zachowana, jeżeli między innymi
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Integralność encji oznacza, że każdy rekord w tabeli musi być jednoznacznie identyfikowalny.
Zapewnia to klucz główny (PRIMARY KEY), który wymusza unikalność i brak wartości pustych dla identyfikatora rekordu. Pozostałe odpowiedzi dotyczą typów danych, błędnych uogólnień o typie klucza lub integralności referencyjnej.

Pełne wyjaśnienie:

Integralność encji (entity integrity) to zasada modelu relacyjnego mówiąca, że każdy wiersz (rekord) w tabeli musi być możliwy do jednoznacznego wskazania. W praktyce realizuje się to przez zdefiniowanie klucza głównego (PRIMARY KEY), czyli atrybutu/zbioru atrybutów, które:

  • mają wartości unikalne dla każdego rekordu,
  • nie mogą być puste (w ujęciu klasycznym: nie dopuszczają NULL w identyfikatorze).

Dlatego poprawne jest stwierdzenie, że integralność encji zostanie zachowana m.in. wtedy, gdy dla każdej tabeli zostanie utworzony klucz główny (co zapewnia jednoznaczne "tożsamości" rekordów).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Każdej kolumnie zostanie przypisany typ danych" – typy danych pomagają kontrolować format i zakres wartości, ale same nie gwarantują unikalnej identyfikacji rekordów. Tabela może mieć typy danych, a nadal zawierać duplikaty.
  • "Klucz główny będzie zawsze liczbą całkowitą" – to zbyt kategoryczne. Klucz główny może być tekstem, UUID, albo kluczem złożonym z kilku kolumn; ważna jest unikalność, nie konkretny typ.
  • "Każdy klucz główny będzie miał odpowiadający mu klucz obcy w innej tabeli" – to miesza integralność encji z integralnością referencyjną. Klucz obcy jest potrzebny dopiero wtedy, gdy jakaś tabela rzeczywiście ma relację do innej; nie jest to wymóg dla każdego PRIMARY KEY.

Wskazówka egzaminacyjna: jeśli w odpowiedzi pojawia się słowo "zawsze", sprawdź, czy nie jest to fałszywe uogólnienie. W bazach danych wiele zasad ma wyjątki zależne od projektu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Integralność encji to zasada relacyjnych baz danych, że każdy rekord w tabeli musi być jednoznacznie identyfikowalny. Najczęściej realizuje się ją przez zdefiniowanie klucza głównego, który wymusza unikalność identyfikatora i zapobiega powstawaniu "nieoznaczonych" wierszy.
Klucz główny (PRIMARY KEY) narzuca reguły, dzięki którym nie mogą istnieć dwa rekordy o tym samym identyfikatorze. W praktyce DBMS pilnuje unikalności wartości klucza i tego, aby identyfikator rekordu był określony. To daje możliwość pewnego wskazania konkretnego wiersza.
W typowym projektowaniu relacyjnych baz danych tak: dla każdej tabeli wyznacza się atrybut (lub zestaw atrybutów), który identyfikuje rekord. W SQL najczyściej zapisuje się to jako PRIMARY KEY. Brak klucza utrudnia aktualizacje, relacje i kontrolę duplikatów.
Typ danych ogranicza format (np. liczby, daty, tekst), ale nie mówi nic o unikalności rekordu. Można mieć poprawne typy, a nadal wprowadzić dwie identyczne krotki. Integralność encji dotyczy identyfikacji rekordu, a nie samej poprawności formatu wartości.
Nie. Klucz główny może być różnego typu: liczbą, tekstem, UUID lub kluczem złożonym z kilku kolumn. Ważne są cechy klucza: jednoznaczność i stabilność identyfikatora. Liczba całkowita bywa wygodna, ale nie jest wymogiem integralności encji.
Integralność encji dotyczy pojedynczej tabeli: każdy rekord ma unikalny identyfikator (PRIMARY KEY). Integralność referencyjna dotyczy relacji między tabelami: klucz obcy (FOREIGN KEY) musi wskazywać istniejący rekord w tabeli nadrzędnej lub spełniać reguły dopuszczające brak powiązania.
Nie. Klucz obcy występuje tylko wtedy, gdy inna tabela ma potrzebe przechowywania odwołania do rekordów tej tabeli. Wiele tabel może mieć PRIMARY KEY, do którego nikt się nie odwołuje. To nie łamie integralności encji, bo ta dotyczy identyfikacji wierszy w obrębie tabeli.
Najczęstsze pomyłki to mieszanie PRIMARY KEY z FOREIGN KEY oraz przyjmowanie, że "klucz to zawsze liczba". Uważa się też, że typ danych lub indeks automatycznie zapewniają integralność. W testach szukaj odpowiedzi mówiącej o jednoznacznej identyfikacji rekordu.
Najczęściej przez dodanie ograniczenia PRIMARY KEY w definicji tabeli, np. w stylu: CONSTRAINT ... PRIMARY KEY (...). Składnia zależy od DBMS, ale idea jest wspólna: wskazujesz kolumnę/kolumny, które mają jednoznacznie identyfikować rekord i być kontrolowane przez system bazy danych.
Gdy pojedyncza kolumna nie identyfikuje rekordu wystarczająco dobrze, a unikalność wynika z kombinacji kilku atrybutów (np. tabela łącząca wiele-do-wielu). Klucz złożony nadal spełnia integralność encji, bo to zestaw wartości jednoznacznie wskazuje wiersz.
info

Statystycznie 56% uczniów zna prawidłową odpowiedź. średnie

Według specjalistów z branży: "Pozostałe odpowiedzi dotyczą typów danych, błędnych uogólnień o typie klucza lub integralności referencyjnej."

Źródła:

  • Oracle Database Concepts (19c) – rozdział "Data Integrity" oraz sekcja o PRIMARY KEY constraints, https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/data-integrity.html - dostęp 2026-02-18
  • Microsoft Learn – SQL: PRIMARY KEY constraint (dokumentacja), https://learn.microsoft.com/en-us/sql/relational-databases/tables/primary-and-foreign-key-constraints - dostęp 2026-02-18
  • Silberschatz, Korth, Sudarshan, "Database System Concepts", 7th Edition, rozdział o ograniczeniach integralności (entity integrity, key constraints) – źródło książkowe (bez wskazania stron w tej weryfikacji)

Materiały:

  • Dokumentacja SQL danego systemu (PRIMARY KEY, CONSTRAINTS)
  • Podręcznik do baz danych omawiający ograniczenia integralności (entity vs referential integrity)
  • Kurs praktyczny SQL z ćwiczeniami tworzenia tabel i kluczy

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego