डाटाबेस निर्भरता के हो?

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

डेटाबेस निर्भरता / कार्यात्मक निर्भरताहरू

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

त्यहाँ एउटा तालिकामा विशेषताहरू बीच एक निर्भरता भनेको यही हो कि यी विशेषताहरू बीच एक कार्यात्मक निर्भरता हो। यदि डाटाबेसमा निर्भरता छ भने त्यहि विशेषता बी विशेषता A मा निर्भर छ, तपाइँ यसलाई "A -> B" को रूपमा लेख्नुहुनेछ।

उदाहरणका लागि, तालिका तालिका सूचीबद्ध विशेषताहरू सहित सामाजिक सुरक्षा नम्बर (एसएसएन) र नाम सहित, यो भन्न सकिन्छ कि नाम SSN (वा SSN -> नाम) मा निर्भर छ किनभने एक कर्मचारीको नाम विशिष्ट एसएसएनबाट निर्धारित हुन सक्छ। यद्यपि, उल्टो बयान (नाम -> SSN) सही छैन किनकी एक भन्दा बढी कर्मचारीले एउटै नाम हुन सक्छ तर फरक SSN हरू सक्छ।

तीव्र कार्यात्मक निर्भरताहरू

जब तपाईं विशेषता को संग्रह मा विशेषता को एक कार्यात्मक निर्भरता को वर्णन गर्छन एक छोटी सी कार्यात्मक निर्भरता तब हुन्छ जब मूल विशेषता हो। उदाहरणका लागि, "{ए, बी} -> बी" एक सानो कार्यक्षमता निर्भर निर्भरता हो, जस्तै "{नाम, SSN} -> एसएसएन"। यो प्रकारको कार्यात्मक निर्भरता लाई छोटो भनिन्छ किनकी यो सामान्य ज्ञान बाट व्युत्पन्न हुन सक्छ। यो स्पष्ट छ कि यदि तपाईले पहिले नै बीको मूल्य थाहा पाउनुभयो भने, B को मान विशिष्ट ज्ञानको आधारमा निर्धारण गर्न सकिन्छ।

पूर्ण कार्यात्मक निर्भरताहरू

पूर्ण कार्यात्मक निर्भरता तब हुन्छ जब तपाइँ पहिले देखि नै एक कार्यात्मक निर्भरता को आवश्यकताहरु लाई पूरा गर्छन र कार्यात्मक निर्भरता बयान को बायाँ तिर मा सेट को कुनै पनि अगाडी बढन सक्दैन। उदाहरणका लागि, "{SSN, उमेर} -> नाम" एक कार्यात्मक निर्भरता हो, तर यो पूर्ण कार्यात्मक निर्भरता होइन किनकी तपाइँ निर्भरता सम्बन्धलाई प्रभाव पार्ने बिना प्रभावको बायाँ किनारबाट उमेर हटाउन सक्नुहुन्छ।

पारदर्शी निर्भरताहरू

पारस्परिक आश्रितता उत्पन्न हुन्छ जब एक अप्रत्यक्ष सम्बन्ध हो जसले कार्यात्मक निर्भरता उत्पन्न गर्दछ। उदाहरण को लागि, "A -> C" एक पारस्परिक निर्भरता हो जब यो सच छ किनकि "A -> B" र "B -> C" दुवै सही हो।

बहुभाषी निर्भरताहरू

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

निर्भरताहरूको महत्व

डेटाबेस निर्भरताहरू बुझ्न महत्त्वपूर्ण छन् किनभने तिनीहरू डेटाबेस सामान्यकरणमा प्रयोग हुने आधारभूत भवन ब्लकहरू प्रदान गर्छन्। उदाहरणका लागि: