Normalizing Database ຂອງທ່ານ
ຖ້າທ່ານໄດ້ເຮັດວຽກກັບຖານຂໍ້ມູນໃນເວລາໃດຫນຶ່ງ, ໂອກາດທີ່ທ່ານໄດ້ຍິນລະດັບຄວາມເປັນປົກກະຕິ. ບາງທີອາດມີຜູ້ໃດຜູ້ຫນຶ່ງຖາມທ່ານວ່າ "ຖານຂໍ້ມູນນັ້ນຖືກປົກກະຕິແລ້ວບໍ?" ຫຼື "ແມ່ນຢູ່ໃນ BCNF ?" ປົກກະຕິແມ່ນປົກກະຕິແລ້ວ brushed ຫລີກໄປທາງຫນຶ່ງເປັນ luxury ທີ່ມີພຽງແຕ່ນັກວິຊາການມີເວລາສໍາລັບການ. ຢ່າງໃດກໍ່ຕາມ, ການຮູ້ຫຼັກການຂອງການປົກກະຕິແລະການນໍາໃຊ້ໃຫ້ກັບວຽກງານການອອກແບບຖານຂໍ້ມູນປະຈໍາວັນຂອງທ່ານກໍ່ບໍ່ແມ່ນຄວາມສັບສົນທັງຫມົດແລະມັນກໍ່ສາມາດປັບປຸງການປະຕິບັດຂອງ DBMS ຂອງທ່ານຢ່າງແຂງແຮງ.
ໃນບົດຄວາມນີ້, ພວກເຮົາຈະແນະນໍາແນວຄວາມຄິດຂອງການປະຕິບັດຕາມປົກກະຕິແລະເບິ່ງຮູບແບບປົກກະຕິທີ່ສຸດ.
ແມ່ນຫຍັງປົກກະຕິ?
Normalization ແມ່ນຂະບວນການຈັດຕັ້ງຂໍ້ມູນທີ່ມີປະສິດທິຜົນໃນຖານຂໍ້ມູນ. ມີສອງເປົ້າຫມາຍຂອງຂະບວນການປົກກະຕິ: ການລົບຂໍ້ມູນທີ່ບໍ່ຈໍາເປັນ (ເຊົ່ນເກັບຂໍ້ມູນດຽວກັນໃນຫຼາຍກວ່າຫນຶ່ງຕາຕະລາງ) ແລະຮັບປະກັນຄວາມຕ້ອງການຂອງ ຂໍ້ມູນທີ່ເຫມາະ ສົມ (ເກັບຂໍ້ມູນທີ່ກ່ຽວຂ້ອງໃນຕາຕະລາງ). ທັງສອງນີ້ແມ່ນເປົ້າຫມາຍທີ່ມີຄຸນຄ່າຍ້ອນວ່າເຂົາເຈົ້າຫຼຸດຜ່ອນຈໍານວນພື້ນທີ່ທີ່ຖານຂໍ້ມູນທີ່ບໍລິໂພກແລະຮັບປະກັນວ່າຂໍ້ມູນຖືກເກັບໄວ້ຢ່າງມີເຫດຜົນ.
ແບບປົກກະຕິ
ຊຸມຊົນຖານຂໍ້ມູນໄດ້ພັດທະນາຊຸດຄໍາແນະນໍາສໍາລັບການຮັບປະກັນວ່າຖານຂໍ້ມູນຖືກປົກກະຕິ. ເຫຼົ່ານີ້ແມ່ນເອີ້ນວ່າເປັນຮູບແບບປົກກະຕິແລະຖືກນັບຈາກຫນຶ່ງ (ແບບປົກກະຕິຕໍ່າສຸດ, ເອີ້ນວ່າແບບປົກກະຕິທໍາອິດຫຼື 1NF) ຜ່ານຫ້າ (ຮູບແບບປົກກະຕິຫ້າຫຼື 5NF). ໃນຄໍາຮ້ອງສະຫມັກພາກປະຕິບັດ, ທ່ານມັກຈະເບິ່ງ 1NF, 2NF, ແລະ 3NF ພ້ອມກັບ 4NF ໃນບາງຄັ້ງຄາວ. ຮູບແບບປົກກະຕິທີຫ້າແມ່ນຫາຍາກທີ່ສຸດແລະຈະບໍ່ໄດ້ຮັບການປຶກສາຫາລືໃນບົດຄວາມນີ້.
ກ່ອນທີ່ພວກເຮົາຈະເລີ່ມຕົ້ນການສົນທະນາຂອງພວກເຮົາໃນຮູບແບບປົກກະຕິ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະຊີ້ໃຫ້ເຫັນວ່າພວກເຂົາເປັນຄູ່ມືແລະແນວທາງເທົ່ານັ້ນ. ບາງຄັ້ງ, ມັນຈະກາຍເປັນສິ່ງຈໍາເປັນທີ່ຈະຫຼີກເວັ້ນຈາກພວກມັນເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການທາງທຸລະກິດທີ່ເປັນປະໂຫຍດ. ຢ່າງໃດກໍ່ຕາມ, ເມື່ອມີການປ່ຽນແປງ, ມັນສໍາຄັນຫລາຍທີ່ຈະປະເມີນຜົນກະທົບທີ່ພວກເຂົາສາມາດມີຢູ່ໃນລະບົບຂອງທ່ານແລະບັນຫາຕ່າງໆທີ່ບໍ່ເປັນໄປໄດ້. ທີ່ເວົ້າວ່າ, ໃຫ້ເຮົາຄົ້ນຫາຮູບແບບປົກກະຕິ.
ແບບປະກະຕິທໍາອິດ (1NF)
ຮູບແບບປົກກະຕິທໍາອິດ (1NF) ກໍານົດກົດລະບຽບຂັ້ນພື້ນຖານສໍາລັບຖານຂໍ້ມູນທີ່ຈັດການ:
- ລົບລ້າງຄໍລໍາທີ່ຊ້ໍາກັນຈາກຕາຕະລາງດຽວກັນ.
- ສ້າງຕາຕະລາງແຍກຕ່າງຫາກສໍາລັບແຕ່ລະກຸ່ມຂອງຂໍ້ມູນທີ່ກ່ຽວຂ້ອງແລະກໍານົດແຕ່ລະແຖວດ້ວຍຄໍລໍາທີ່ເປັນເອກະລັກຫຼືຊຸດຂອງຄໍລໍາ ( ຄີຫລັກ ).
ແບບປະກະຕິທີສອງ (2NF)
ແບບຟອມປົກກະຕິທີສອງ (2NF) ຕື່ມອີກກ່ຽວກັບແນວຄວາມຄິດຂອງການຖອນ ຂໍ້ມູນທີ່ຊ້ໍາກັນ :
- ຕອບສະຫນອງຄວາມຕ້ອງການທັງຫມົດຂອງຮູບແບບປົກກະຕິທໍາອິດ.
- ລົບເອກະສານຊ້ອນຂອງຂໍ້ມູນທີ່ໃຊ້ກັບແຖວຫຼາຍຂອງຕາຕະລາງແລະວາງໄວ້ໃນຕາຕະລາງແຍກຕ່າງຫາກ.
- ສ້າງສາຍພົວພັນລະຫວ່າງຕາຕະລາງໃຫມ່ເຫຼົ່ານີ້ແລະຜູ້ລ້າຜ່ານການນໍາໃຊ້ ຄີຕ່າງປະເທດ .
ແບບປົກກະຕິທີສາມ (3NF)
ຮູບແບບປົກກະຕິທີສາມ (3NF) ແມ່ນຫນຶ່ງໃນຂະຫນາດໃຫຍ່ອີກຕໍ່ໄປ:
- ຕອບສະຫນອງຄວາມຕ້ອງການທັງຫມົດຂອງຮູບແບບປົກກະຕິທີສອງ.
- ເອົາຖັນທີ່ບໍ່ຂຶ້ນກັບຄີຫລັກ.
ແບບປົກກະຕິ Boyce-Codd (BCNF ຫຼື 3.5NF)
ຮູບແບບປົກກະຕິ Boyce-Codd, ເອີ້ນວ່າ "ຮູບແບບປົກກະຕິທີສາມແລະເຄິ່ງ (3.5) ແບບປົກກະຕິ", ເພີ້ມຄວາມຕ້ອງການຫນຶ່ງຕື່ມອີກ:
- ຕອບສະຫນອງຄວາມຕ້ອງການທັງຫມົດຂອງຮູບແບບປົກກະຕິທີສາມ.
- ທຸກໆຕົວກໍານົດຕ້ອງເປັນ ຜູ້ນໍາໃຊ້ທີ່ສໍາຄັນ.
ແບບປົກກະຕິທີສີ່ (4NF)
ສຸດທ້າຍ, ແບບຟອມປົກກະຕິທີ່ສີ່ (4NF) ມີຄວາມຕ້ອງການຫນຶ່ງຕື່ມອີກ:
- ຕອບສະຫນອງຄວາມຕ້ອງການທັງຫມົດຂອງຮູບແບບປົກກະຕິທີສາມ.
- ສາຍພົວພັນແມ່ນຢູ່ໃນ 4NF ຖ້າວ່າມັນບໍ່ມີຄວາມຕ້ອງ ການທີ່ມີມູນຄ່າ ຫລາຍ.
ຈືຂໍ້ມູນການ, ແນວຄວາມຄິດປົກກະຕິເຫຼົ່ານີ້ແມ່ນສະສົມ. ສໍາລັບຖານຂໍ້ມູນທີ່ຈະຢູ່ໃນ 2NF, ທໍາອິດມັນຕ້ອງປະຕິບັດຕາມເງື່ອນໄຂຂອງຖານຂໍ້ມູນ 1NF.
ຂ້ອຍຄວນ Normalize?
ໃນຂະນະທີ່ການປົກກະຕິຂອງຖານຂໍ້ມູນແມ່ນຄວາມຄິດທີ່ດີ, ມັນບໍ່ແມ່ນຄວາມຕ້ອງການຢ່າງແທ້ຈິງ. ໃນຄວາມເປັນຈິງ, ມີບາງກໍລະນີທີ່ລະເມີດເຈດຕະນາກົດລະບຽບຂອງການປົກກະຕິແມ່ນເປັນການປະຕິບັດທີ່ດີ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຫົວຂໍ້ນີ້, ອ່ານ ຂ້ອຍຄວນ Normalize ຖານຂໍ້ມູນຂອງຂ້ອຍບໍ?
ຖ້າທ່ານຕ້ອງການເພື່ອໃຫ້ຖານຂໍ້ມູນຂອງທ່ານຖືກປົກກະຕິແລ້ວ, ເລີ່ມຕົ້ນດ້ວຍການຮຽນຮູ້ ວິທີການໃສ່ຖານຂໍ້ມູນຂອງທ່ານເປັນແບບຟອມທໍາອິດ .