Integralność referencyjna w modelu relacyjnych baz danych oznacza, że
A. każdemu kluczowi głównemu odpowiada dokładnie jeden klucz obcy w tabeli lub tabelach powiązanych.
Źle. Relacja jeden do wielu pozwala, by jednemu kluczowi głównemu odpowiadało wiele kluczy obcych albo żaden.
B. wartość klucza głównego oraz klucza obcego nie jest pusta.
Źle. Klucz obcy może być pusty (NULL), a zakaz pustego klucza głównego to integralność encji.
C. wartość klucza obcego w danej tabeli musi być albo równa wartości klucza głównego w tabeli z nią powiązanej albo równa wartości NULL.
Dobrze. Klucz obcy wskazuje istniejący klucz główny w tabeli powiązanej albo ma wartość NULL.
D. klucz główny lub klucz obcy nie zawierają wartości NULL.
Źle. NULL jest zabroniony tylko w kluczu głównym; klucz obcy może go przyjąć.
Pytanie z egzaminu CKE, styczeń 2015 (arkusz E.14-X-15.01).
Integralność referencyjna pilnuje, żeby klucz obcy nie wskazywał na coś, czego nie ma. Jeżeli w tabeli zamówień kolumna
id_klienta jest kluczem obcym, to każda jej wartość musi istnieć jako klucz główny w tabeli klientów. Dopuszczalna jest też wartość NULL, która oznacza, że powiązania po prostu nie ma, na przykład zamówienie nie ma jeszcze przypisanego klienta (o ile kolumna nie ma ograniczenia NOT NULL). Do zapamiętania: klucz obcy równa się istniejącemu kluczowi głównemu albo jest NULL. W SQL wymusza to ograniczenie FOREIGN KEY ... REFERENCES, a opcje ON DELETE i ON UPDATE decydują, co się stanie z rekordami powiązanymi, gdy usuniesz lub zmienisz rekord nadrzędny.Każda z błędnych odpowiedzi myli integralność referencyjną z inną regułą albo opisuje relację niezgodnie z jej naturą. Zdanie, że każdemu kluczowi głównemu odpowiada dokładnie jeden klucz obcy, nie zgadza się z typową relacją jeden do wielu: jeden klient może mieć wiele zamówień, a może też nie mieć żadnego. Zapisy, że klucz główny i klucz obcy nie mogą być puste ani zawierać NULL, są w połowie prawdziwe: klucz główny rzeczywiście nie może mieć NULL, ale to reguła integralności encji, a nie referencyjnej. Klucz obcy NULL przyjąć może i właśnie to przewiduje definicja integralności referencyjnej. Istotą tej reguły jest zgodność wartości klucza obcego z istniejącym kluczem głównym w tabeli powiązanej albo brak wartości. Przykład: zamówienie bez przypisanego klienta jest dopuszczalne, a zamówienie z numerem klienta, którego nie ma w tabeli klientów - nie.