Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
MySQL + SQL · Lesson 134

DBMS Keys: Primary, Foreign, Candidate और Super Key

Keys क्यों ज़रूरी हैं

Keys वो columns हैं जो rows को विशिष्ट पहचानने या tables को जोड़ने को इस्तेमाल होते हैं। यही relational database को सही और जुड़ा रखते हैं। कई प्रकार हैं, और वे एक-दूसरे पर बनते हैं — व्यापक super key से लेकर विशिष्ट primary key तक।

💡 Keys दो काम करती हैं: हर row को विशिष्ट पहचानना, और एक table को दूसरी से जोड़ना।

Super key

Super key कोई भी column या columns का set है जो row को विशिष्ट पहचान सके — भले उसमें अतिरिक्त, अनावश्यक columns हों। students table को, {roll}, {roll, name} और {roll, name, marks} सब super keys हैं, क्योंकि हर एक row को विशिष्ट पहचानता है।

Candidate key

Candidate key एक minimal super key है — इसमें कोई अतिरिक्त column नहीं। ऊपर के super keys में से, सिर्फ़ {roll} candidate key है (मानते हुए roll unique है), क्योंकि कोई column हटाना uniqueness तोड़ देगा। Table के कई candidate keys हो सकते हैं।

Primary key

Primary key वो एक candidate key है जिसे आप आधिकारिक पहचानकर्ता चुनते हैं। यह null नहीं हो सकती और दोहरा नहीं सकती, और table में एक ही होती है।

CREATE TABLE students (
    roll INT PRIMARY KEY,
    name VARCHAR(50)
);

यहाँ roll primary key है — हर student का unique, non-null roll number होना चाहिए।

Unique key

Unique key भी uniqueness लागू करती है, पर यह एक null allow कर सकती है, और table में कई हो सकती हैं। इसे उन columns को इस्तेमाल कीजिए जो unique होने चाहिए पर मुख्य पहचानकर्ता नहीं, जैसे email।

CREATE TABLE users (
    id INT PRIMARY KEY,
    email VARCHAR(100) UNIQUE
);

Foreign key

Foreign key tables जोड़ती है। यह वो column है जो दूसरी table की primary key की ओर इशारा करता है।

CREATE TABLE orders (
    id INT PRIMARY KEY,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES customers(id)
);

यहाँ orders.customer_id customers.id को दर्शाती है, हर order को एक customer से जोड़कर और न-मौजूद customers के orders रोककर।

Composite key

Composite key दो या ज़्यादा columns को साथ में key के रूप में इस्तेमाल करती है, जब कोई एक column अकेले unique न हो।

CREATE TABLE enrollments (
    student_id INT,
    course_id INT,
    PRIMARY KEY (student_id, course_id)
);

न student_id न course_id अकेले unique है, पर साथ में वे एक enrolment को विशिष्ट पहचानते हैं।

सारांश

KeyमतलबNull?कितनी
Superविशिष्ट पहचानती (अतिरिक्त हो सकती)—कई
CandidateMinimal super key—कई
Primaryचुनी मुख्य पहचानकर्ताकोई null नहींएक
UniqueUniqueness लागूएक null ठीककई
Foreignदूसरी table से जोड़तीnull हो सकतीकई
Compositeकई columns की key——

सारांश

  • Keys rows को विशिष्ट पहचानती और tables जोड़ती हैं।
  • Super key: row पहचानती, शायद अतिरिक्त columns के साथ; candidate: minimal super key।
  • Primary key: चुनी पहचानकर्ता, कभी null नहीं, table में एक।
  • Unique key: uniqueness लागू, एक null allow, कई हो सकती।
  • Foreign key tables जोड़ती; composite key कई columns इस्तेमाल करती।

आगे, दो सबसे महत्वपूर्ण तुलना कीजिए primary key vs foreign key में, या table model सीखिए RDBMS concepts में।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

DBMS में key क्या है?
Key वो column (या columns का set) है जो table में rows को विशिष्ट पहचानने या tables को जोड़ने को इस्तेमाल होता है। Keys data सही और जुड़ा रखती हैं। मुख्य प्रकार हैं super, candidate, primary, unique, foreign और composite keys।
Primary key और candidate key में क्या अंतर है?
Candidate key कोई भी column है जो row को विशिष्ट पहचान सके। Table के कई candidate keys हो सकते हैं, पर आप उनमें से एक को primary key चुनते हैं — आधिकारिक मुख्य पहचानकर्ता। बाक़ी alternate keys रहते हैं।
Primary key और unique key में क्या अंतर है?
दोनों uniqueness लागू करती हैं। Primary key null नहीं हो सकती और table में एक ही होती है। Unique key एक null value allow कर सकती है, और table में कई unique keys हो सकती हैं।
Foreign key क्या है?
Foreign key एक table का column है जो दूसरी table की primary key को दर्शाता है, उन्हें जोड़ते हुए। जैसे, orders.customer_id एक foreign key है जो customers.id की ओर इशारा करती है, orders को customers से जोड़कर।
Composite key क्या है?
Composite key दो या ज़्यादा columns से मिलकर बनी key है, तब इस्तेमाल जब कोई एक column अकेले unique न हो। जैसे, (student_id, course_id) साथ में एक enrolment को विशिष्ट पहचान सकते हैं।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicPrimary Key vs Foreign Key आपकी प्रगति: 134 / 151 (89%) · Lesson 135 / 151 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें