Blockdit Logo
Blockdit Logo (Mobile)
สำรวจ
ลงทุน
คำถาม
เข้าสู่ระบบ
มีบัญชีอยู่แล้ว?
เข้าสู่ระบบ
หรือ
ลงทะเบียน
Shoper Gamer
•
ติดตาม
21 ก.ย. เวลา 05:15 • การศึกษา
Data By Shoper Gamer
Super Key คืออะไร
โดย
ในโลกของการออกแบบฐานข้อมูลเชิงสัมพันธ์ Super Key เป็นแนวคิดพื้นฐานที่สำคัญที่นำไปสู่การเข้าใจ Primary Key, Candidate Key และ Normalization บทความนี้จะพาคุณเจาะลึกไปกับ Super Key ตั้งแต่แนวคิดพื้นฐานไปจนถึงการนำไปประยุกต์ใช้ในการออกแบบฐานข้อมูล
1
★
Super Key คืออะไร
Super Key คือชุดของหนึ่งหรือมากกว่าหนึ่งคุณลักษณะ (ฟิลด์) ที่สามารถระบุแต่ละแถว (record) ในตารางได้อย่างไม่ซ้ำกัน โดยมีคุณสมบัติพื้นฐานคือ
✅️ ความเป็นเอกลักษณ์ (Uniqueness) ต้องระบุแต่ละแถวได้ไม่ซ้ำกัน
✅️ อาจมีคุณลักษณะที่ซ้ำซ้อน (Redundant attributes) ได้
★
Super Key ทำงานอย่างไร
☆ หลักการทำงาน
1) การรวมคุณลักษณะ ตั้งแต่หนึ่งตัวขึ้นไป
2) การตรวจสอบความไม่ซ้ำกันของการรวมกันของคุณลักษณะ
3) การระบุตัวตนของแต่ละแถวในตาราง
★
ตัวอย่างการพิจารณา Super Key
จากตาราง Employees (พนักงาน)
○ EmployeeID
○ EmployeeName
○ Email
○ PhoneNumber
Super Keys ที่เป็นไปได้
○ {EmployeeID}
○ {EmployeeID, EmployeeName}
○ {Email}
○ {Email, PhoneNumber}
○ {EmployeeID, Email, PhoneNumber}
★
ประเภทของ Keys ที่เกี่ยวข้อง
1) Super Key
○ ชุดของคุณลักษณะที่ระบุแถวได้ไม่ซ้ำกัน
○ อาจมีคุณลักษณะที่ไม่จำเป็นรวมอยู่ด้วย
2) Candidate Key
○ Super Key ที่มีขนาดเล็กที่สุด
○ ไม่มีคุณลักษณะที่ซ้ำซ้อน
○ ตัวอย่าง {EmployeeID}, {Email}
3) Primary Key
○ Candidate Key ที่ถูกเลือกให้เป็นคีย์หลัก
○ ใช้สำหรับการอ้างอิง และสร้างความสัมพันธ์
4) Alternate Key
○ Candidate Key ที่ไม่ได้ถูกเลือกเป็น Primary Key
○ ตัวอย่าง ถ้าเลือก EmployeeID เป็น PK แล้ว Email จะเป็น Alternate Key
★
ประโยชน์ของ Super Key
✅ เป็นพื้นฐานในการหา Candidate Keys
✅ ช่วยในการออกแบบฐานข้อมูลที่มีประสิทธิภาพ
✅ สนับสนุนกระบวนการ Normalization
✅ เข้าใจความสัมพันธ์ระหว่างคุณลักษณะ
✅ ป้องกันข้อมูลซ้ำซ้อน
★
ตัวอย่างการใช้งาน Super Key
☆ ตัวอย่าง 1 ตาราง Students
```sql
CREATE TABLE Students (
StudentID INT,
CitizenID CHAR(13),
StudentCode VARCHAR(10),
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(100)
);
```
☆ Super Keys ที่เป็นไปได้
✅️ {StudentID}
✅️ {CitizenID}
✅️ {StudentCode}
✅️ {Email}
✅️ {StudentID, CitizenID}
✅️ {CitizenID, FirstName, LastName} (หากชื่อซ้ำกันไม่ได้)
☆ ตัวอย่าง 2 ตาราง Products
```sql
CREATE TABLE Products (
ProductID INT,
ProductCode VARCHAR(20),
ProductName VARCHAR(100),
CategoryID INT,
Manufacturer VARCHAR(100)
);
```
☆ การวิเคราะห์ Super Keys
✅️ {ProductID} → อาจเป็น Super Key
✅️ {ProductCode} → อาจเป็น Super Key
✅️ {ProductName} → ไม่น่าเป็น Super Key (ชื่อผลิตภัณฑ์อาจซ้ำกัน)
✅️ {ProductID, ProductCode} → Super Key แต่มีส่วนซ้ำซ้อน
★
วิธีหา Super Key อย่างเป็นระบบ
☆ ขั้นตอนการหา Super Keys
1) ระบุคุณลักษณะทั้งหมด ในตาราง
2) วิเคราะห์ความไม่ซ้ำกันของแต่ละคุณลักษณะ
3) พิจารณาการรวมกันของคุณลักษณะ
4) กำจัด Super Keys ที่มีส่วนซ้ำซ้อนเพื่อหา Candidate Keys
★
ตัวอย่าง
☆ จากตาราง Customers
○ CustomerID (ไม่ซ้ำกัน)
○ Email (ไม่ซ้ำกัน)
○ Phone (ไม่ซ้ำกัน)
○ FirstName (ซ้ำกันได้)
○ LastName (ซ้ำกันได้)
☆ Super Keys
○ {CustomerID}
○ {Email}
○ {Phone}
○ {CustomerID, Email}
○ {Email, Phone}
○ {FirstName, LastName, Phone} (หากไม่ซ้ำกัน)
★
การนำ Super Key ไปใช้ในการออกแบบ Database
1) การเลือก Primary Key
○ หา Super Keys ทั้งหมดก่อน
○ เลือก Candidate Keys จาก Super Keys
○ เลือก Primary Key จาก Candidate Keys
2) การทำ Normalization
○ ใช้ Super Key ในการระบุความสัมพันธ์แบบ Function Dependencies
○ ช่วยในการแยกตารางเพื่อลดความซ้ำซ้อน
3) การสร้างความสัมพันธ์
○ ใช้ Super Key ในการออกแบบ foreign keys
○ เพื่อให้แน่ใจว่าข้อมูลถูกต้อง
★
ข้อควรระวังในการใช้ Super Key
❌ อย่าสับสนระหว่าง Super Key และ Candidate Key
❌ หลีกเลี่ยงการใช้ Super Key ที่มีคุณลักษณะซ้ำซ้อนมากเกินไป
❌ ต้องพิจารณาขนาดของคีย์ที่เหมาะสม
❌ ระวังเรื่องประสิทธิภาพ เมื่อใช้ Composite Keys ที่มีขนาดใหญ่
✏️ Shoper Gamer
>>
https://shopergamer.vercel.app/
✓
Primary Keys คืออะไร 👇
>>
https://www.blockdit.com/posts/68cbaaae9ffcd7713c37ec98
Credit :
👇
●
https://www.scaler.com/topics/super-key-in-dbms/
●
https://help.ubuntu.com/stable/ubuntu-help/keyboard-key-super.html.en
●
https://www.jittagornp.me/blog/database-keys-meaning/
เทคโนโลยี
data
ข่าวรอบโลก
บันทึก
1
2
ดูเพิ่มเติมในซีรีส์
Data
1
2
โฆษณา
ดาวน์โหลดแอปพลิเคชัน
© 2025 Blockdit
เกี่ยวกับ
ช่วยเหลือ
คำถามที่พบบ่อย
นโยบายการโฆษณาและบูสต์โพสต์
นโยบายความเป็นส่วนตัว
แนวทางการใช้แบรนด์ Blockdit
Blockdit เพื่อธุรกิจ
ไทย