BCA / B.Tech 11 min read

Key & Types in DBMS in Hindi

Key & Types in DBMS in HIndi | DBMS में की और इसके प्रकार हिंदी में :



डेटाबेस मैनेजमेंट सिस्टम (DBMS) में कुंजियाँ (Keys) महत्वपूर्ण भूमिका निभाती हैं। वे डेटाबेस की तालिकाओं में डेटा को व्यवस्थित और सुसंगत रखने के लिए उपयोग की जाती हैं। एक कुंजी एक कॉलम या कॉलमों का सेट होता है जो तालिकाओं के भीतर प्रत्येक रिकॉर्ड (पंक्ति) की अद्वितीय पहचान करता है। कुंजियों का मुख्य उद्देश्य तालिकाओं के बीच संबंधों को स्थापित करना, डुप्लिकेट डेटा को रोकना, और डेटा की अखंडता (integrity) बनाए रखना होता है।

कुंजियाँ डेटाबेस की संरचना का एक अनिवार्य हिस्सा हैं। वे न केवल तालिका के भीतर डेटा को व्यवस्थित और संरचित रखती हैं, बल्कि तालिकाओं के बीच संबंध भी स्थापित करती हैं। कुंजियों के बिना डेटाबेस सिस्टम डेटा की सटीकता और अखंडता को बनाए रखने में असमर्थ हो सकता है।


कुंजियाँ विभिन्न प्रकार की होती हैं, और हर कुंजी का एक विशिष्ट कार्य होता है। यहां हम DBMS में उपयोग की जाने वाली विभिन्न कुंजियों और उनके प्रकारों का विस्तृत विवरण दे रहे हैं।

Types of Keys in DBMS in Hindi | DBMS में कुंजियों के प्रकार :

1. सुपर की (Super Key) :

सुपर की एक या एक से अधिक कॉलमों का समूह होता है, जो तालिका में प्रत्येक पंक्ति को अद्वितीय रूप से पहचानता है। इसे "अधिकतम कुंजी" भी कहा जा सकता है क्योंकि इसमें किसी भी कॉलम या कॉलमों का सेट शामिल हो सकता है जो तालिका की प्रत्येक पंक्ति के लिए यूनिक पहचान प्रदान कर सके।

विशेषताएँ :

  • एक तालिका में कई सुपर की हो सकती हैं।
  • यह किसी भी कॉलम का समूह हो सकता है, जब तक वह तालिका की सभी पंक्तियों के लिए यूनिक हो।
  • उदाहरण: एक छात्र तालिका में, StudentID, Email, और PhoneNumber का संयोजन एक सुपर की हो सकता है क्योंकि इस संयोजन के माध्यम से प्रत्येक छात्र को यूनिक तरीके से पहचाना जा सकता है।

2. कैंडिडेट की (Candidate Key) :

कैंडिडेट की वह सुपर की होती है जो न्यूनतम आवश्यक कॉलमों का उपयोग करती है। यह तालिका के प्रत्येक रिकॉर्ड को अद्वितीय रूप से पहचानने में सक्षम होती है। इसे "उम्मीदवार कुंजी" भी कहा जाता है क्योंकि इसे प्राइमरी की बनने के लिए चुना जा सकता है। एक तालिका में एक या एक से अधिक कैंडिडेट की हो सकती हैं।

विशेषताएँ :

  • कैंडिडेट की यूनिक होती है और NULL मान नहीं हो सकता।
  • कैंडिडेट की में कोई भी अनावश्यक कॉलम नहीं होते।
  • उदाहरण: किसी छात्र तालिका में, StudentID और Email दोनों कैंडिडेट की हो सकते हैं, क्योंकि ये दोनों प्रत्येक छात्र को अद्वितीय रूप से पहचान सकते हैं।

3. प्राइमरी की (Primary Key) :

