आधारभूत कुञ्जीहरू जुन डेटाबेस व्यवस्थापन सजिलो बनाउँदछ

डेटाबेस कुञ्जी एक कुशल सम्बन्धी डेटाबेस सिर्जना गर्ने सबै भन्दा सरल तरिका हो

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

प्राथमिक कुञ्जीहरू

हामी पहिलो पटक कुञ्जी छलफल गर्नेछौं प्राथमिक कुञ्जी हो । प्रत्येक डेटाबेस तालिकामा एक वा बढी स्तम्भहरू हुनु पर्छ प्राथमिक कुञ्जीको रूपमा नामित। यस कुञ्जीको मान डेटाबेसमा प्रत्येक रेकर्डको लागि अनुपयुक्त हुनुपर्छ।

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

एकपटक जब तपाइँ प्राथमिक कुञ्जीमा निर्णय गर्नुहुन्छ र डाटाबेस सेटअप गर्नुहुन्छ, डाटाबेस व्यवस्थापन प्रणालीले कुञ्जीको विशिष्टता लागू गर्नेछ।

यदि तपाइँ प्राथमिक कुञ्जीसँग तालिकामा रेकर्ड सम्मिलित गर्ने प्रयास गर्दछ जुन एक अवस्थित रेकर्ड डुप्लिकेट गर्दछ, इन्टर असफल हुनेछ।

अधिक डेटाबेसहरू पनि आफ्नो प्राथमिक कुञ्जी उत्पन्न गर्न सक्षम छन्। माइक्रोसफ्ट पहुँच, उदाहरणका लागि, तालिकामा प्रत्येक रेकर्डमा एक अद्वितीय ID असाइन गर्न AutoNumber डेटा प्रकार प्रयोग गर्न कन्फिगर हुन सक्छ। प्रभावकारी हुँदा, यो खराब डिजाइन अभ्यास हो किनभने यसले तपाइँलाई तालिकामा प्रत्येक रेकर्डमा एक अर्थपूर्ण मान दिन्छ। किन स्पेस प्रयोग गर्न केहि उपयोगी बनाउन को लागी?

विदेशी कुञ्जीहरू

अर्को प्रकार विदेशी कुञ्जी हो , जुन तालिकाहरू बीचको सम्बन्ध सिर्जना गर्न प्रयोग गरिन्छ। प्राकृतिक रिजर्भेसन धेरै डाटाबेस ढाँचाहरूमा टेबलहरू बीच अवस्थित छन्। हाम्रो कर्मचारी डाटाबेसमा फर्काउने, कल्पना गर्नुहोस् कि हामी टेबल जोड्न चाहानुहुन्छ डेटाबेस को डाटाबेसमा। यस नयाँ तालिका विभागलाई बुलाउन सकिन्छ र पूर्ण रूपमा विभागको बारेमा धेरै मात्रामा जानकारी समावेश हुनेछ। हामी डिपार्टमेन्टका कर्मचारीहरूको बारेमा जानकारी पनि समावेश गर्न चाहन्छौं, तर यो दुई तालिकाहरू (कर्मचारीहरू र विभागहरू) मा समान जानकारी पाउन अनावश्यक हुनेछ। बरु, हामी दुई तालिकाहरू बीचको सम्बन्ध सिर्जना गर्न सक्छौं।

विभागले मुख्य कुञ्जीको रूपमा विभाग नाम स्तम्भ प्रयोग गर्दछ भन्ने मानिन्छ। दुई तालिकाहरू बीचको सम्बन्ध सिर्जना गर्न, हामी कर्मचारी नाम तालिकामा नयाँ स्तम्भ थप्नुहोस्। त्यसपछि हामी विभागको नाम भर्नुहोला जसको प्रत्येक कर्मचारी छ। हामी डेटाबेस व्यवस्थापन प्रणालीलाई पनि सूचित गर्दछौं कि कर्मचारी तालिकामा विभाग स्तम्भ एक विदेशी कुञ्जी हो जसले विभाग तालिकाको सन्दर्भ गर्दछ।

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

याद गर्नुहोस् कि विदेशी कुञ्जीको लागि कुनै विशिष्टता अवरोध छैन। हामी (र प्रायः सम्भव छ) हुन सक्छ एक भन्दा बढी कर्मचारी जुन एक विभागको हो। त्यसै गरी, कुनै आवश्यकता छैन कि विभाग तालिकामा प्रवेश कर्मचारी कर्मचारी तालिकामा कुनै पनि प्रविष्टि हो। सम्भव छ कि हामीसँग कुनै कर्मचारीहरूसँग विभाग छैन।

यस विषयमा अधिकका लागि, विदेशी कुञ्जीहरू सिर्जना गर्नुहोस्