• Znaczenie pojęcia:

    wartość zerowa

    Pozostałe definicje na literę W.

    ang. null value, NULL, NIL

    Wartość atrybutu obiektu, wskaźnika lub innej danej, która jest nierelewantna w danej sytuacji lub z jakichś powodów nie została wpisana lub zainicjalizowana. Zwykle jest oznaczana jako NULL lub NIL. Można wyróżnić wiele powodów pojawiania się wartości zerowych, np.: (1) Pewien atrybut nie ma zastosowania dla konkretnego przypadku, np. atrybut NAZWISKO_PANIEŃSKIE dla mężczyzn; (2) Informacja jest nieznana, np. miejsce, gdzie został pochowany Mozart; (3) Informacja o przyszłości, np. wynik przyszłego meczu piłkarskiego; (4) Informacja jeszcze nie zapełniona; np. po wprowadzeniu danych pracownika jego zarobek jest wartością zerową, gdyż wypełni ją później inny proces; (5) Wartość zerowa jest sygnałem wartości domniemanej, np. jeżeli prawie wszyscy pracownicy są urzędnikami, to pole ZAWÓD wypełnia się tylko dla nie-urzędników. Częstą przyczyną wartości zerowych jest to, że informacja nie zawsze da się idealnie wpasować w ustalony format. Znacznie rzadszą przyczyną jest niekompletność informacji, tj. sytuacja, kiedy informacja istnieje, ale nie jest znana.Szczególną uwagę poświęca się wartościom zerowym w modelu i systemach relacyjnych, które są oparte na sztywnych formatach danych. Wartości zerowe leżą u podstaw definicji innych pojęć modelu relacyjnego, takich jak zewnętrzne złączenie (outer join). Okazuje się, że wartości zerowe zachowują się zupełnie inaczej, niż inne wartości, wobec czego wiele operacji w bazie danych musi je uwzględnić w postaci wydzielonego przepisu semantycznego.Wartości zerowe były powodem licznych prac teoretycznych; nie znalazły one jednak zastosowania w rzeczywistych systemach. Większość tych prac przyjmowało założenie, że wartość zerowa pojawia się wskutek niekompletnej informacji, co dla przeważającej ilości rzeczywistych przypadków było założeniem fałszywym. Co za tym idzie, wartości zerowe były powodem powstania wielu pseudoteorii. Ogólnie, próby ustalenia semantyki dla wartości zerowych są nieudane, gdyż w bardzo wielu przypadkach użytkownik lub programista jest jedynym autorytetem, który potrafi je zinterpretować.Z drugiej strony, doświadczenie pokazuje, że wartości zerowych nie da się uniknąć w żadnym rzeczywistym systemie bazy danych, zaś zastępowanie ich wartościami domyślnymi (default values) (np. 0, spacje lub pusty ciąg) zwiększa skłonność do błędów. Z tych powodów za słuszną trzeba uznać decyzję twórców języka SQL, gdzie podczas definiowania tablic można ustalić, że pewne ich kolumny mogą zawierać wartości zerowe. Takie kolumny należy rozumieć jako kolumny podwójne: w pierwszej kolumnie są przechowywane normalne wartości, zaś w drugiej informacja (boolowska) wskazująca miejsca, w których są wartości zerowe. Ta dychotomia jest przenoszona dalej na wszystkie interfejsy programistyczne: jeżeli taka wartość ma być podstawiona na zmienną, to należy zadeklarować dwie zmienne, jedną dla wartości, drugą (zwaną indicator variable) dla informacji o wartości zerowej. Język SQL jest wyposażony w szereg cech umożliwiających przetwarzanie tak rozumianych wartości zerowych, m.in. w specjalny predykat (is_null) testujący wystąpienie wartości zerowej, specjalną funkcję (if_null) pozwalającą zastąpić wartość zerową poprzez dowolną inną wartość, i specjalne traktowanie wartości zerowych w argumentach funkcji zagregowanych. Rozwiązania dotyczące wartości zerowych w SQL są przedmiotem dość ostrej kryty

    zerowa wartość,
    NIL NULL value null