ແມ່ນຫຍັງທີ່ກ່ຽວຂ້ອງກັບຖານຂໍ້ມູນ?

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

Dependencies ຖານຂໍ້ມູນ / ຂໍ້ມູນກ່ຽວກັບການເຮັດວຽກ

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

ເວົ້າວ່າມີຄວາມຂັດແຍ່ງກັນລະຫວ່າງຄຸນລັກສະນະໃນຕາຕະລາງແມ່ນຄືກັນກັບການກ່າວວ່າມີຄວາມເຂົ້າໃຈກ່ຽວກັບຄຸນສົມບັດທີ່ມີຄຸນສົມບັດກັນລະຫວ່າງຄຸນລັກສະນະເຫຼົ່ານັ້ນ. ຖ້າມີຂໍ້ຂັດແຍ່ງໃນຖານຂໍ້ມູນດັ່ງກ່າວທີ່ວ່າ attribute B ແມ່ນຂຶ້ນກັບຄຸນລັກສະນະ A, ທ່ານຈະຂຽນນີ້ເປັນ "A -> B".

ຕົວຢ່າງ: ໃນຕາຕະລາງລາຍລະອຽດກ່ຽວກັບພະນັກງານລວມທັງເລກປະກັນສັງຄົມ (SSN) ແລະຊື່, ມັນສາມາດເວົ້າໄດ້ວ່າຊື່ແມ່ນຂຶ້ນກັບ SSN (ຫຼື SSN -> ຊື່) ເນື່ອງຈາກຊື່ຂອງພະນັກງານສາມາດຖືກກໍານົດໂດຍ SSN ຂອງເຂົາເຈົ້າ. ຢ່າງໃດກໍ່ຕາມ, ຄໍາສັ່ງກັບ (ຊື່ -> SSN) ບໍ່ແມ່ນຄວາມຈິງເພາະຫຼາຍກວ່າຫນຶ່ງຄົນສາມາດມີຊື່ດຽວກັນແຕ່ SSNs ທີ່ແຕກຕ່າງກັນ.

Trivial Functional Dependencies

ການເບິ່ງ ແຍງທີ່ມີປະສິດທິພາບທີ່ບໍ່ສໍາຄັນ ເກີດຂື້ນໃນເວລາທີ່ທ່ານອະທິບາຍການປະຕິບັດຫນ້າທີ່ຂອງຄຸນສົມບັດກ່ຽວກັບການລວບລວມຄຸນລັກສະນະທີ່ມີຄຸນສົມບັດຕົ້ນສະບັບ. ຕົວຢ່າງເຊັ່ນ "{A, B} -> B" ເປັນການ ປະຕິບັດທີ່ບໍ່ມີຜົນປະໂຫຍດ, ຄືກັບ "{name, SSN} -> SSN". ປະເພດການເບິ່ງແຍງທີ່ເປັນປະໂຫຍດນີ້ຖືກເອີ້ນວ່າບໍ່ຖືກຕ້ອງເນື່ອງຈາກມັນສາມາດໄດ້ຮັບຈາກຄວາມຮູ້ສຶກທົ່ວໄປ. ມັນເປັນທີ່ຊັດເຈນວ່າຖ້າທ່ານຮູ້ແລ້ວວ່າຄ່າຂອງ B, ຫຼັງຈາກນັ້ນມູນຄ່າຂອງ B ສາມາດຖືກກໍານົດໂດຍຄວາມຮູ້ດຽວກັນ.

Full Dependencies Functional

ການກໍາຈັດທີ່ມີ ປະໂຫຍດຢ່າງເຕັມທີ່ ເກີດຂື້ນເມື່ອທ່ານໄດ້ຕອບສະຫນອງຄວາມຕ້ອງການສໍາລັບຄວາມເຂົ້າໃຈທີ່ເປັນປະໂຫຍດແລະກໍານົດຂອງຄຸນລັກສະນະຢູ່ດ້ານຊ້າຍຂອງຄໍາສັ່ງ dependency ທີ່ເປັນປະໂຫຍດ ບໍ່ສາມາດຫຼຸດລົງຕື່ມອີກ. ຕົວຢ່າງເຊັ່ນ "{SSN, age} -> name" ແມ່ນຄວາມເປັນໄປໄດ້ທີ່ເປັນປະໂຫຍດ, ແຕ່ມັນບໍ່ແມ່ນຄວາມຕ້ອງການ ທີ່ມີປະໂຫຍດຢ່າງເຕັມທີ່ ເນື່ອງຈາກວ່າທ່ານສາມາດເອົາອາຍຸຈາກເບື້ອງຊ້າຍຂອງຄໍາສັ່ງອອກໄປໂດຍບໍ່ມີຜົນກະທົບຕໍ່ຄວາມສໍາພັນ.

Transitive Dependencies

ຄວາມຂັດແຍ້ງຊ້ໍາຊ້ອນ ເກີດຂື້ນໃນເວລາທີ່ມີຄວາມສໍາພັນທາງອ້ອມທີ່ເປັນສາເຫດຂອງການມີສ່ວນກ່ຽວຂ້ອງ. ຕົວຢ່າງເຊັ່ນ "A-> C" ເປັນຄວາມ ຂັດແຍ້ງທີ່ຄ່ອງແຄ້ວ ເມື່ອມັນເປັນຄວາມຈິງເພາະວ່າທັງ "A - B" ແລະ "B - C" ແມ່ນຄວາມຈິງ.

Multivalued Dependencies

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

ຄວາມສໍາຄັນຂອງຄວາມຂັດແຍ່ງ

ຄວາມຕ້ອງການຂອງຖານຂໍ້ມູນເປັນສິ່ງສໍາຄັນທີ່ຈະເຂົ້າໃຈເພາະວ່າພວກເຂົາສະຫນອງການກໍ່ສ້າງພື້ນຖານທີ່ໃຊ້ໃນການ ປົກກະຕິຂອງຖານຂໍ້ມູນ . ຍົກ​ຕົວ​ຢ່າງ: