ในโพสต์นี้ เราจะเข้าใจความแตกต่างระหว่างคีย์หลักและคีย์ต่างประเทศใน DBMS
คีย์หลัก
-
ใช้เพื่อให้แน่ใจว่าข้อมูลในคอลัมน์เฉพาะไม่ซ้ำกัน
-
ช่วยระบุบันทึกในฐานข้อมูลเชิงสัมพันธ์โดยเฉพาะ
-
อนุญาตให้ใช้คีย์หลักหนึ่งคีย์ในตารางเท่านั้น
-
เป็นการผสมผสานระหว่างข้อจำกัด "UNIQUE" และ "Not Null"
-
ซึ่งหมายความว่าไม่สามารถเป็นค่า NULL ได้
-
ค่าของมันไม่สามารถลบออกจากตารางหลักได้
-
ข้อจำกัดสามารถกำหนดโดยปริยายสำหรับตารางชั่วคราวได้
ตัวอย่าง- ใน SQL:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, …. );
กุญแจต่างประเทศ
-
เป็นคอลัมน์หรือกลุ่มของคอลัมน์ในตารางฐานข้อมูลเชิงสัมพันธ์
-
มันให้ลิงค์ระหว่างข้อมูลในทั้งสองตาราง
-
เป็นฟิลด์ในตารางที่คล้ายคลึงกับคีย์หลักของตารางอื่น
-
อนุญาตให้มีคีย์ต่างประเทศมากกว่าหนึ่งรายการในตาราง
-
สามารถมีค่าที่ซ้ำกันในฐานข้อมูลเชิงสัมพันธ์
-
สามารถมีค่า NULL ได้
-
ค่าของมันสามารถลบออกจากตารางย่อยได้
-
ไม่สามารถกำหนดข้อจำกัดในตารางชั่วคราวในเครื่องหรือทั่วโลกได้
ตัวอย่าง- ใน SQL:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, col_name int FOREIGN KEY REFERENCES Persons(col_name) );