Wat Dir wësse sollt iwwer NULL Wäerter

Verstinn d'Notzung vun NULLs fir Datenbankprobleme vermeiden

D'Benotzer déi nei d'Welt vun de Datenbanken nei sinn, ginn oft duerch e spezielle Wäert virun allem op den Terrain verwiesselt - de NULL value. Dëse Wäert läit op engem Feld wou all Typ vun Donnéeën ass an e ganz spezielle Sënn am Kontext vun enger relationaler Datebank. Et ass méiglecherweis fir eis Diskussioun iwwer NULL mat e puer Wierder ze beginnen iwwer wat NULL ass net :

NULL ass NULL den Wäert fir e onbekannte Wierk ze representéieren. Oft gëtt Datebank Programméierer benotzt den Ausdrock "e NULL value", awer dat ass net korrekt. Vergiesst net: e NULL ass en onbekannte Wäert, an deem d'Feld eidel ass.

NULL an der Real Welt

Loosst eis e Bléck einfach kucken: eng Tabell mat der Inventaire fir e Fruuchtstandsbroch. Stellt eis Bestanddeeg 10 Äpp a dräi Orangen. Mir sinn och Plumpen, awer eis Inventar-Informatioun ass onvollstänneg a mir wësse net wéi vill (wa se) Plums sinn op Lager. Benotzt de NULL-Wäert, mir hätten d'Inventaire Dësch an der Tabell méi ënnen.

Fruit Stand Invent Inventory

InventoryID Item Quantitéit
1 Äppel 10
2 Orangen 3
3 Plums NULL


Et ass kloer falsch fir eng Quantitéit vu 0 ze maachen fir de Plumsatz ze maachen, well dat géif bedeiten datt mer keng Plummen am Inventar haten. Am Géigendeel, mir kënnen e puer Plummen hunn, awer mir sinn net sécher.

NULL oder NET NULL?

Eng Tabelle kann entwéckelt ginn fir NULL Wäerter z'ënnerstëtzen oder net.

Hei ass e SQL-Beispill deen eng Inventarentabelle erstallt, déi e puer NULLs erlaabt:

SQL> CREATE TABLE INVENTORY (InventoryID INT NET NULL, Element VARCHAR (20) NET NULL, KODÉIEREN INT);

D'Inventar-Tabelle hei erlaabt net NULL Wäerter fir d' InventoryID an d' Element Säulen, awer erlaaben hinnen d' Quantitéit Späicher.

Obwuel en NULL-Wäert zielt ass perfekt. NULL Wäerter kënnen Problemer hunn, well all Vergläich vu Wäerter, wou een ass NULL, ëmmer zu NULL.

Fir kontrolléieren ob Ären Dësch NULL Wäerter enthält, den IS NULL oder IS NOT NULL-Betreiber benotzen. Hei ass e Beispill vu IS NULL:

SQL> SÉLECT INVENTORYID, ELEMENT, QUANTITÄT VON INVENTORIERT WËSSE MÄNNER NET NET NULL;

Wann eis Beispill hei steet, wär dat erëm:

InventoryID Item Quantitéit
3 Plums

Operatioun op NULLs

Wielt mat NULL Wäerter produzéiert oft NULL Resultater, jee no der SQL-Operatioun . Zum Beispill, ugeholl datt A NULL ass:

Arithmetesche Betreiber

Verglach Operatoren

Dëst sinn nëmmen e puer Beispiller vun Operatoren déi ëmmer erëm NULL zréckginn, wann een Operne NULL ass. Vill méi komplex Abräume bestehen, an all NULL sinn komplizéiert. Den Heemechtspunkt ass datt wann Dir NULL Wäerter an Ärer Datebank zoutrëfft, déi Implikatioune verstoen an ze plangen.

Dat ass NULL a Nutshell!