W SQL "wartość pusta" w rozumieniu baz danych oznacza zwykle wartość NULL, czyli "brak danych", a nie pusty napis. Jeśli kolumna ma być obowiązkowa, należy nałożyć ograniczenie NOT NULL. To ograniczenie powoduje, że próba wstawienia rekordu bez wartości w tej kolumnie (albo jawnie z NULL) zostanie odrzucona przez system bazy danych.
Dlaczego poprawne jest NOT NULL?
- NOT NULL wprost definiuje, że kolumna nie może przyjmować NULL, więc skutecznie "zabezpiecza" przed brakiem wartości.
- Jest to typowy mechanizm integralności encji i spójności danych w tabelach (np. dla identyfikatorów, pól wymaganych w formularzach).
Dlaczego pozostałe odpowiedzi są niepoprawne?
- UNIQUE pilnuje, aby wartości w kolumnie (lub zestawie kolumn) się nie powtarzały. Nie jest to równoznaczne z zakazem NULL; w zależności od DBMS unikalność może dopuszczać wartości NULL (często traktowane specjalnie).
- DEFAULT ustawia wartość domyślną, gdy wstawiając rekord nie podasz wartości. Samo DEFAULT nie jest "blokadą" przed NULL: jeśli ktoś jawnie wstawi NULL (i kolumna na to pozwala), rekord może zostać przyjęty.
- NULL nie jest zabezpieczeniem, tylko informacją, że kolumna dopuszcza brak wartości.
W praktyce, projektując tabelę, często łączy się różne ograniczenia: PRIMARY KEY (identyfikacja wiersza), NOT NULL (wymagalność danych) oraz ewentualnie UNIQUE (unikalność innych atrybutów, np. e-mail). Na egzaminie warto pamiętać: unikalność ≠ obowiązkowość.