निर्भरता एक बाधा है जो गुणों के बीच संबंधों को लागू या परिभाषित करती है। यह डेटाबेस में होता है जब एक ही डेटाबेस तालिका में संग्रहीत जानकारी विशिष्ट तालिका में संग्रहीत अन्य जानकारी को विशिष्ट रूप से निर्धारित करती है। आप इसे एक रिश्ते के रूप में भी वर्णित कर सकते हैं जहां एक विशेषता (या गुणों का एक सेट) के मूल्य को जानने के लिए आपको एक ही तालिका में किसी अन्य विशेषता (या गुणों का सेट) का मूल्य बताने के लिए पर्याप्त है।
डेटाबेस निर्भरता अक्सर छात्रों और डेटाबेस पेशेवरों दोनों को समान रूप से भ्रमित करती है। सौभाग्य से, वे उतने जटिल नहीं हैं जितना वे प्रतीत हो सकते हैं। उन्हें कुछ उदाहरणों का उपयोग करके समझाया जा सकता है। यहां, हम सामान्य डेटाबेस निर्भरता प्रकारों की जांच करेंगे।
डेटाबेस निर्भरता और कार्यात्मक निर्भरता
यह कहकर कि तालिका में विशेषताओं के बीच निर्भरता समान कह रही है कि उन विशेषताओं के बीच एक कार्यात्मक निर्भरता है। यदि किसी डेटाबेस में निर्भरता है कि विशेषता बी विशेषता ए पर निर्भर है, तो आप इसे इस प्रकार लिखेंगे:
ए -> बी
उदाहरण के लिए, सोशल सिक्योरिटी नंबर (एसएसएन) और नाम सहित कर्मचारी विशेषताओं की एक तालिका में, यह कहा जा सकता है कि नाम एसएसएन (या एसएसएन -> नाम) पर निर्भर है क्योंकि एक कर्मचारी का नाम एसएसएन से विशिष्ट रूप से निर्धारित किया जा सकता है। हालांकि, रिवर्स स्टेटमेंट (नाम -> एसएसएन) सच नहीं है क्योंकि एक से अधिक कर्मचारी का नाम समान हो सकता है लेकिन हमेशा अलग-अलग एसएसएन होते हैं। एक छोटी कार्यात्मक निर्भरता तब होती है जब आप गुणों के संग्रह पर एक विशेषता की कार्यात्मक निर्भरता का वर्णन करते हैं जिसमें मूल विशेषता शामिल होती है। उदाहरण के लिए, {ए, बी} -> बी एक मामूली कार्यात्मक निर्भरता है, जैसा कि {नाम, एसएसएन} -> एसएसएन है। इस प्रकार की कार्यात्मक निर्भरता को तुच्छ कहा जाता है क्योंकि इसे सामान्य ज्ञान से लिया जा सकता है। यह स्पष्ट है कि यदि आप पहले ही बी के मूल्य को जानते हैं, तो बी के मूल्य को उस ज्ञान द्वारा विशिष्ट रूप से निर्धारित किया जा सकता है। एक पूर्ण कार्यात्मक निर्भरता तब होती है जब आप पहले से ही कार्यात्मक निर्भरता के लिए आवश्यकताओं को पूरा करते हैं और कार्यात्मक निर्भरता कथन के बाईं ओर विशेषताओं के सेट को और भी कम नहीं किया जा सकता है। उदाहरण के लिए, {एसएसएन, आयु} -> नाम एक कार्यात्मक निर्भरता है, लेकिन यह पूर्ण कार्यात्मक निर्भरता नहीं है क्योंकि आप निर्भरता संबंध को प्रभावित किए बिना कथन के बाईं ओर से आयु को हटा सकते हैं। पारस्परिक निर्भरता तब होती है जब अप्रत्यक्ष संबंध होता है जो कार्यात्मक निर्भरता का कारण बनता है। उदाहरण के लिए, ए -> सी एक संक्रमणीय निर्भरता है जब यह केवल सत्य है क्योंकि ए -> बी और बी -> सी दोनों सत्य हैं। बहुविकल्पीय निर्भरता तब होती है जब तालिका में एक या अधिक पंक्तियों की उपस्थिति का अर्थ उसी तालिका में एक या अधिक पंक्तियों की उपस्थिति का तात्पर्य है। उदाहरण के लिए, एक कार कंपनी की कल्पना करें जो कार के कई मॉडल बनाती है, लेकिन हमेशा प्रत्येक मॉडल के लाल और नीले रंग के दोनों रंग बनाती है। यदि आपके पास ऐसी तालिका है जिसमें कंपनी का निर्माण करने वाली प्रत्येक कार का मॉडल नाम, रंग और वर्ष शामिल है, तो उस तालिका में एक बहुतायत निर्भरता है। यदि नीले रंग में एक निश्चित मॉडल नाम और वर्ष के लिए कोई पंक्ति है, तो उसी कार के लाल संस्करण के अनुरूप एक समान पंक्ति भी होनी चाहिए। डाटाबेस निर्भरता समझने के लिए महत्वपूर्ण हैं क्योंकि वे डेटाबेस सामान्यीकरण में उपयोग किए जाने वाले बुनियादी बिल्डिंग ब्लॉक, डेटाबेस में डेटा व्यवस्थित रूप से व्यवस्थित करने की प्रक्रिया प्रदान करते हैं। उदाहरण के लिए: मामूली कार्यात्मक निर्भरता
पूर्ण कार्यात्मक निर्भरता
पारगमन निर्भरता
बहुगुणित निर्भरता
निर्भरता का महत्व




