अनुशंसित, 2020

संपादक की पसंद

प्राथमिक कुंजी और अद्वितीय कुंजी के बीच अंतर

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

प्राथमिक कुंजी और अद्वितीय कुंजी के बीच आवश्यक अंतर यह है कि प्राथमिक कुंजी NULL मान को स्वीकार नहीं करती है जबकि NULL मान को अद्वितीय कुंजी बाधाओं के भीतर अनुमति दी जाती है।

तुलना चार्ट

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

प्राथमिक कुंजी की परिभाषा

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

आइए एक तालिका की मदद से प्राथमिक कुंजी की धारणा को समझें। यहां हम स्टूडेंट टेबल के नाम से एक टेबल बना रहे हैं, जिसमें रोल_नंबर, नेम, बैच, फोन_नंबर, सिटीजन_आईडी जैसी खूबियां हैं।

दिए गए उदाहरण में, विशेषता रोल नंबर में समान और पूर्ण मान कभी नहीं हो सकता है, क्योंकि प्रत्येक छात्र एक अद्वितीय रोल_नंबर के साथ विश्वविद्यालय में नामांकित है। किसी भी दो छात्रों के पास एक ही Roll_number नहीं हो सकता है, और तालिका में प्रत्येक पंक्ति विशिष्ट रूप से छात्रों के रोल नंबर के साथ पहचानी जाती है। तो, हम इस विशेष मामले में प्राथमिक कुंजी के रूप में रोल_नंबर विशेषता बना सकते हैं।

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

अद्वितीय कुंजी की परिभाषा

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

आइए इसी तरह के उदाहरण से समझते हैं, जहां हमारे पास Roll_number, Name, Batch, Phone_number और Citizen_ID विशेषताओं के साथ एक छात्र तालिका थी। रोल नंबर विशेषता को प्राथमिक कुंजी के साथ सौंपा गया है।

यहां Citizen_ID को अद्वितीय अवरोधों के साथ सौंपा जा सकता है जहां Citizen_ID कॉलम में प्रत्येक प्रविष्टि अद्वितीय होनी चाहिए, डुप्लिकेट नहीं क्योंकि किसी देश के प्रत्येक नागरिक के पास उसका विशिष्ट पहचान नंबर होना चाहिए। लेकिन, यदि कोई छात्र किसी अन्य देश से पलायन करता है, तो उस स्थिति में, उसके पास Citizen_ID नहीं होगा और प्रविष्टि में एक NULL मान हो सकता है क्योंकि अद्वितीय बाधा में एक NULL की अनुमति है।

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

प्राथमिक कुंजी और अद्वितीय कुंजी के बीच महत्वपूर्ण अंतर

  1. जब कोई विशेषता प्राथमिक कुंजी के रूप में घोषित की जाती है, तो यह NULL मानों को स्वीकार नहीं करेगी। दूसरी ओर, जब एक विशेषता को विशिष्ट घोषित किया जाता है तो वह एक NULL मान स्वीकार कर सकता है।
  2. एक तालिका में केवल प्राथमिक कुंजी हो सकती है जबकि एक मेज पर कई अद्वितीय अवरोध हो सकते हैं।
  3. एक प्राथमिक कुंजी निर्धारित होने पर स्वचालित रूप से बनाया गया क्लस्टर सूचकांक। इसके विपरीत, यूनीक की गैर-क्लस्टर इंडेक्स उत्पन्न करता है।

निष्कर्ष

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

Top