DBMS में Keys क्या है? और उसके प्रकार उदाहरण सहित 

What is Keys in DBMS in Hindi

DBMS में Key का उपयोग एक table में प्रत्येक record को अलग से पहचाने के लिए किया जाता है। Key यह सुनिश्चित करता है कि किसी भी दो rows में एक जैसी value न हो।

यह data को सही रखने और duplicates से बचाने में मदद करता है। keys, data को ढूंढने, अपडेट करने और tables के बीच data को connect करने जैसे कार्यों को सरल बनाता है।

उदाहरण के लिए एक student table में "Student_ID", एक key हो सकता है क्योंकि यह प्रत्येक student के लिए unique है।

data को manage करने और database के प्रदर्शन को बेहतर बनाने के लिए keys महत्वपूर्ण है। ये database को संगठित और उपयोग करने में आसान बनाए रखता है।

बिना keys के data को सही तरीके सें संगठित करना, ढूंढना या अपडेट करना कठिन है।

Types of Keys in DBMS in Hindi - DBMS में Keys के प्रकार 


DBMS विभिन्न प्रकार के Keys होते हैं जो निम्न है 

Primary Key  

एक table में primary key (PK), प्रत्येक record के लिए एक unique identifier है। यह प्रत्येक record को अलग से पहचाने में मदद करता है।
यह यह सुनिश्चित करता है कि दो records की primary key की value एक जैसी न हो।

यह data को duplicate होने से रोकता है तथा यह सुनिश्चित करता है कि data सही बना रहे।

एक database, में प्रत्येक table के पास केवल एक ही primary key, हो सकता है जिसका उपयोग प्रत्येक record के लिए एक unique identifier के रूप में किया जाता है।

primary key का उपयोग tables के बीच relationships स्थापित करने के लिए किया जाता है, जो उसे database design के लिए एक महत्वपूर्ण भाग बनाता है।  

Example:
नीचे उदाहरण में SID एक Primary key है जिसके द्वारा बाकि Records को uniquely identify किया जा सकता है। इसमें कोई भी duplicate value नही होगी और न ही यह column null(empty) हो सकता है।

SID Name City
101     Jay     Balod 
102     Yash          Durg 
103     Amit      Raipur 

Candidate Key  

Candidate key, एक table में एक या एक से अधिक columns का set है जो प्रत्येक record को अलग से पहचान देता है।

प्रत्येक candidate key को primary key की तरह इस्तेमाल किया जा सकता है, लेकिन केवल एक को ही चुना जाता है। बाकि alternate keys हैं।

एक candidate key में duplicate values नहीं होने चाहिए और कोई अनावश्यक columns नहीं होना चाहिए। 

Example:
नीचे SID, Roll No. और Email को candidate keys की तरह उपयोग किया जा सकता है क्योंकि ये unique है इसमें प्रत्येक candidate key को Primary key के समान उपयोग किया जा सकता है 

लेकिन इसमें केवल एक को ही Primary key के समान use किया जाता है तथा बाकि alternate keys कहलाते है।

SID Roll No. Name Email
001 101  Jay jay@example.com
002 102 Yash yash@example.com
003 103 Amit amit@example.com

Super Key  

Super key एक table में एक या एक से अधिक columns का combination है जो प्रत्येक row को अलग से पहचान देता है।

यह सुनिश्चित करता है कि इन columns में दो rows की values एक जैसी नही हो।

super key, में कुछ अतिरिक्त columns हो सकते हैं, लेकिन इन्हें शामिल करने से कोई फर्क नहीं पड़ता, क्योंकि मुख्य बात यह है कि super key से हर row की पहचान अलग होनी चाहिए।

इसका मुख्य कार्य यह सुनिश्चित करना है कि प्रत्येक row को इन columns के द्वारा पहचाना जा सके। 
Example 
नीचे SID, Roll No, Email, super key है क्योंकि ये Records को uniquely identify करते हैं। साथ ही इनका combination जैसे 
SID + Roll No
SID + Name
SID + Email
SID + Roll No. + Name भी super keys है, क्योंकि ये भी records को uniquely identify करते हैं Super key में अतिरिक्त columns हो सकते हैं। 

