Ką turėtumėte žinoti apie NULL reikšmes

Suprasti NULL naudojimą, kad išvengtumėte duomenų bazių problemų

Naujiems duomenų bazių pasaulyje naudotojai dažnai painioja ypatingą lauko reikšmę - NULL vertę. Ši vertė gali būti randama lauke, kuriame yra bet kokio tipo duomenys, ir turi ypatingą reikšmę reliacinės duomenų bazės kontekste. Tikriausiai geriausia pradėti diskusiją apie NULL keliais žodžiais apie tai, kas NULL nėra :

Priešingai, NULL yra vertė, naudojama norint pateikti nežinomą duomenų dalį. Dažnai duomenų bazės programuotojai naudoja frazę "NULL vertė", bet tai yra neteisinga. Prisiminti: NULL yra nežinoma vertė, kurioje laukas yra tuščias.

NULL realiame pasaulyje

Pažvelkime į paprastą pavyzdį: lentelę, kurioje pateikiamas vaisių stendo aprašas. Tarkime, kad mūsų inventoriuje yra 10 obuolių ir trys apelsinai. Mes taip pat atsargūs slyvos, tačiau mūsų inventoriaus informacija yra neišsami, ir mes nežinome, kiek (jei yra) slyvų yra. Naudodamiesi NULL reikšme, mes turėsime inventoriaus lentelę, pateiktą žemiau esančioje lentelėje.

Vaisių stendo inventorius

InventoryID Prekė Kiekis
1 Obuoliai 10
2 Apelsinai 3
3 Slyvos NULL


Būtų klaidinga įtraukti kiekį 0 į slyvų įrašą, nes tai reikštų, kad inventoriuje neturime slyvų. Priešingai, mes galime turėti slyvų, bet mes nesame tikri.

NULL arba NOT NULL?

Lentelė gali būti sukurta taip, kad leistų nustatyti NULL vertes arba ne.

Čia pateikiamas SQL pavyzdys, sukuriantis Inventoriaus lentelę, leidžiančią atlikti tam tikrus NULL:

SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, Prekė VARCHAR (20) NE NULL, Kiekis INT);

Inventoriaus lentelė čia neleidžia NULL vertės " InventoryID" ir "Stulpelių" elementų , bet leidžia juos naudoti stulpelyje " Kiekis" .

NULL vertė yra visiškai gerai, todėl NULL reikšmės gali sukelti problemų, nes bet koks verčių, kurių viena yra NULL, palyginimas visada lemia NULL.

Norėdami patikrinti, ar jūsų lentelėje yra NULL vertės, naudokite operatorių IS NULL arba IS NOT NULL. Štai IS NULL pavyzdys:

SQL> SELECT INVENTORYID, ITEM, KIEKIS IŠ INVENTORIUS, KURIOS KIEKIS NĖRA NULL;

Atsižvelgiant į mūsų pavyzdį, tai grįš:

InventoryID Prekė Kiekis
3 Slyvos

Veikianti NULL

Darbas su NULL reikšmėmis dažnai sukuria NULL rezultatus, priklausomai nuo SQL operacijos . Pavyzdžiui, darant prielaidą, kad A yra NULL:

Aritmetiniai operatoriai

Palyginimo operatoriai

Tai tik keletas operatorių pavyzdžių, kurie visada grąžins NULL, jei vienas operandas yra NULL. Egzistuoja daug sudėtingesnių užklausų, o viskas yra sudėtinga NULL reikšmių. Paimkite namo tašką tuo, kad, jei leisite NULL vertes savo duomenų bazėje, suprasite jų pasekmes ir planuosite.

Tai trumpa informacija apie NULL !