प्राइमरी की एक ऐसी कैंडिडेट की होती है जिसे तालिका की सभी पंक्तियों के लिए अद्वितीय पहचान के रूप में चुना जाता है। यह तालिका की प्रत्येक पंक्ति को यूनिक तरीके से पहचानती है और इसमें NULL मान नहीं हो सकता। किसी भी तालिका में केवल एक प्राइमरी की होती है।

विशेषताएँ :

  • यह अनिवार्य रूप से यूनिक होती है।
  • प्राइमरी की में NULL मान की अनुमति नहीं होती।
  • एक तालिका में केवल एक ही प्राइमरी की हो सकती है।

उदाहरण : किसी छात्र तालिका में StudentID प्राइमरी की हो सकता है, क्योंकि यह प्रत्येक छात्र को यूनिक तरीके से पहचानता है और NULL नहीं हो सकता।

sql
Copy code
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(50) NOT NULL,
    Age INT
);
इस उदाहरण में StudentID कॉलम को प्राइमरी की के रूप में परिभाषित किया गया है।

4. फॉरेन की (Foreign Key) :

फॉरेन की एक तालिका के कॉलम या कॉलमों का सेट होता है, जो किसी दूसरी तालिका की प्राइमरी की या कैंडिडेट की से लिंक होता है। यह दो तालिकाओं के बीच संबंध स्थापित करने के लिए उपयोग की जाती है। फॉरेन की यह सुनिश्चित करती है कि एक तालिका में डाली गई वैल्यू दूसरी तालिका में मौजूद हो।

विशेषताएँ :

  • यह किसी अन्य तालिका की प्राइमरी की या कैंडिडेट की का संदर्भ देती है।
  • यह तालिकाओं के बीच संबंधों को स्थापित करती है।
  • फॉरेन की का उद्देश्य डेटाबेस में डेटा की अखंडता बनाए रखना है।
  • उदाहरण: मान लीजिए हमारे पास Students और Courses दो तालिकाएं हैं। Students तालिका में CourseID फॉरेन की के रूप में Courses तालिका के CourseID को संदर्भित करेगी।

sql
Copy code
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    CourseName VARCHAR(100)
);

CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(50) NOT NULL,
    CourseID INT,
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
इस उदाहरण में, CourseID तालिका Students में फॉरेन की के रूप में कार्य करती है, जो यह सुनिश्चित करती है कि छात्रों का कोर्स Courses तालिका में पहले से मौजूद हो।

5. ऑल्टरनेट की (Alternate Key) :

ऑल्टरनेट की वे कैंडिडेट की होती हैं जो प्राइमरी की बनने के लिए चयनित नहीं होतीं। यानी, एक तालिका में एक से अधिक कैंडिडेट की हो सकती हैं, लेकिन केवल एक को ही प्राइमरी की के रूप में चुना जाता है, बाकी कैंडिडेट की ऑल्टरनेट की कहलाती हैं।

विशेषताएँ :

  • यह एक प्रकार की कैंडिडेट की होती है।
  • यह यूनिक होती है और NULL मान नहीं हो सकता।
  • इसे प्राइमरी की नहीं चुना जाता।
  • उदाहरण: अगर किसी छात्र तालिका में StudentID को प्राइमरी की चुना गया है, तो Email ऑल्टरनेट की हो सकता है, क्योंकि वह भी यूनिक है लेकिन प्राइमरी की नहीं है।

6. कॉम्पोज़िट की (Composite Key) :

कॉम्पोज़िट की एक से अधिक कॉलमों का समूह होता है, जो संयुक्त रूप से तालिका की प्रत्येक पंक्ति को यूनिक पहचान प्रदान करता है। जब एक कॉलम अकेले यूनिक पहचान नहीं कर सकता, तब एक से अधिक कॉलमों का संयोजन कॉम्पोज़िट की बनाता है।

