ເຂົ້າໃຈການໃຊ້ NULLs ເພື່ອຫຼີກເວັ້ນບັນຫາບັນຫາໃນຖານຂໍ້ມູນ
ຜູ້ໃຊ້ໃຫມ່ໃນໂລກຂອງ ຖານຂໍ້ມູນ ແມ່ນມັກຈະສັບສົນໂດຍມູນຄ່າພິເສດໂດຍສະເພາະກັບພາກສະຫນາມ - ຄ່າ NULL. ມູນຄ່ານີ້ສາມາດພົບໄດ້ໃນເຂດທີ່ມີຂໍ້ມູນໃດໆແລະມີຄວາມຫມາຍພິເສດຫຼາຍໃນສະພາບການຂອງຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ. ມັນອາດຈະດີທີ່ສຸດທີ່ຈະເລີ່ມຕົ້ນການສົນທະນາຂອງພວກເຮົາກ່ຽວກັບ NULL ດ້ວຍຄໍາທີ່ບໍ່ພໍເທົ່າໃດກ່ຽວກັບສິ່ງທີ່ NULL ບໍ່ແມ່ນ :
- NULL ບໍ່ແມ່ນເລກສູນ.
- NULL ບໍ່ແມ່ນຄ່າເຊື່ອງໄວ້ ("").
ແທນທີ່ຈະ, NULL ແມ່ນມູນຄ່າທີ່ນໍາໃຊ້ເພື່ອເປັນຕົວແທນຂອງຂໍ້ມູນທີ່ບໍ່ຮູ້ຈັກ. ເລື້ອຍຄັ້ງ, ຜູ້ຂຽນໂປລແກລມຖານຂໍ້ມູນຈະໃຊ້ຄໍາວ່າ "ຄ່າ NULL" ແຕ່ນີ້ບໍ່ຖືກຕ້ອງ. ຈືຂໍ້ມູນການ: NULL ເປັນມູນຄ່າທີ່ບໍ່ຮູ້ຈັກທີ່ພາກສະຫນາມປາກົດຂື້ນ.
NULL ໃນໂລກທີ່ແທ້ຈິງ
ໃຫ້ເບິ່ງຕົວຢ່າງທີ່ງ່າຍດາຍ: ຕາຕະລາງປະກອບສໍາລັບການເກັບຫມາກໄມ້. ສົມມຸດວ່າຄັງເກັບຂອງພວກເຮົາມີ 10 ຫມາກໂປແລະສາມຫມາກກ້ຽງ. ພວກເຮົາຍັງ stock plums, ແຕ່ຂໍ້ມູນສິນຄ້າຄົງຄັງຂອງພວກເຮົາແມ່ນບໍ່ຄົບຖ້ວນແລະພວກເຮົາບໍ່ຮູ້ວ່າຈໍານວນ plums (ຖ້າມີ) ແມ່ນຢູ່ໃນຫຼັກຊັບ. ການນໍາໃຊ້ມູນຄ່າ NULL, ພວກເຮົາຈະມີຕາຕະລາງສິນຄ້າສະແດງໃຫ້ເຫັນຢູ່ໃນຕາຕະລາງຂ້າງລຸ່ມນີ້.
Fruit Stand Inventory
InventoryID | Item | Quantity |
1 | ແອບເປີ້ນ | 10 |
2 | Oranges | 3 |
3 | Plums | NULL |
ມັນຈະແຈ້ງບໍ່ຖືກຕ້ອງທີ່ຈະປະກອບດ້ວຍປະລິມານ 0 ສໍາລັບການບັນທຶກ plum, ເນື່ອງຈາກວ່າມັນອາດຈະຫມາຍເຖິງວ່າພວກເຮົາ ບໍ່ມີ plum ໃນ inventory. ກົງກັນຂ້າມ, ພວກເຮົາອາດຈະມີບາງເມັດ, ແຕ່ພວກເຮົາກໍ່ບໍ່ແນ່ໃຈວ່າ.
ເພື່ອ NULL ຫຼືບໍ່ NULL?
ຕາຕະລາງສາມາດໄດ້ຮັບການອອກແບບເພື່ອອະນຸຍາດໃຫ້ຄ່າ NULL ຫຼືບໍ່.
ນີ້ແມ່ນຕົວຢ່າງ SQL ທີ່ສ້າງຕາຕະລາງສິນຄ້າທີ່ອະນຸຍາດໃຫ້ບາງ NULLs:
SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, Item VARCHAR (20) NOT NULL, Quantity INT)ຕາຕະລາງສິນຄ້ານີ້ບໍ່ອະນຸຍາດໃຫ້ຄ່າ NULL ສໍາລັບຄໍລໍາ InventoryID ແລະຄໍລໍາລາຍການ, ແຕ່ວ່າມັນອະນຸຍາດໃຫ້ພວກເຂົາສໍາລັບຄໍລໍາ Quantity .
ໃນຂະນະທີ່ອະນຸຍາດໃຫ້ມູນຄ່າ NULL ຖືກປັບສົມບູນ, ຄ່າ NULL ສາມາດເຮັດໃຫ້ເກີດບັນຫາໄດ້ເນື່ອງຈາກການປຽບທຽບຄ່າທີ່ຫນຶ່ງແມ່ນ NULL ສະເຫມີຜົນໃນ NULL.
ເພື່ອກວດສອບວ່າຕາຕະລາງຂອງທ່ານມີບັນດາ NULL, ໃຫ້ໃຊ້ IS NULL ຫຼື IS NOT NULL operator. ນີ້ແມ່ນຕົວຢ່າງຂອງ IS NULL:
SQL SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY WHERE QUANTITY IS NOT NULL;ໃຫ້ຕົວຢ່າງຂອງພວກເຮົານີ້, ນີ້ຈະກັບມາ:
InventoryID | Item | Quantity |
---|---|---|
3 | Plums |
ດໍາເນີນການກ່ຽວກັບ NULLs
ການເຮັດວຽກກັບຄ່າ NULL ມັກຈະຜະລິດຜົນ NULL, ຂຶ້ນກັບການ ດໍາເນີນງານ SQL . ຕົວຢ່າງ, ສົມມຸດວ່າ A ແມ່ນ NULL:
Arithmetic Operators
- A + B = NULL
- A-B = NULL
- A * B = NULL
- A / B = NULL
Comparison Operators
- A = B = NULL
- A = = B = NULL
- A> B = NULL
- A!
ເຫຼົ່ານີ້ແມ່ນພຽງແຕ່ຕົວຢ່າງຂອງຕົວປະຕິບັດທີ່ຈະກັບຄືນ NULL ຖ້າຫນຶ່ງ operand ແມ່ນ NULL. ຫລາຍຄໍາຖາມທີ່ສັບສົນຫຼາຍ, ແລະທັງຫມົດແມ່ນສັບສົນໂດຍຄ່າ NULL. ຈຸດເດັ່ນຂອງບ້ານແມ່ນວ່າ, ຖ້າທ່ານອະນຸຍາດໃຫ້ຄ່າ NULL ໃນຖານຂໍ້ມູນຂອງທ່ານ, ເຂົ້າໃຈຜົນກະທົບແລະວາງແຜນສໍາລັບພວກມັນ.
That's NULL in a nutshell!