Understand l'Ughjettu di NULL per Avoidà Problemi di basa di basa
L'utenti novi à u mondu di i databases sò spessu cunfondati da un valore speciale particular à u campu - u valore NULL. Stu valore si pò esse truvatu in un campu chì cuntene un tipu di dati è hà un significatu assai specialu in u cuntestu di una basa di dati rilative. Hè probabilmente megghiu di inizià a nostra discussione di NULL cun quì parolle di ciò chì NULO hè micca :
- NULL ùn hè micca u nùmeru cero.
- NULL ùn hè micca u valore vacanti ("").
Puru, NULL hè u valore usatu per rapprisintà un pezzu di dati impurtanti. Spessu, i programaturi di basa di basa usanu a frasa "un valore NULL", ma questu hè incorrect. Ricurdativi: un NULL hè un valori scunnisciutu in quale u campu hè tutale in spumanti.
NULL in u mondu reale
Fighjemu un simpaticu esempiu: una tavola chì cuntene l'inventariu per un stand di frutta. Semu chì u nostru inventariu cuntene 10 manechi è trè oranges. Avemu ancu prufume di i prugnoli, ma a nostra infurmazione di l'inventariu hè incomplete è ùn sapemu quantu (si anu) i prugnoli sò in stock. Utilizendu u valuru NULO, avemu avutu a carta di inventariu indettendu à a tola davanti.
Fruit Inventory Stand
InventoryID | Itemu | Quantità |
1 | Manzanas | 10 |
2 | Arance | 3 |
3 | Prune | NULL |
Hè chjaramente esse incorrecte per incaricà una quantità di 0 per i pècure, perchè l'impignassi chì ùn avemu avutu micca prudigi in l'inventariu. À u cuntrariu, pudemu avemu un prugnu, ma ùn avemu micca sicuru.
A NULL o NON NULL?
Una tassa pò esse dissenu à qualunque permettenu valori NULL o micca.
Eccu un esempiu di SQL chì crea una tabella d'inventariu chì permette parechji NULL:
SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, Item VARCHAR (20) NOT NULL, Quantità INT);U tavulu di l'inventariu ùn permette micca i valori NULL per l' elementi di l' InventoryID è l' Elementu , ma permettenu di a Cume di Quantità .
Mentri permette un valore NULL hè perfetta fine, i valori NULL pò causà problemi, perchè qualsiasi paraguni di valori in chì unu hè NULL sempre risultati in NULL.
Per verificà chì a vostra tavulera cuntene valuri NULL, utilizate l'IS NULL o ùn hè micca NULL operatore. Eccu unempiu di IS NULL:
SQL> SLEPARUTU INVENTIÀLIDU, PARTITURE, QUANTITY FROM INVENTORY WHERE QUANTITY IS NULL NULL;Dopu u nostru esempiu quì devu turnà:
InventoryID | Itemu | Quantità |
---|---|---|
3 | Prune |
Operazione in NULL
U travagliu cù i valori NULL sò spessu pruduce risultati NULL, secondu l' operazione SQL . Per esempiu, assumete chì A hè NULL:
Operaturi Aritmetichi
- A + B = NULL
- A - B = NULL
- A * B = NULL
- A / B = NULL
Cumpariori
- A = B = NULL
- A! = B = NULL
- A> B = NULL
- A!
Queste sò un pocu esempi di operatori chì sempre tornanu torna NULL si un operand hè NULL. Hè assai dispunibuli più complexi, è tutti sò cumplicati da i valori NULL. U puntu di casa hè chì, se permettenu valuri NULL in a vostra basa di dati, capisce l'implicazione è di prugettu per elli.
Chì hè NULL in una ciscia!