Primary Key
- รับรองว่าข้อมูลในคอลัมน์เฉพาะเป็น Unique
- ช่วยระบุ Record ใน Relational Database ให้ Unique
- อนุญาตเพียง 1 Primary Key ต่อ Table
- เป็นการรวม UNIQUE + NOT NULL Constraints
- ไม่สามารถเป็น NULL ได้
- ค่าไม่สามารถลบจาก Parent Table ได้
- Constraint สามารถกำหนด Implicit ได้สำหรับ Temporary Tables
ตัวอย่าง SQL
CREATE TABLE table_name (
col_name int NOT NULL PRIMARY KEY,
...
);
Foreign Key
- เป็น Column หรือกลุ่ม Columns ใน Relational Database Table
- สร้าง Link ระหว่างข้อมูลในทั้ง 2 Tables
- เป็น Field ที่ analogous กับ Primary Key ของ Table อื่น
- อนุญาต Foreign Key หลายตัวต่อ Table
- สามารถมี Duplicate Values ได้
- สามารถเป็น NULL ได้
- ค่าสามารถลบจาก Child Table ได้
- Constraint ไม่สามารถกำหนดบน Local/Global Temporary Tables ได้
ตัวอย่าง SQL
CREATE TABLE table_name (
col_name int NOT NULL PRIMARY KEY,
col_name int FOREIGN KEY REFERENCES Persons(col_name)
);