Co oznacza integralność referencyjna w relacyjnych bazach danych?
A. klucz obcy musi równać się kluczowi głównemu powiązanej tabeli albo być
NULLDobrze. To istota integralności referencyjnej.
B. klucz główny i obcy nie zawierają wartości
NULLŹle. To samo - klucz obcy może być
NULL.C. klucz główny i obcy nie mogą być puste
Źle. Klucz obcy MOŻE być pusty (NULL).
D. każdemu kluczowi głównemu odpowiada dokładnie jeden klucz obcy
Źle. Zależność jest odwrotna i niekoniecznie „dokładnie jeden”.
Integralność referencyjna wymaga, by wartość klucza OBCEGO odpowiadała istniejącemu kluczowi głównemu w powiązanej tabeli albo była pusta (
NULL). Nie może wskazywać na nieistniejący rekord. Dlatego klucz obcy musi równać się kluczowi głównemu powiązanej tabeli albo być NULL.Pozostałe opisy są nieprecyzyjne. Klucz obcy MOŻE być pusty, więc warunki „nie mogą być puste / bez
NULL” są błędne. Jednemu kluczowi głównemu może odpowiadać WIELE kluczy obcych (relacja 1..n), nie „dokładnie jeden”. Integralność referencyjna to: klucz obcy wskazuje istniejący klucz główny albo jest NULL.