Mit kell tudni a NULL értékekről?

Ismerje meg a NULL-ok használatát az adatbázisproblémák elkerülésére

Az adatbázisok világába új felhasználókat gyakran összekeverik egy speciális, a mezőhöz tartozó érték - a NULL érték. Ez az érték egy olyan mezőben található, amely bármilyen típusú adatot tartalmaz, és nagyon különleges jelentése van egy relációs adatbázis összefüggésében. Talán a legjobb a NULL-beszélgetésünk megkezdésével, néhány szóval arról, hogy mi a NULL:

Inkább a NULL az az érték, amelyet egy ismeretlen adat megjelenítésére használnak. Az adatbázis-programozók gyakran használják a "NULL érték" kifejezést, de ez helytelen. Ne feledje: a NULL egy ismeretlen érték, amelyben a mező üresen jelenik meg.

NULL a valós világban

Vessünk egy egyszerű példát: egy asztalt, amely a gyümölcskosár készletét tartalmazza. Tegyük fel, hogy készletünk 10 almát és 3 narancsot tartalmaz. Szilvákkal is foglalkozunk, de készletinformációink hiányosak és nem tudjuk, hány (ha van) szilva van raktáron. A NULL érték használatával a lenti táblázatot az alábbi táblázat mutatja.

Fruit Stand Inventory

InventoryID Tétel Mennyiség
1 Almák 10
2 narancs 3
3 szilva NULLA


Nyilvánvalóan helytelen lenne a szilva rekordra 0-os mennyiséget felvenni, mert ez azt jelentené, hogy nem volt szilva a készletben. Ellenkezőleg, lehet, hogy van néhány szilva, de nem vagyunk biztosak.

NULL vagy NULL?

Egy táblázatot úgy tervezhetünk, hogy megengedjük a NULL értékeket vagy sem.

Itt van egy SQL példa, amely létrehoz egy Inventory táblát, amely lehetővé teszi néhány NULL-t:

SQL CREATE TABLE INVENTORY (Leltárazonosító INT NOT NULL, VARCHAR elem (20) NOT NULL, mennyiség INT);

A Készlet táblázat itt nem engedélyezi a NULL értékeket a InventoryID és az Elem oszlopokhoz, de lehetővé teszi számukra a Mennyiség oszlopot.

Bár a NULL érték tökéletesen finom, a NULL értékek problémákat okozhatnak, mivel minden olyan érték összehasonlítása, amelyben az egyik NULL, mindig NULL eredményt eredményez.

Annak ellenőrzéséhez, hogy a táblázatban NULL-értékeket tartalmaz-e, használja az IS NULL vagy IS NOT NULL operátort. Íme egy példa IS NULL:

SQL SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY, ahol a MENNYISÉG NEM NULL;

Tekintettel a példánkra, ez visszatér:

InventoryID Tétel Mennyiség
3 szilva

Működés NULL-okon

A NULL értékekkel való munka gyakran NULL eredményt ad, az SQL művelettől függően. Például, feltételezve, hogy A NULL:

Számtani operátorok

Összehasonlító operátorok

Ezek csak néhány példa az olyan operátorokra, amelyek mindig NULL-ot adnak vissza, ha egy operandus NULL. Sokkal összetettebb lekérdezések léteznek, és mindegyiket bonyolítja a NULL értékek. A lead home point az, hogy ha engedélyezi a NULL értékeket az adatbázisban, akkor érti meg a következményeket, és tervezze őket.

Ez NULL a dióhéjban!