SID Name Roll No. Email
101 Rahul 001 rahul@example.com
102 Ankit 002 ankit@example.com
103 Sohit 003 sohit@example.com

Foreign Key  

Foreign key, एक table में एक column है जो अन्य table के primary key से link रहता है। इसका प्रयोग दो tables के बीच relationship स्थापित करने के लिए किया जाता है। 

Foreign key केवल उन values को लेता है जो पहले से दूसरे table की primary key में मौजूद हैं। यह data को एक जैसे और सही बनाए रखता है। 

यह सुनिश्चित करता है कि एक table के records दूसरे table के records से जुड़े हों। Foreign key  उन data को जोड़ने से रोकती है जिसका किसी दूसरे table से सही link नहीं है।

Example:
Table 1 में स्टूडेंट्स एक primary key है जिसके द्वारा Records को uniquely identify किया जाता है। अब Table 1 का StudentID Table 2 में Foreign key है। अब दोनों tables एक दूसरे से Related है आप Table 1 में Table2 के data को प्राप्त कर सकते है।

Table 1
StudentID NAME Course
001     Raghav  DCA 
002     Abhishek  PGDCA 
003     Tushar  DCPA 

Table 2
ScoreID StudentID Score
1 001 80
2 002 90
3 003 75

Composite Key  

एक table में composite key, दो या अधिक columns का combination है जो मिलकर एक row को uniquely, identify करते हैं। इसके हर column अलग-अलग unique नहीं होते, लेकिन जब इन्हें एक साथ जोड़ा जाता है, तो ये unique बन जाते हैं।

इसका उपयोग तब किया जाता है जब एक single column एक unique identifier के रूप में कार्य नहीं कर सकता।  

Example
उदाहरण के लिए एक table में, जहां student enrollment का data है, "StudentID" और "CourseID" मिलकर composite key बन सकते हैं, जो हर record को uniquely पहचानते हैं।

Student enrollment 
StudentID CourseID Name Course
101 301 Tina Math
101 302 Riya Science
102 301 Taniya Math
103 303 Sonal History

Alternate Key  

Alternative key एक column या columns का समूह होता है जो एक table में एक record को uniquely, identify भी कर सकता है, परंतु इसे primary key के रूप में नहीं चुना जाता।

जब एक table में कई candidate keys होते हैं, तो primary key चुनी जाती है और बाकी बची हुई keys, alternative keys कहलाती हैं।

इन alternative keys का उपयोग अभी भी records को ढूंढने के लिए किया जाता है, परन्तु वे table के लिए मुख्य key नहीं होते। वे data को विशिष्ट रूप से पहचानने के लिए अतिरिक्त तरीके प्रदान करते हैं।

Example 
नीचे SID को Primary key के समान select कर लेने के बाद Roll No. और Email alternative key बन जाते है क्योंकि इनके द्वारा भी Records को Uniquely indentify किया जाता है। लेकिन इन्हें primary key के रूप में select नही किया गया है।

SIDRoll No.NameEmail
001101 Jayjay@example.com
002102Yashyash@example.com
003103Amitamit@example.com

Unique Key

Unique key, एक table में एक column या columns का समूह होता है जो यह सुनिश्चित करता है कि सभी values, एक दूसरे से विभिन्न हैं। 

यह एक NULL value की अनुमति देता है, जबकि एक primary key कोई भी NULL values की अनुमति नहीं देती है।

Unique key, duplicate values को रोकने के द्वारा data की integrity बनाए रखने में मदद करता है।

Example
नीचे EID एक Primary key की तरह कार्य करेगा इसकी value null नही हो सकती क्योंकि प्रत्येक Employee का EID unique है। Employee का Email एक Unique key है जो प्रत्येक Employee के लिए अलग-अलग रहेगा परंतु इसकी value null हो सकती है।

EID Name Email Department
101 Jay  jay@gmail.com HR
102 Amit  null Finance
103 Sumit  sumit@gmail.com IT