Ano ang Dapat Mong Malaman Tungkol sa Mga Halaga ng NULL

Unawain ang Paggamit ng NULLs upang Iwasan ang Mga Problema sa Database

Mga gumagamit bago sa mundo ng mga database ay madalas na nalilito sa pamamagitan ng isang espesyal na halaga partikular sa field - ang NULL halaga. Ang halagang ito ay matatagpuan sa isang patlang na naglalaman ng anumang uri ng data at may isang napaka-espesyal na kahulugan sa loob ng konteksto ng isang pamanggit database. Marahil pinakamahusay na upang simulan ang aming diskusyon ng null na may ilang mga salita tungkol sa kung ano ang NULL ay hindi :

Sa halip, ang null ay ang halaga na ginamit upang kumatawan sa isang hindi kilalang piraso ng data. Kadalasan, gagamitin ng database programmer ang pariralang "isang NULL na halaga", ngunit ito ay hindi tama. Tandaan: ang isang null ay isang hindi kilalang halaga kung saan lumilitaw ang patlang na walang laman.

Null sa Real World

Tingnan natin ang isang simpleng halimbawa: isang table na naglalaman ng imbentaryo para sa isang prutas stand. Ipagpalagay na ang aming imbentaryo ay naglalaman ng 10 mansanas at tatlong mga dalandan. Nagtataglay din kami ng mga plum, ngunit ang aming impormasyon sa imbentaryo ay hindi kumpleto at hindi namin alam kung gaano karami (kung mayroon man) plum ay nasa stock. Gamit ang halaga ng NULL, magkakaroon kami ng table ng imbentaryo na ipinapakita sa talahanayan sa ibaba.

Imbentaryo ng Prutas

InventoryID Item Dami
1 Mga mansanas 10
2 Mga dalandan 3
3 Mga Plum WALA


Maliwanag na hindi tama na isama ang isang dami ng 0 para sa rekord ng plum, dahil ipahiwatig na wala kaming mga plum sa imbentaryo. Sa kabaligtaran, maaari tayong magkaroon ng mga plum, ngunit hindi kami sigurado.

Upang null o HINDI null?

Maaaring idisenyo ang isang talahanayan upang pahintulutan ang alinman sa mga halaga ng NULL o hindi.

Narito ang isang halimbawa ng SQL na lumilikha ng isang Inventory table na nagbibigay-daan sa ilang mga NULLs:

SQL Gumawa ng TALAAN INVENTORY (ImbentaryoID INT HINDI null, Item VARCHAR (20) HINDI null, Dami INT);

Ang Inventory table dito ay hindi pinapayagan ang NULL values ​​para sa InventoryID at ang Mga haligi ng Item , ngunit pinapayagan ang mga ito para sa haligi ng Dami .

Habang nagpapahintulot sa isang NULL halaga ay ganap na pagmultahin, NULL mga halaga ay maaaring maging sanhi ng mga problema dahil sa anumang paghahambing ng mga halaga kung saan ang isa ay NULL palaging mga resulta sa null.

Upang suriin kung ang iyong talahanayan ay naglalaman ng mga halaga ng NULL, gamitin ang IS NULL o AY NULL NULL operator. Narito ang isang halimbawa ng IS null:

SQL PUMILI INVENTORYID, ITEM, QUANTITY FROM INVENTORY WHERE QUANTITY AY HINDI null;

Ibinigay ang aming halimbawa dito, babalik ito:

InventoryID Item Dami
3 Mga Plum

Operating sa NULLs

Ang Paggawa gamit ang mga halaga ng NULL ay madalas na gumagawa ng mga resulta ng NULL, depende sa operasyon ng SQL . Halimbawa, sa pag-aakala na ang A ay null:

Mga Aritmetika Operator

Paghahambing Operator

Ang mga ito ay ilan lamang sa mga halimbawa ng mga operator na laging babalik ang null kung ang isang operand ay NULL. Marami pang kumplikadong mga query ang umiiral, at ang lahat ay kumplikado sa pamamagitan ng mga halaga ng NULL. Ang punto ng home point ay na, kung pinahihintulutan mo ang NULL na mga halaga sa iyong database, maunawaan ang mga implikasyon at plano para sa kanila.

Iyan ay NULL sa maikling sabi!