प्राथमिक कुंजी बनाम अद्वितीय कुंजी
एक कॉलम या कॉलम का एक सेट, जिसका उपयोग किसी डेटाबेस में एक पंक्ति या पंक्तियों के सेट को पहचानने या एक्सेस करने के लिए किया जा सकता है, कुंजी कहलाती है। एक अद्वितीय कुंजी एक कुंजी है जो संबंधपरक डेटाबेस के संदर्भ में तालिका में एक पंक्ति को विशिष्ट रूप से पहचान सकती है। एक अद्वितीय कुंजी एकल स्तंभ या स्तंभों के समूह से बनी होती है। प्राथमिक कुंजी भी एक तालिका में स्तंभों का एक संयोजन है जो विशिष्ट रूप से एक पंक्ति की पहचान करता है। लेकिन इसे अद्वितीय कुंजी का एक विशेष मामला माना जाता है।
अद्वितीय कुंजी क्या है?
जैसा कि पहले उल्लेख किया गया है, अद्वितीय कुंजी एक एकल स्तंभ या स्तंभों का समूह है जो किसी तालिका में एक पंक्ति को विशिष्ट रूप से पहचान सकता है।तो, एक अद्वितीय कुंजी इस तरह से विवश है कि इसके कोई भी दो मान समान नहीं हैं। एक महत्वपूर्ण गुण यह है कि अद्वितीय कुंजियाँ NOT NULL बाधा को लागू नहीं करती हैं। चूंकि NULL एक मान की कमी का प्रतिनिधित्व करता है, यदि दो पंक्तियों में एक कॉलम में NULL है, तो इसका मतलब यह नहीं है कि मान समान हैं। एक अद्वितीय कुंजी के रूप में परिभाषित कॉलम उस कॉलम में केवल एक NULL मान की अनुमति देता है। फिर उस विशेष पंक्ति को विशिष्ट रूप से पहचानने के लिए इसका उपयोग किया जा सकता है। उदाहरण के लिए, छात्र जानकारी वाली तालिका में, छात्र आईडी को एक अद्वितीय कुंजी के रूप में परिभाषित किया जा सकता है। चूंकि किसी भी दो छात्रों के पास एक ही आईडी नहीं हो सकती है, इसलिए यह विशिष्ट रूप से एक छात्र की पहचान करता है। तो छात्र आईडी कॉलम एक अद्वितीय कुंजी के सभी गुणों को संतुष्ट करता है। डेटाबेस के डिज़ाइन के आधार पर, एक टेबल में एक से अधिक अद्वितीय कुंजी हो सकती हैं।
प्राथमिक कुंजी क्या है?
प्राथमिक कुंजी भी एक कॉलम या कॉलम का संयोजन है जो एक रिलेशनल डेटाबेस की तालिका में एक पंक्ति को विशिष्ट रूप से परिभाषित करता है। एक तालिका में अधिकतम एक प्राथमिक कुंजी हो सकती है। प्राथमिक कुंजी निहित नहीं NULL बाधा को लागू करती है।इसलिए, प्राथमिक कुंजी के रूप में परिभाषित कॉलम में NULL मान नहीं हो सकते हैं। प्राथमिक कुंजी तालिका में एक सामान्य विशेषता हो सकती है जो अद्वितीय होने की गारंटी है जैसे कि सामाजिक सुरक्षा संख्या या यह Microsoft SQL सर्वर में वैश्विक रूप से विशिष्ट पहचानकर्ता (GUID) जैसे डेटाबेस प्रबंधन प्रणाली द्वारा उत्पन्न एक अद्वितीय मान हो सकता है। प्राथमिक कुंजी को एएनएसआई एसक्यूएल मानक में प्राथमिक कुंजी बाधा के माध्यम से परिभाषित किया गया है। तालिका बनाते समय प्राथमिक कुंजी को भी परिभाषित किया जा सकता है। SQL प्राथमिक कुंजी को एक या अधिक स्तंभों से बना होने की अनुमति देता है और प्राथमिक कुंजी में शामिल प्रत्येक स्तंभ को पूर्ण रूप से NOT NULL के रूप में परिभाषित किया जाता है। लेकिन कुछ डेटाबेस प्रबंधन प्रणालियों को प्राथमिक कुंजी कॉलम स्पष्ट रूप से NULL बनाने की आवश्यकता होती है।
प्राथमिक कुंजी और अद्वितीय कुंजी के बीच अंतर
भले ही प्राथमिक कुंजी और अद्वितीय कुंजी दोनों एक या अधिक स्तंभ हैं जो किसी तालिका में विशिष्ट रूप से एक पंक्ति की पहचान कर सकते हैं, उनमें कुछ महत्वपूर्ण अंतर हैं। सबसे महत्वपूर्ण बात यह है कि एक तालिका में केवल एक प्राथमिक कुंजी हो सकती है जबकि इसमें एक से अधिक अद्वितीय कुंजी हो सकती हैं।प्राथमिक कुंजी को अद्वितीय कुंजी का एक विशेष मामला माना जा सकता है। एक और अंतर यह है कि प्राथमिक कुंजी में एक अंतर्निहित न्यूल बाधा नहीं होती है जबकि अद्वितीय कुंजी में वह बाधा नहीं होती है। इसलिए, अद्वितीय कुंजी कॉलम में NULL मान हो सकते हैं या नहीं भी हो सकते हैं लेकिन प्राथमिक कुंजी कॉलम में NULL मान नहीं हो सकते हैं।