NULL balioak ezagutu behar dituzu

NULL erabilerak ulertu datu-basearen arazoak saihesteko

Erabiltzaileek datu-baseen mundura berriki sarritan nahastu ohi dira eremuan bereziki balio berezia dutenak: NULL balioa. Balio hau datu mota guztietako eremu batean aurki daiteke eta datu-base erlazional baten testuinguruan esanahi berezia du. Seguruenik gure NULL eztabaida hasiko dugu NULL ez denari buruz hitz gutxirekin:

Izan ere, NULL datu zati ezezagun bat irudikatzeko erabilitako balioa da. Sarritan, datu-baseko programatzaileak "NULL balio" esaldia erabiliko dute, baina hori okerra da. Gogoratu: NULL balio ezezagun bat da, eremua hutsik dagoela.

NULL mundu errealean

Ikus dezagun adibide soil bat: fruta stand bateko inbentarioa duen taula bat. Demagun gure inbentarioak 10 sagar eta hiru laranja dituela. Arrazoiak ere badira, baina gure inbentarioaren informazioa osatu gabe dago eta ez dakigu zenbat (edozein) aranak stockean egongo diren. NULL balioa erabiliz, beheko taulan agertzen den inbentario taula dugu.

Fruta Stand Inbentarioa

InventoryID Item Kopurua
1 Sagarrak 10
2 laranjak 3
3 aranak NULL


Argiaren erregistroan 0 kantitate bat gehitzea argi eta garbi egongo litzateke, inbentarioan inurriak ez zirela esan nahi. Aitzitik, aranak izan ditzakegu, baina ez dugu ziur.

NULL edo NO NULL?

Mahai bat diseinatu daiteke NULL balioak baimendu edo ez.

Hemen NULL batzuk onartzen dituen inbentario taula sortzen duen SQL adibidea da:

SQL> SORTA TABULU INBENTARIOA (InventoryID INT. EZ DA NULL, Item VARCHAR (20) EZ EZ EZ, EZ INT.);

Inbentarioen taulan ez da NULL balioak inbentarioaren IDrako eta elementuaren zutabeak onartzen, baina kopuru horiek zutabeak onartzen ditu.

NULL balio bat ahalbidetzen duen bitartean ondo moldatzen da, NULL balioak arazoak sor ditzake NULL-eko baloreen konparaketa NULL-en beti emaitza baita.

Taulak NULL balioak badu, IS NULL edo IS NOT NULL operadorea egiaztatzeko. Hemen IS NULL adibide bat da:

SQL> SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY NON-KANTUA EZ DA NULL;

Hemen adibidez, hau itzuliko litzateke:

InventoryID Item Kopurua
3 aranak

NULL zerbitzuan funtzionatzen du

NULL balioekin lan egiteak askotan emaitzak sortzen ditu, SQL eragiketaren arabera . Adibidez, A dela NULL dela suposatuz:

Aritmetika operadoreak

Konparazio operadoreak

Hauek dira operadorearen NULL bakarra NULL itzuliko den operadoreen adibide batzuk. Galdera konplexuak askoz ere gehiago dira eta NULL balioak konplexuak dira. Hartu etxeko puntua da, zure datu-baseko NULL balioak onartzen badituzu, ulertu eta haien planak ulertu.

Hori oso NULL da!