विशेषताएँ :

  • इसमें दो या अधिक कॉलमों का संयोजन होता है।
  • इन कॉलमों का संयोजन यूनिक पहचान प्रदान करता है, हालांकि व्यक्तिगत रूप से ये कॉलम यूनिक नहीं हो सकते।
  • उदाहरण: किसी कोर्स तालिका में, अगर CourseID और StudentID मिलकर प्रत्येक पंक्ति को यूनिक तरीके से पहचानते हैं, तो उन्हें कॉम्पोज़िट की कहा जाएगा।

sql
Copy code
CREATE TABLE Enrollments (
    CourseID INT,
    StudentID INT,
    EnrollmentDate DATE,
    PRIMARY KEY (CourseID, StudentID)
);
इस उदाहरण में, CourseID और StudentID का संयोजन कॉम्पोज़िट की के रूप में कार्य करता है।

7. कर्सर की (Surrogate Key) :

कर्सर की वह कुंजी होती है जिसे डेटाबेस सिस्टम द्वारा स्वचालित रूप से उत्पन्न किया जाता है। यह एक अनोखा पहचानकर्ता होता है जो सिस्टम द्वारा ऑटोमेटिक रूप से तालिका की प्रत्येक पंक्ति के लिए उत्पन्न होता है, जैसे कि एक क्रमांक (auto-increment)।

विशेषताएँ :

  • यह सिस्टम द्वारा उत्पन्न किया जाता है।
  • यह आमतौर पर एक संख्या होती है।
  • यह डेटा के वास्तविक अर्थ को नहीं दर्शाती, बल्कि केवल एक यूनिक पहचान के रूप में कार्य करती है।
  • उदाहरण: एक ऑर्डर तालिका में, ऑर्डर नंबर स्वचालित रूप से उत्पन्न हो सकता है जो तालिका की प्रत्येक पंक्ति को यूनिक पहचान देगा।

sql
Copy code
CREATE TABLE Orders (
    OrderID INT AUTO_INCREMENT PRIMARY KEY,
    OrderDate DATE,
    CustomerID INT
);
इस उदाहरण में, OrderID एक कर्सर की है, जो ऑटोमेटिक रूप से उत्पन्न होगी।

Importance of Keys in DBMS in Hindi | DBMS कुंजियों का महत्व :

  • कुंजियाँ डेटाबेस के कामकाज में अत्यंत महत्वपूर्ण भूमिका निभाती हैं। वे न केवल डेटाबेस में डेटा को संगठित और सुसंगत रखने में मदद करती हैं, बल्कि तालिकाओं के बीच संबंध स्थापित करने और डेटा की अखंडता बनाए रखने में भी सहायता करती हैं। कुंजियों के बिना डेटाबेस में डेटा को प्रबंधित करना कठिन हो सकता है।
  • डेटा की अद्वितीयता सुनिश्चित करना: प्राइमरी की और यूनिक की जैसे कुंजियाँ यह सुनिश्चित करती हैं कि डेटाबेस में कोई डुप्लिकेट डेटा न हो, जिससे डेटा का दोहराव रोका जा सके।
  • तालिकाओं के बीच संबंध: फॉरेन की तालिकाओं के बीच संबंध स्थापित करती है और यह सुनिश्चित करती है कि डेटा सुसंगत हो और एक तालिका में डाली गई वैल्यू दूसरी तालिका में भी मान्य हो।
  • डेटाबेस की अखंडता: कुंजियाँ यह सुनिश्चित करती हैं कि डेटाबेस में डाली गई जानकारी सटीक और सही हो। कंस्ट्रेंट्स के साथ मिलकर, वे डेटाबेस में त्रुटियों को रोकने में मदद करती हैं।
  • डेटाबेस में प्रदर्शन सुधारना: कुंजियाँ डेटाबेस में खोज और क्वेरी के संचालन को सरल और तेज बनाती हैं, क्योंकि वे तालिका की प्रत्येक पंक्ति को यूनिक पहचान देती हैं।