KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 26.
Integralność referencyjna w modelu relacyjnych baz danych oznacza, że
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Integralność referencyjna wymaga, aby wartość klucza obcego wskazywała istniejący rekord w tabeli nadrzędnej: musi być równa wartości klucza głównego (lub kandydującego) w tabeli powiązanej, ewentualnie może być pusta, jeśli relacja dopuszcza brak powiązania. Pozostałe stwierdzenia mylą ją z zakazem wartości pustych lub relacją 1:1.

Pełne wyjaśnienie:

Integralność referencyjna w relacyjnych bazach danych opisuje spójność powiązań między tabelami. Jej sens jest praktyczny: jeśli w tabeli podrzędnej przechowujesz odwołanie (klucz obcy) do rekordu w tabeli nadrzędnej, to to odwołanie nie może "wisieć w powietrzu".

Dlatego poprawne jest stwierdzenie, że wartość klucza obcego musi odpowiadać istniejącej wartości klucza w tabeli powiązanej (najczęściej klucza głównego), a w wielu projektach może też być pusta, gdy związek jest opcjonalny (np. rekord może, ale nie musi mieć przypisanego rekordu nadrzędnego).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Stwierdzenie, że "klucz główny lub klucz obcy nie zawierają wartości pustych" miesza integralność referencyjną z innymi regułami. Klucz główny zazwyczaj nie może być pusty, ale klucz obcy bywa pusty, jeśli relacja dopuszcza brak powiązania. To nie jest definicja integralności referencyjnej.
  • Teza o tym, że "każdemu kluczowi głównemu odpowiada dokładnie jeden klucz obcy" narzuca relację 1:1. W praktyce najczęściej spotyka się relację 1:N (jeden rekord nadrzędny ma wiele rekordów podrzędnych), a integralność referencyjna nie wymaga "dokładnie jednego" powiązania.
  • Zdanie, że "wartość klucza głównego oraz klucza obcego nie jest pusta" również sprowadza temat do (nie)występowania wartości pustych. Integralność referencyjna dotyczy przede wszystkim tego, czy klucz obcy wskazuje istniejący rekord nadrzędny, a nie samego faktu bycia pustym.

W kontekście egzaminu warto zapamiętać regułę: FK → istniejący PK (albo brak powiązania, jeśli dopuszczone). To właśnie chroni bazę przed "osieroconymi" rekordami i ułatwia utrzymanie spójnych danych w aplikacjach internetowych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Integralność referencyjna to zasada spójności powiązań między tabelami: wartość klucza obcego w tabeli podrzędnej ma wskazywać istniejący rekord w tabeli nadrzędnej (zwykle przez zgodność z kluczem głównym), a czasem może być pusta, gdy relacja jest opcjonalna.
Klucz obcy to kolumna (lub zestaw kolumn), która przechowuje identyfikator rekordu z innej tabeli. Ograniczenie klucza obcego wymusza, by wprowadzona wartość była zgodna z istniejącą wartością klucza w tabeli nadrzędnej, co zapobiega tworzeniu "osieroconych" danych.
Wartość pusta w kluczu obcym bywa dopuszczalna, gdy powiązanie jest opcjonalne (rekord nie musi mieć rekordu nadrzędnego). Wtedy brak wartości oznacza "brak relacji", a nie naruszenie spójności. Jeśli relacja ma być obowiązkowa, ustawia się dodatkowo wymóg niepustości.
Nie. Integralność referencyjna dotyczy tego, czy klucz obcy wskazuje istniejący rekord w tabeli powiązanej. Zakaz wartości pustych to inna reguła (wymagalność pola), którą można wymusić osobno. W praktyce klucz główny zwykle nie bywa pusty, ale klucz obcy może być pusty zależnie od projektu.
Wykrywa i blokuje sytuacje, w których tabela podrzędna zawiera odwołanie do rekordu, który nie istnieje w tabeli nadrzędnej. Przykład: zamówienie z identyfikatorem klienta, którego nie ma w tabeli klientów. Bez tej zasady dane stają się niespójne i trudne do utrzymania.
Przy próbie dodania lub zmiany rekordu DBMS zwykle odrzuci operację i zwróci błąd naruszenia ograniczenia. To oznacza, że aplikacja musi najpierw utworzyć rekord nadrzędny albo użyć poprawnej wartości klucza, ewentualnie pozostawić pole puste, jeśli projekt na to pozwala.
Relacja 1:1 jest szczególnym przypadkiem, w którym jeden rekord z tabeli A odpowiada jednemu rekordowi w tabeli B. Sama integralność referencyjna tego nie wymusza; do 1:1 potrzebujesz zwykle dodatkowego ograniczenia unikalności po stronie klucza obcego. Bez tego najczęściej otrzymasz relację 1:N.
Klucz główny identyfikuje jednoznacznie rekord w swojej tabeli. Klucz obcy przechowuje wartość identyfikatora z innej tabeli i tworzy powiązanie między tabelami. W pytaniach egzaminacyjnych szukaj słów: "identyfikuje rekord" (główny) oraz "odwołuje się do innej tabeli" (obcy).
Spójność oznacza, że dane nie przeczą sobie nawzajem i spełniają przyjęte reguły (np. typy danych, zakresy, unikalność, powiązania). Integralność referencyjna jest jednym z filarów spójności: pilnuje, aby relacje między tabelami odzwierciedlały rzeczywiste powiązania w danych.
Przećwicz różnice między: kluczem głównym, kluczem obcym, unikalnością i niepustością. Rób krótkie zadania typu "co się stanie przy INSERT/DELETE", analizując, czy rekord nadrzędny istnieje. Pomaga też zapamiętanie, że integralność referencyjna dotyczy głównie zgodności FK z kluczem w tabeli nadrzędnej.
info

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

W praktyce zawodowej kluczowe jest to, że pozostałe stwierdzenia mylą ją z zakazem wartości pustych lub relacją 1:1.

Źródła:

  • PostgreSQL Documentation: "Foreign Keys" (Constraints), https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK (dostęp: 2026-02-27)
  • MySQL 8.0 Reference Manual: "FOREIGN KEY Constraints", https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html (dostęp: 2026-02-27)
  • Oracle Database Concepts: "Integrity Constraints" / referential integrity, https://docs.oracle.com/en/database/oracle/oracle-database/23/cncpt/integrity-constraints.html (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja DBMS: rozdziały o FOREIGN KEY i ograniczeniach integralności
  • Podręczniki do baz danych relacyjnych (model relacyjny, klucze, ograniczenia)
  • Kursy SQL dla początkujących: sekcje o CREATE TABLE i constraints

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego