Multivariate dependency breaks form form normal 4
ໃນຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ, ຄວາມຂັດແຍ້ງເກີດຂຶ້ນເມື່ອຂໍ້ມູນທີ່ເກັບໄວ້ໃນຕາຕະລາງຖານຂໍ້ມູນດຽວກັນກໍານົດຂໍ້ມູນອື່ນທີ່ເກັບໄວ້ໃນຕາຕະລາງດຽວກັນ. ການ ເພີ່ມ ຂື້ນ multivalued ເກີດຂື້ນເມື່ອມີຫນຶ່ງຫຼືຫລາຍແຖວໃນຕາຕະລາງຫມາຍເຖິງການມີແຖວຫນຶ່ງຫຼືຫຼາຍແຖວໃນຕາຕະລາງດຽວກັນ. ໃສ່ວິທີຫນຶ່ງ, ສອງຄຸນລັກສະນະ (ຫຼືຄໍລໍາ) ໃນຕາຕະລາງເປັນເອກະລາດຂອງກັນແລະກັນ, ແຕ່ທັງສອງແມ່ນຂຶ້ນກັບຄຸນສົມບັດທີສາມ.
ການເພີ່ມຂື້ນ multivalued ປ້ອງກັນມາດຕະຖານປົກກະຕິມາດຕະຖານແບບປົກກະຕິສີ່ (4NF). ຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງປະຕິບັດຕາມຫ້າຮູບແບບປົກກະຕິທີ່ເປັນຕົວຊີ້ວັດສໍາລັບການອອກແບບບັນທຶກ. ພວກເຂົາເຈົ້າປ້ອງກັນບໍ່ໃຫ້ເກີດຄວາມຜິດພາດແລະຄວາມບໍ່ສອດຄ່ອງໃນຂໍ້ມູນ. ແບບຟອມປົກກະຕິທີ່ສີ່ຂອງການພົວພັນຫຼາຍກັບຫນຶ່ງໃນ ຖານຂໍ້ມູນ .
ຄວາມເຂັ້ມງວດຂອງຫນ້າທີ່ເຮັດວຽກແລະຄວາມເພິ່ງພໍໃຈຂອງຫຼາຍໆຄົນ
ເພື່ອໃຫ້ເຂົ້າໃຈຄວາມຕ້ອງການທີ່ມີຄວາມຈໍາເປັນຫລາຍ, ມັນຈະເປັນປະໂຫຍດທີ່ຈະເຂົ້າໃຈອີກວ່າການເປັນເພິ່ງພາອາໄສແມ່ນຫຍັງ.
Y ຖ້າ X attribute X ກໍາຫນົດເສພາະ Y, Y ຈະເຮັດວຽກຂຶ້ນຢູ່ກັບ X. ນີ້ຈະຖືກຂຽນເປັນ X -> Y. ໃນຕົວ Student_Name, ຕົວຢ່າງ Student_Name ຈະກໍານົດ Major:
Student_Name | Major |
---|---|
Ravi | Art History |
Beth | ເຄມີສາດ |
ຄວາມຂັດແຍ້ງທີ່ເປັນປະໂຫຍດນີ້ສາມາດຂຽນໄດ້: Student_Name -> Major . ແຕ່ລະ Student_Name ກໍານົດຢ່າງແທ້ຈິງຫນຶ່ງຫຼັກ, ແລະບໍ່ມີຫຼາຍ.
ຖ້າທ່ານຕ້ອງການຖານຂໍ້ມູນທີ່ຈະຕິດຕາມນັກກິລານັກຮຽນເຫຼົ່ານີ້, ທ່ານອາດຄິດວ່າວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະເຮັດນີ້ແມ່ນພຽງແຕ່ໃສ່ຄໍລໍາອື່ນທີ່ມີຊື່ວ່າ Sport:
Student_Name | Major | ກິລາ |
---|---|---|
Ravi | Art History | ຟຸດບານ |
Ravi | Art History | ວອນເລບານ |
Ravi | Art History | ເທນນິດ |
Beth | ເຄມີສາດ | ເທນນິດ |
Beth | ເຄມີສາດ | ຟຸດບານ |
ບັນຫາຢູ່ທີ່ນີ້ແມ່ນວ່າທັງ Ravi ແລະ Beth ຫຼິ້ນກິລາຫຼາຍ. ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະເພີ່ມແຖວໃຫມ່ສໍາລັບທຸກກິລາເພີ່ມເຕີມ.
ຕາຕະລາງນີ້ໄດ້ນໍາສະເຫນີການປະຕິບັດທີ່ມີຄວາມຫຼາກຫຼາຍນັບຕັ້ງແຕ່ການແຂ່ງຂັນທີ່ສໍາຄັນແລະການແຂ່ງຂັນກິລາແມ່ນຂື້ນກັບຄົນອື່ນແຕ່ທັງສອງແມ່ນຂຶ້ນກັບນັກຮຽນ.
ນີ້ແມ່ນຕົວຢ່າງທີ່ງ່າຍດາຍແລະສາມາດລະບຸໄດ້ຢ່າງງ່າຍດາຍ, ແຕ່ຄວາມຕ້ອງການ multivalue ອາດຈະເປັນບັນຫາໃນຖານຂໍ້ມູນຂະຫນາດໃຫຍ່ແລະສັບສົນ.
A dependency multivalued ແມ່ນຂຽນ X -> -> Y ໃນກໍລະນີນີ້:
Student_Name -> -> Major
Student_Name -> -> ກິລາ
ນີ້ແມ່ນອ່ານເປັນ "Student_Name multidetermines Major" ແລະ "Student_Name multidetermines Sport".
ການເພີ່ມຂຶ້ນຂອງ multivalued ສະເຫມີຮຽກຮ້ອງໃຫ້ມີຢ່າງຫນ້ອຍສາມຄຸນລັກສະນະເນື່ອງຈາກວ່າມັນປະກອບດ້ວຍຢ່າງຫນ້ອຍສອງຄຸນລັກສະນະທີ່ແມ່ນຂຶ້ນກັບສາມ.
Multivariate Dependency and Normalization
ຕາຕະລາງທີ່ມີການເພີ່ມຂື້ນທີ່ມີຄວາມຫຼາກຫຼາຍ multiplayer violates ມາດຕະຖານປົກກະຕິຂອງ Fourth Normal Form (4NK) ເນື່ອງຈາກວ່າມັນສ້າງຄວາມຈໍາເປັນທີ່ບໍ່ຈໍາເປັນແລະສາມາດປະກອບສ່ວນເຂົ້າຂໍ້ມູນທີ່ບໍ່ສອດຄ່ອງ. ເພື່ອເອົາມາໃຫ້ນີ້ເຖິງ 4NF, ມັນຈໍາເປັນຕ້ອງທໍາລາຍຂໍ້ມູນນີ້ເປັນສອງຕາຕະລາງ.
ຕາຕະລາງຂ້າງລຸ່ມນີ້ມີຄວາມເປັນໄປໄດ້ທີ່ເປັນປະໂຫຍດຂອງ Student_Name -> Major ແລະບໍ່ມີຄວາມຕ້ອງການເພີ່ມເຕີມ:
Student_Name | Major |
---|---|
Ravi | Art History |
Ravi | Art History |
Ravi | Art History |
Beth | ເຄມີສາດ |
Beth | ເຄມີສາດ |
ໃນຂະນະທີ່ຕາຕະລາງນີ້ຍັງມີການປະຕິບັດຫນ້າທີ່ດຽວຂອງ Student_Name -> ກິລາ:
Student_Name | ກິລາ |
---|---|
Ravi | ຟຸດບານ |
Ravi | ວອນເລບານ |
Ravi | ເທນນິດ |
Beth | ເທນນິດ |
Beth | ຟຸດບານ |
ມັນເປັນທີ່ຊັດເຈນວ່າການປົກກະຕິແມ່ນມັກຈະແກ້ໄຂໂດຍການງ່າຍດາຍຕາຕະລາງສະລັບສັບຊ້ອນເພື່ອໃຫ້ພວກເຂົາມີຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບຄວາມຄິດດຽວຫຼືຫົວຂໍ້ແທນທີ່ຈະພະຍາຍາມສ້າງຕາຕະລາງດຽວມີຂໍ້ມູນທີ່ແຕກຕ່າງກັນຫຼາຍ.