Çfarë duhet të dini për vlerat NULL

Kuptoni përdorimin e NULL për të shmangur problemet e bazës së të dhënave

Përdoruesit e rinj në botën e bazave të të dhënave shpesh konfuzohen nga një vlerë e veçantë e veçantë në fushën - vlera NULL. Kjo vlerë mund të gjendet në një fushë që përmban çdo lloj të dhënash dhe ka një kuptim shumë të veçantë brenda kontekstit të një baze të dhënash relacionale. Është ndoshta më e mira për të filluar diskutimin tonë për NULL me disa fjalë për atë që NULL nuk është:

Përkundrazi, NULL është vlera e përdorur për të përfaqësuar një pjesë të të dhënave të panjohura. Shpesh, programuesit e bazës së të dhënave do të përdorin fraza "një vlerë NULL", por kjo nuk është e saktë. Mos harroni: NULL është një vlerë e panjohur në të cilën fusha shfaqet bosh.

NULL në botën reale

Le të hedhim një vështrim në një shembull të thjeshtë: një tabelë që përmban inventarin për një qëndrim frutash. Supozoni se inventari ynë përmban 10 mollë dhe tre portokalle. Ne gjithashtu kumbulla të aksioneve, por informacioni ynë i inventarit është i paplotë dhe nuk dimë se sa kumbulla (nëse ka) janë në magazinë. Duke përdorur vlerën NULL, do të kemi tabelën e inventarit të paraqitur në tabelën më poshtë.

Inventari i stendës së frutave

InventoryID artikull sasi
1 mollë 10
2 portokall 3
3 kumbulla I PAVLEFSHËM


Në mënyrë të qartë do të ishte e gabuar të përfshihej një sasi prej 0 për rekordin e kumbullës, sepse kjo do të nënkuptonte se nuk kishim kumbulla në inventar. Përkundrazi, mund të kemi disa kumbulla, por ne nuk jemi të sigurt.

Për NULL ose NULL NULL?

Një tabelë mund të dizajnohet ose të lejojë vlerat NULL ose jo.

Këtu është një shembull SQL që krijon një tabelë Inventari që lejon disa NULL:

SQL> CREATE INVENTOR TABLE (Inventari ID INT NOT NULL, Item VARCHAR (20) NOT NULL, Sasia INT);

Tabela e inventarit këtu nuk lejon vlerat NULL për rubrikën InventoryID dhe artikullin , por i lejon ato për kolonën e sasisë .

Ndërsa lejimi i një vlere NULL është në mënyrë të përkryer, vlerat NULL mund të shkaktojnë probleme, sepse çdo krahasim i vlerave në të cilat një është NULL gjithmonë rezulton në NULL.

Për të kontrolluar nëse tabela juaj përmban vlera NULL, përdorni IS NULL ose IS NOT NULL operator. Këtu është një shembull i IS NULL:

SQL> SELECT INVENTORYID, PIKA, SASIA NGA INVENTARIA KU SASIA NUK ËSHTË NULL;

Duke pasur parasysh shembullin tonë këtu, kjo do të kthehej:

InventoryID artikull sasi
3 kumbulla

Duke vepruar në NULL

Puna me vlerat NULL shpesh prodhon rezultate NULL, varësisht nga operacioni SQL . Për shembull, duke supozuar se A është NULL:

Operatorët aritmetikë

Operatorët Krahasues

Këto janë vetëm disa shembuj të operatorëve që gjithmonë do kthejnë NULL nëse një operand është NULL. Shumë pyetje komplekse ekzistojnë dhe të gjitha janë të ndërlikuara nga vlerat NULL. Pika e marrjes në shtëpi është se, nëse i lejoni vlerat NULL në bazën tuaj të të dhënave, kuptoni implikimet dhe planifikoni për ta.

Kjo është NULL në pak fjalë!