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

Unique Key ใน RDBMS


หลายคนเข้าใจผิดว่า Primary Key คือ Unique Key เพราะทั้งคู่ระบุตารางได้อย่างเฉพาะเจาะจง แต่ Unique Key ต่างจาก Primary Key จุดสำคัญคือ Unique Key ยอมรับค่า NULL ได้ ส่วน Primary Key ห้ามมี NULL

การเปรียบเทียบ Primary Key และ Unique Key

1. การใช้งาน (Usage)

Unique Key ใช้ป้องกันค่าซ้ำในคอลัมน์ Primary Key ให้ความเป็นเอกidentity กับตาราง

2. ค่า NULL

Primary Key ไม่ยอมรับค่า NULL Unique Key ยอมรับค่า NULL ได้ 1 ค่า (ในบางระบบอาจหลายค่า ขึ้นอยู่กับ implementation)

3. จำนวน

ตารางมี Primary Key ได้เพียง 1 ตัว Unique Key สามารถมีหลายตัวในตารางเดียวกันได้

4. การป้องกันข้อมูลซ้ำ

Unique Key รับรองว่าไม่มีข้อมูลซ้ำใน 2 แถว แถวสามารถมี NULL ได้ในกรณี Unique Key

5. การแก้ไข (Modification)

Primary Key ไม่สามารถแก้ไขได้ (โดยทั่วไป) Unique Key สามารถแก้ไขได้

ตัวอย่าง

ตาราง Employee:

Emp_ID (PK) Email (UK) Phone (UK) Name
1 john@email.com 081-111-1111 John
2 jane@email.com NULL Jane
3 NULL 081-333-3333 Bob

Emp_ID = Primary Key (unique, not null)
Email, Phone = Unique Keys (unique, can be null)