ຫນຶ່ງໃນແນວຄວາມຄິດທີ່ສໍາຄັນທີ່ສຸດໃນຖານຂໍ້ມູນແມ່ນການສ້າງຄວາມສໍາພັນລະຫວ່າງຖານຂໍ້ມູນຖານຂໍ້ມູນ. ສາຍພົວພັນເຫຼົ່ານີ້ສະຫນອງກົນໄກການເຊື່ອມໂຍງຂໍ້ມູນທີ່ເກັບໄວ້ໃນຕາຕະລາງຫຼາຍແລະດຶງດູດມັນໃນແບບທີ່ມີປະສິດທິພາບ. ເພື່ອສ້າງການເຊື່ອມຕໍ່ລະຫວ່າງສອງຕາຕະລາງ, ທ່ານຕ້ອງກໍານົດ ແປ້ນຕ່າງປະເທດ ໃນຕາຕະລາງຫນຶ່ງທີ່ອ້າງອີງໃສ່ຄໍລໍາໃນຕາຕະລາງອື່ນ.
ຕາຕະລາງຖານຂໍ້ມູນແລະການພົວພັນ
ທ່ານອາດຈະຮູ້ວ່າຖານຂໍ້ມູນເປັນ ພຽງແຕ່ຊຸດຂອງຕາຕະລາງ ທີ່ຄ້າຍຄືກັບສິ່ງທີ່ທ່ານອາດຈະໃຊ້ຢູ່ໃນ ໂປຣແກຣມຕາຕະລາງ ເຊັ່ນ Microsoft Excel. ໃນຄວາມເປັນຈິງ, ທ່ານກໍ່ສາມາດປ່ຽນຕາລາງ Excel ໄປຍັງຖານຂໍ້ມູນ. ຢ່າງໃດກໍຕາມ, ບ່ອນທີ່ຖານຂໍ້ມູນ diverge ຈາກຕາຕະລາງ, ແມ່ນກ່ຽວກັບການສ້າງ ຄວາມສໍາພັນ ລະຫວ່າງຕາຕະລາງ.
ຍົກຕົວຢ່າງເຊັ່ນການນໍາໃຊ້ຖານຂໍ້ມູນທີ່ໃຊ້ໂດຍບໍລິສັດເພື່ອຕິດຕາມຂໍ້ມູນຊັບພະຍາກອນມະນຸດ. ຖານຂໍ້ມູນນັ້ນອາດມີຕາຕະລາງທີ່ເອີ້ນວ່າພະນັກງານທີ່ມີຂໍ້ມູນຕໍ່ໄປນີ້ສໍາລັບແຕ່ລະສະມາຊິກຂອງພະນັກງານຂອງບໍລິສັດ:
- Employee ID
- ຊື່ແທ້
- ນາມສະກຸນ
- OfficePhone
- HomePhone
- PositionID
ໃນຕົວຢ່າງນີ້, ພະນັກງານ ID ເປັນຈໍານວນເຕັມທີ່ສ້າງຂຶ້ນແຕ່ລະຄົນທີ່ຖືກມອບໃຫ້ແກ່ພະນັກງານແຕ່ລະຄົນເມື່ອພວກເຂົາຖືກເພີ່ມເຂົ້າໃນຖານຂໍ້ມູນ. ID ຕໍາແຫນ່ງແມ່ນລະຫັດວຽກທີ່ໃຊ້ເພື່ອອ້າງອີງໃສ່ຕໍາແຫນ່ງຂອງພະນັກງານໃນບໍລິສັດ. ໃນໂຄງການນີ້, ພະນັກງານອາດຈະມີຕໍາແຫນ່ງຫນຶ່ງເທົ່ານັ້ນ, ແຕ່ພະນັກງານຫຼາຍໆຄົນ (ຫຼືບໍ່) ສາມາດຕື່ມຕໍາແຫນ່ງແຕ່ລະຄົນ. ຕົວຢ່າງ, ທ່ານອາດຈະມີພະນັກງານຫຼາຍຮ້ອຍຄົນທີ່ມີຕໍາແຫນ່ງ "Cashier".
ຖານຂໍ້ມູນອາດຈະມີຕາຕະລາງທີ່ເອີ້ນວ່າຕໍາແຫນ່ງທີ່ມີຂໍ້ມູນເພີ່ມເຕີມຕໍ່ໄປນີ້ກ່ຽວກັບແຕ່ລະຕໍາແຫນ່ງ:
- PositionID
- Title
- JobLevel
- SkillCategory
- ສະຖານທີ່
ສະຫນາມຕໍາແຫນ່ງ ID ໃນຕາຕະລາງນີ້ແມ່ນຄ້າຍຄືກັນກັບລະຫັດ Employee ID ໃນຕາລາງພະນັກງານ - ມັນເປັນຈໍານວນເຕັມທີ່ສ້າງຂຶ້ນເມື່ອສ້າງຖານຂໍ້ມູນໃນຖານຂໍ້ມູນ.
ໃນເວລາທີ່ພວກເຮົາໄປດຶງລາຍຊື່ຂອງພະນັກງານຈາກຖານຂໍ້ມູນ, ມັນຈະເປັນທໍາມະດາທີ່ຈະຂໍໃຫ້ຊື່ຂອງແຕ່ລະບຸກຄົນແລະຊື່ຂອງເຂົາເຈົ້າ. ຢ່າງໃດກໍຕາມ, ຂໍ້ມູນນີ້ຖືກເກັບຢູ່ໃນຕາຕະລາງຖານຖານຂໍ້ມູນຫລາຍ, ດັ່ງນັ້ນມັນສາມາດເອີ້ນຄືນໄດ້ໂດຍໃຊ້ຄໍາຖາມ JOIN ທີ່ຕ້ອງການຄວາມສໍາພັນລະຫວ່າງຕາຕະລາງ.
ໃນເວລາທີ່ທ່ານເບິ່ງໂຄງສ້າງຂອງຕາຕະລາງ, ພາກສະຫນາມກໍານົດຄວາມສໍາພັນແມ່ນອາດຈະແຈ້ງ - ເຂດ ID ຕໍາແຫນ່ງ. ພະນັກງານແຕ່ລະຄົນສາມາດມີພຽງແຕ່ຕໍາແຫນ່ງຫນຶ່ງແລະຕໍາແຫນ່ງທີ່ຖືກກໍານົດໂດຍການລວມເອົາ ID ຕໍາແຫນ່ງຈາກການເຂົ້າຮ່ວມຂອງຕາຕະລາງຕໍາແຫນ່ງ. ນອກເຫນືອຈາກການເປັນ ຫຼັກສໍາຄັນ ສໍາລັບຕາຕະລາງຕໍາແຫນ່ງ, ໃນຕົວຢ່າງນີ້, ເຂດຕໍາແຫນ່ງ ID ແມ່ນຍັງເປັນລະຫັດຕ່າງປະເທດຈາກ Table Employees ກັບຕາຕະລາງ Positions. ຖານຂໍ້ມູນດັ່ງກ່າວສາມາດນໍາໃຊ້ພາກສະຫນາມນີ້ເພື່ອເຮັດໃຫ້ຂໍ້ມູນທີ່ແຕກຕ່າງກັນຈາກຕາຕະລາງຫຼາຍແລະຮັບປະກັນວ່າການປ່ຽນແປງຫຼືການເພີ່ມເຕີມໃດໆກັບຖານຂໍ້ມູນຈະສືບຕໍ່ບັງຄັບໃຊ້ ຄວາມສົມບູນແບບອ້າງອີງ .
ເມື່ອທ່ານໄດ້ກໍານົດຫຼັກຕ່າງປະເທດ, ທ່ານສາມາດສືບຕໍ່ເດີນຫນ້າແລະດຶງຂໍ້ມູນທີ່ຕ້ອງການຈາກຖານຂໍ້ມູນໂດຍໃຊ້ຄໍາຖາມຕໍ່ໄປນີ້:
ການສ້າງຄີຕ່າງປະເທດໃນ SQL Server
ໂດຍວິທີທາງເທກນິກ, ທ່ານບໍ່ຈໍາເປັນຕ້ອງກໍານົດຄວາມສໍາພັນຢ່າງຊັດເຈນເພື່ອສາມາດດໍາເນີນການສອບຖາມເຊັ່ນວ່າຂໍ້ຫນຶ່ງຂ້າງເທິງ. ຢ່າງໃດກໍຕາມ, ຖ້າທ່ານໄດ້ກໍານົດຢ່າງຊັດເຈນການພົວພັນທີ່ນໍາໃຊ້ຂໍ້ຈໍາກັດຫຼັກການຕ່າງປະເທດ, ຖານຂໍ້ມູນຈະສາມາດເຮັດວຽກເຮັດຄວາມສະອາດເຮືອນໄດ້ບາງຢ່າງສໍາລັບທ່ານ:
- ເມື່ອທ່ານເພີ່ມບັນທຶກໃຫມ່ໄປຫາຕາຕະລາງພະນັກງານ, ຖານຂໍ້ມູນຈະຮັບປະກັນວ່າ ID ຕໍາແຫນ່ງທີ່ທ່ານໃສ່ແມ່ນ ຫຼັກຫຼັກທີ່ຖືກຕ້ອງ ໃນຕາຕະລາງຕໍາແຫນ່ງ.
- ຖ້າທ່ານປ່ຽນ ID ຕໍາແຫນ່ງໃນຕາຕະລາງຕໍາແຫນ່ງ, ຖານຂໍ້ມູນສາມາດປະຕິບັດການປັບປຸງທີ່ຈໍາເປັນໃນຕາຕະລາງ Employees ເພື່ອຮັກສາຄວາມສອດຄ່ອງ.
- ຖານຂໍ້ມູນສາມາດປ້ອງກັນຜົນກະທົບຂອງການລຶບຕໍາແຫນ່ງຈາກຕາຕະລາງຕໍາແຫນ່ງໂດຍປະຕິເສດການລົບຕໍາແຫນ່ງທີ່ມີພະນັກງານທີ່ສອດຄ້ອງກັນຫຼືປະຕິບັດການລ້າງ cascading ຂອງພະນັກງານທີ່ກ່ຽວຂ້ອງທັງຫມົດ.
ນີ້ແມ່ນວິທີທີ່ທ່ານຈະສ້າງຄີຕ່າງປະເທດໃນ SQL Server:
ຕາຕະລາງ ALTER TABLE ພະນັກງານທີ່ໄດ້ຮັບການເພີ່ມເຕີມຂອງຕໍາແຫນ່ງທີ່ຕັ້ງ (ຕໍາແຫນ່ງ ID)ນອກນັ້ນທ່ານຍັງສາມາດສ້າງຄີຕ່າງປະເທດໃນເວລາທີ່ທ່ານສ້າງຕາຕະລາງໂດຍການເພີ່ມເງື່ອນໄຂ:
ຕໍາແຫນ່ງທີ່ສໍາຄັນຂອງເອີຣົບ (PositionID)ກັບຄໍານິຍາມຂອງຄໍລໍາສໍາລັບຄໍລໍາສໍາຄັນຕ່າງປະເທດ.