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

ความแตกต่างระหว่าง Primary Key และ Foreign Key ใน DBMS


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)
);