Candidate Key, Super Key और Alternate Key
ये keys कैसे जुड़ी हैं
Super, candidate, primary और alternate keys एक जैसी लगती हैं पर एक साफ़ पदानुक्रम बनाती हैं। Super keys सबसे व्यापक हैं, candidate keys उन्हें संकुचित करती हैं, एक candidate primary key बनती है, और बाक़ी alternate keys बन जाती हैं। क्रम समझना इन्हें आसान बनाता है।
Super key
Super key columns का कोई भी set है जो row को विशिष्ट पहचान सके — अतिरिक्त columns के साथ भी। students table को जहाँ roll unique है, ये सब super keys हैं:
{roll}
{roll, name}
{roll, name, marks}
हर एक row को विशिष्ट पहचानता है, पर आख़िरी दो अनावश्यक columns रखते हैं।
Candidate key
Candidate key एक minimal super key है — कोई अतिरिक्त columns नहीं। ऊपर के super keys में से, सिर्फ़ {roll} candidate key है, क्योंकि कोई column हटाना uniqueness तोड़ देगा। Table के कई candidate keys हो सकते हैं।
Primary key
Primary key वो एक candidate key है जो आप आधिकारिक पहचानकर्ता चुनते हैं। यह null नहीं हो सकती और table में एक ही होती है।
CREATE TABLE students (
roll INT PRIMARY KEY,
email VARCHAR(100) UNIQUE
);
यहाँ roll primary key चुनी गई है।
Alternate key
Alternate key वो candidate key है जो primary key नहीं चुनी गई। ऊपर की table में, अगर roll और email दोनों student पहचान सकें, और roll primary हो, तो email alternate key है। यह अब भी rows को विशिष्ट पहचानती है।
एक हल उदाहरण
roll, email, name, marks वाली students table, जहाँ roll और email दोनों unique हैं:
- Super keys: {roll}, {email}, {roll, name}, {roll, email}, और कई।
- Candidate keys: {roll} और {email} (दोनों minimal)।
- Primary key: {roll} (चुनी)।
- Alternate key: {email} (दूसरी candidate)।
आम गलतियाँ
- हर super key को candidate key कहना। सिर्फ़ minimal super keys योग्य हैं।
- यह सोचना एक candidate key है। Table के कई हो सकते हैं।
- Alternate keys भूलना। न चुनी candidate keys alternate keys हैं।
- Primary और candidate मिलाना। Primary चुनी candidate key है।
सारांश
- Super key row पहचानती है, शायद अतिरिक्त columns के साथ।
- Candidate key minimal super key है (कोई अतिरिक्त नहीं)।
- Primary key चुनी candidate key है, कभी null नहीं।
- Alternate keys वे candidate keys हैं जो primary नहीं चुनी गईं।
- क्रम: super → candidate → primary + alternate।
आगे, सारे key प्रकार देखिए keys in DBMS explained में, या दो सबसे इस्तेमाल primary key vs foreign key में।
