मूलभूत कुंजी जो डाटाबेस प्रबंधन को आसान बनाती है

एक कुशल संबंधपरक डेटाबेस बनाने का सबसे आसान तरीका डेटाबेस कुंजी हैं

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

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

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

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

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

यदि आप किसी मौजूदा रिकॉर्ड को डुप्लिकेट करने वाली प्राथमिक कुंजी वाले किसी तालिका में रिकॉर्ड डालने का प्रयास करते हैं, तो सम्मिलन विफल हो जाएगा।

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

विदेशी कुंजी

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

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

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

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

इस विषय पर अधिक जानकारी के लिए, विदेशी कुंजी बनाना पढ़ें।