Normalizing Database ຂອງທ່ານ: First Normal Form

ເຫຼົ່ານີ້ກົດສອງງ່າຍໆຈະຊ່ວຍເຮັດໃຫ້ຖານຂໍ້ມູນຂອງທ່ານປະກະຕິ

ແບບປະກະຕິທໍາອິດ (1NF) ກໍານົດກົດລະບຽບພື້ນຖານສໍາລັບຖານຂໍ້ມູນທີ່ຖືກຈັດຕັ້ງ:

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

1. ລົບລ້າງການສໍາເນົາ

ກົດລະບຽບທໍາອິດກໍານົດວ່າພວກເຮົາບໍ່ຕ້ອງຊ້ໍາຂໍ້ມູນພາຍໃນແຖວດຽວຂອງຕາຕະລາງ. ພາຍໃນຊຸມຊົນຖານຂໍ້ມູນ, ແນວຄວາມຄິດນີ້ຖືກເອີ້ນວ່າ atomicity ຂອງຕາຕະລາງ. ຕາຕະລາງທີ່ປະຕິບັດຕາມກົດລະບຽບນີ້ຖືກກ່າວວ່າເປັນປະລໍາມະນູ. ໃຫ້ຄົ້ນຫຼັກຖານນີ້ດ້ວຍຕົວຢ່າງຄລາສສິກ: ຕາຕະລາງພາຍໃນຖານຂໍ້ມູນຊັບພະຍາກອນມະນຸດທີ່ເກັບຮັກສາການພົວພັນຜູ້ຈັດການ - ຕ່ໍາກວ່າ. ສໍາລັບຈຸດປະສົງຂອງຕົວຢ່າງຂອງພວກເຮົາ, ພວກເຮົາຈະປະຕິບັດກົດລະບຽບທຸລະກິດທີ່ຜູ້ຈັດການແຕ່ລະຄົນອາດຈະມີຫນຶ່ງຫຼືຫຼາຍກວ່າຜູ້ບັນຍາຍໃນຂະນະທີ່ຜູ້ລົງທຶນສາມາດມີຜູ້ຈັດການເທົ່ານັ້ນ.

ໂດຍກົງ, ເມື່ອສ້າງບັນຊີຫລືລາງລາງເພື່ອຕິດຕາມຂໍ້ມູນນີ້, ພວກເຮົາອາດຈະສ້າງຕາຕະລາງທີ່ມີຂົງເຂດດັ່ງຕໍ່ໄປນີ້:

ຢ່າງໃດກໍ່ຕາມ, ບອກຄືນກົດລະບຽບທໍາອິດ imposed by 1NF: ລົບລ້າງຄໍລໍາທີ່ຊ້ໍາກັນຈາກຕາຕະລາງດຽວກັນ. ແນ່ນອນ, ຄໍລໍາ Subordinate1-Subordinate4 ແມ່ນສໍາເນົາ. ໃຊ້ເວລາແລະພິຈາລະນາບັນຫາທີ່ເກີດຂຶ້ນໂດຍສະຖານະການນີ້. ຖ້າຜູ້ຈັດການມີພຽງແຕ່ຫນຶ່ງຄົນ, ຄໍລໍາ Subordinate2-Subordinate4 ພຽງແຕ່ຖືກສູນເສຍການເກັບຮັກສາພື້ນທີ່ (ສິນຄ້າຖານຂໍ້ມູນທີ່ມີຄ່າ). ຍິ່ງໄປກວ່ານັ້ນ, ຈິນຕະນາການໃນກໍລະນີທີ່ຜູ້ຈັດການມີລູກຈ້າງ 4 ຄົນ - ມີຫຍັງເກີດຂື້ນຖ້າເຈົ້າໃຊ້ຄົນອື່ນ? ໂຄງສ້າງຕາຕະລາງທັງຫມົດຈະຕ້ອງມີການດັດແກ້.

ໃນຈຸດນີ້, ຄວາມຄິດທີ່ສົດໃສຄັ້ງທີສອງມັກເກີດຂື້ນກັບຜູ້ໃຫມ່ໃນຖານຂໍ້ມູນ: ພວກເຮົາບໍ່ຕ້ອງການຫລາຍກວ່າຫນຶ່ງຄໍລໍາແລະພວກເຮົາຕ້ອງການໃຫ້ມີການເກັບຂໍ້ມູນທີ່ມີຄວາມຍືດຫຍຸ່ນ. ໃຫ້ພະຍາຍາມບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:

ແລະພາກສະຫນາມຂອງ Subordinates ຈະມີຫຼາຍລາຍການໃນຮູບແບບ "ຖາມ, ບິນ, ໂຈ."

