Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

Foreign Key ใน RDBMS


Foreign Key สร้างลิงก์ระหว่างตาราง อ้างอิง Primary Key ในอีกตารางหนึ่งและเชื่อมโยงกัน

ตัวอย่าง

<Employee>

EmpID EmpName EmpAge DeptID

<Department>

DeptID DeptName DeptZone

DeptID ในตาราง Department เป็น Primary Key ของตาราง Department

DeptID ในตาราง Employee เป็น Foreign Key ของตาราง Employee

Foreign Key ใน RDBMS

Foreign Key ของตาราง Employee คือ Primary Key ของตาราง Department

คุณสมบัติสำคัญ

  • Foreign Key ต้องมีชนิดข้อมูล (data type) เหมือน Primary Key ที่อ้างอิง
  • ค่าใน Foreign Key ต้องมีอยู่ใน Primary Key ของตารางอ้างอิง (Referential Integrity)
  • Foreign Key สามารถเป็น NULL ได้ (ถ้าไม่ได้ตั้งค่า NOT NULL)
  • ตารางหนึ่งสามารถมี Foreign Key หลายตัวได้

Referential Actions

  • ON DELETE CASCADE: ลบ child records อัตโนมัติ
  • ON DELETE SET NULL: ตั้งค่า FK เป็น NULL
  • ON DELETE RESTRICT: ห้ามลบถ้ามี child records
  • ON UPDATE CASCADE: อัปเดต FK ตาม PK อัตโนมัติ