Basic Database Normalization

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) ມີຄວາມຕ້ອງການຫນຶ່ງຕື່ມອີກ:

ຈືຂໍ້ມູນການ, ແນວຄວາມຄິດປົກກະຕິເຫຼົ່ານີ້ແມ່ນສະສົມ. ສໍາລັບຖານຂໍ້ມູນທີ່ຈະຢູ່ໃນ 2NF, ທໍາອິດມັນຕ້ອງປະຕິບັດຕາມເງື່ອນໄຂຂອງຖານຂໍ້ມູນ 1NF.

ຂ້ອຍຄວນ Normalize?

ໃນຂະນະທີ່ການປົກກະຕິຂອງຖານຂໍ້ມູນແມ່ນຄວາມຄິດທີ່ດີ, ມັນບໍ່ແມ່ນຄວາມຕ້ອງການຢ່າງແທ້ຈິງ. ໃນຄວາມເປັນຈິງ, ມີບາງກໍລະນີທີ່ລະເມີດເຈດຕະນາກົດລະບຽບຂອງການປົກກະຕິແມ່ນເປັນການປະຕິບັດທີ່ດີ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຫົວຂໍ້ນີ້, ອ່ານ ຂ້ອຍຄວນ Normalize ຖານຂໍ້ມູນຂອງຂ້ອຍບໍ?

ຖ້າທ່ານຕ້ອງການເພື່ອໃຫ້ຖານຂໍ້ມູນຂອງທ່ານຖືກປົກກະຕິແລ້ວ, ເລີ່ມຕົ້ນດ້ວຍການຮຽນຮູ້ ວິທີການໃສ່ຖານຂໍ້ມູນຂອງທ່ານເປັນແບບຟອມທໍາອິດ .