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.