Multivalued Dependency ໃນການອອກແບບຖານຂໍ້ມູນ

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 ຟຸດບານ

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