ການແກ້ໄຂນີ້ແມ່ນໃກ້ຊິດ, ແຕ່ວ່າມັນຍັງຢູ່ລ້າສຸດຂອງເຄື່ອງຫມາຍ. ຄໍລໍາ subordinates ແມ່ນຍັງດັ້ງເດີມແລະບໍ່ແມ່ນອະຕອມ. ຈະເກີດຫຍັງຂຶ້ນເມື່ອພວກເຮົາຈໍາເປັນຕ້ອງເພີ່ມຫຼືເອົາຜູ້ໃຕ້ບັງຄັບບັນຊາ? ພວກເຮົາຈໍາເປັນຕ້ອງອ່ານແລະຂຽນເນື້ອໃນທັງຫມົດຂອງຕາຕະລາງ. ມັນບໍ່ແມ່ນເລື່ອງໃຫຍ່ໃນສະຖານະການນີ້, ແຕ່ວ່າຖ້າຜູ້ຈັດການຫນຶ່ງຄົນມີຫນຶ່ງຮ້ອຍຄົນບໍ? ນອກຈາກນັ້ນ, ມັນກໍ່ເຮັດໃຫ້ສັບສົນຂະບວນການເລືອກຂໍ້ມູນຈາກຖານຂໍ້ມູນໃນການສອບຖາມໃນອະນາຄົດ.

ຕໍ່ໄປນີ້ແມ່ນຕາຕະລາງທີ່ມີຄວາມສອດຄ່ອງກັບກົດລະບຽບທໍາອິດຂອງ 1NF:

ໃນກໍລະນີນີ້, ແຕ່ລະຄົນຍ່ອຍມີລາຍການດຽວ, ແຕ່ຜູ້ຈັດການອາດມີຫຼາຍລາຍການ.

2. ກໍານົດຫຼັກສໍາຄັນ

ຕອນນີ້, ກ່ຽວກັບກົດລະບຽບທີສອງ: ກໍານົດແຖວແຕ່ລະແນວໃດມີຄໍລໍາທີ່ເປັນເອກະລັກຫຼືຊຸດຄໍລໍາ ( ຄີຫລັກ )? ທ່ານອາດຈະເບິ່ງຢູ່ໃນຕາຕະລາງຂ້າງເທິງແລະແນະນໍາການນໍາໃຊ້ຄໍລໍາຍ່ອຍທີ່ເປັນຄີຫລັກ. ໃນຄວາມເປັນຈິງ, ຄໍລໍາຍ່ອຍແມ່ນຜູ້ສະຫມັກທີ່ດີສໍາລັບກຸນແຈຫລັກເນື່ອງຈາກຄວາມຈິງທີ່ວ່າກົດລະບຽບຂອງທຸລະກິດຂອງພວກເຮົາກໍານົດວ່າແຕ່ລະຄົນຍ່ອຍສາມາດມີຜູ້ຈັດການເທົ່ານັ້ນ. ຢ່າງໃດກໍຕາມ, ຂໍ້ມູນທີ່ພວກເຮົາໄດ້ເລືອກທີ່ຈະເກັບຮັກສາໃນຕາຕະລາງຂອງພວກເຮົາເຮັດໃຫ້ນີ້ເປັນການແກ້ໄຂຫນ້ອຍກວ່າທີ່ເຫມາະສົມ. ຈະເປັນແນວໃດຖ້າວ່າພວກເຮົາຈ້າງຄົນອື່ນທີ່ມີຊື່ວ່າຈິມ? ພວກເຮົາເກັບຮັກສາຄວາມສໍາພັນຂອງຜູ້ຈັດການລາວຢູ່ໃນຖານຂໍ້ມູນໄດ້ແນວໃດ?

ມັນເປັນການດີທີ່ສຸດທີ່ຈະໃຊ້ຕົວລະບຸຕົວເປັນເອກະລັກແທ້ໆ (ເຊັ່ນ: ID ພະນັກງານ) ເປັນ ກຸນແຈສໍາຄັນ . ຕາຕະລາງສຸດທ້າຍຂອງພວກເຮົາຈະຄືແນວນີ້:

ໃນປັດຈຸບັນ, ຕາຕະລາງຂອງພວກເຮົາແມ່ນຢູ່ໃນຮູບແບບປົກກະຕິທໍາອິດ! ຖ້າທ່ານຢາກສືບຕໍ່ຮຽນຮູ້ກ່ຽວກັບການປົກກະຕິ, ອ່ານບົດອື່ນໆໃນຊຸດນີ້: