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