3.1. A határozatlan érték

iDevice ikon

Minden logikai függvény ill. feltétel előtt tisztáznunk kell egy fontos, adattípustól független érték, az ismeretlen érték fogalmát. 

Az SQL-alapú adatrendszerek standard adattípusait (számszerűek, karakteresek, logikai, dátumtípusúak) és alapműveleteiket megismertük az Adatbáziskezelés I keretében. Vannak esetek, amikor az adatbázis egyes mezőibe nem tudunk határozott értéket elhelyezni, ezért határozatlan tartalmúnak tekintjük. Szerencsétlen angol kifejezéssel: a mező tartalma NULL-érték (nem létező, ismeretlen érték). 

Adattáblák oszlopaira megtilthatjuk az előfordulását.

A NULL-értéket tartalmazó kifejezések eredménye is ismeretlen lesz (kivétel a logikai vagy-művelet, melynek ha az egyik tagja igaz, akkor az eredmény már igaz).

 

Példa: 

Adott a köv. tábla egy olyan adatbázis részleteként, melyben a diákok feladataik megoldására kapott pontokat tároljuk, ill. a plusz-pontokat, ha további, merőben más megoldásuk is értékelhető volt. 

MEGOLDÁS {diák_kód, feladat_szám, pont_érték, plusz_pont}

Jelen esetben világos, hogy a leírók közül a pont_érték bizonyára korlátozandó: legalább nulla és legfeljebb egy előírt (másik táblában tárolt) érték. A plusz_pont pedig értelemszerűen nulla is lehet.

Abban az esetben, ha egy / az összes diák összteljesítményét kellene kiszámolni, akkor a pont_érték+plusz_pont aritmetikai összegeket kellene összegezni (pl. SUM függvénnyel az SQL-ben) adott diák / az egész tábla soraiban. Nos, ha valaki nem kapott plusz pontot, mert nem is volt második megoldása, akkor a mezőt nem hagyhatjuk kitöltetlenül, mert az összeg ismeretlenné válna. Tehát a plusz_pont nem lehet NULL; alapértelmezett értéke pedig lehetne nulla.