Súčasti logického a fyzického návrhu databázy

Obmedzenie typu NOT NULL

Pri definícii stĺpcov v databázovej tabuľke máme možnosť stanoviť, či majú byť v stĺpci povolené alebo zakázané hodnoty NULL. Hodnota NULL vyjadruje v relačnej databáze špeciálny kód, ktorý znamená, že pre daný riadok je údaj tohto stĺpca neznámy. To znamená, že hodnota NULL nie je úplne to isté čo prázdna číselná hodnota, prázdny reťazec alebo nula – je to skutočne špeciálny kód, ktorý v databáze nemá žiadny iný význam.

Hodnota NULL nie je rovná ničomu inému a to ani inej hodnote NULL, tak že pri vyhľadávaní v databáze vzniká zvláštna trojhodnotová logika. So zapojením hodnôt NULL môže operácia hľadania vrátiť pravdivostnú hodnotu TRUE (pravda) – hodnota stĺpca sa zhoduje, FALSE (nepravda) – hodnota stĺpca sa nezhoduje, alebo UNKNOWN (neznáma) – stĺpec obsahuje hodnotu NULL. Programátori, ktorí nad databázami píšu aplikačné programy, potom musia hodnoty NULL ošetriť ako špeciálny prípad.  

V MS Access definujeme obmedzenie typu NOT NULL pomocou voľby Je nutné zadať, ktorá sa nachádza na panely návrhového zobrazenia tabuľky. Ak sa pozrieme na obrázok 2.11 kde je znázornená definícia stĺpca Dátum narodenia v tabuľke Zamestnanci: pri tomto stĺpci je v parametre Je nutné zadať nastavené Nie, a preto hodnota nie je povinná a stĺpec povoľuje i hodnotu NULL. V jazyku SQL zapíšeme do definície príslušného stĺpca jednoducho kľúčové slovo NULL alebo NOT NULL.

Obrázok 2.11: Panel s definíciou tabuľky Zamestnanci, zvýraznený stĺpec Dátum narodenia