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

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

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