DBMS में निर्भरता दो या दो से अधिक विशेषताओं के बीच का संबंध है। DBMS में इसके निम्न प्रकार होते हैं -
- कार्यात्मक निर्भरता
- पूरी तरह कार्यात्मक निर्भरता
- सकर्मक निर्भरता
- बहुमूल्य निर्भरता
- आंशिक निर्भरता
आइए कार्यात्मक निर्भरता से शुरू करें -
कार्यात्मक निर्भरता
यदि किसी तालिका में संग्रहीत जानकारी उसी तालिका में अन्य जानकारी को विशिष्ट रूप से निर्धारित कर सकती है, तो इसे कार्यात्मक निर्भरता कहा जाता है। इसे एक ही संबंध की दो विशेषताओं के बीच संबंध के रूप में देखें।
यदि P कार्यात्मक रूप से Q निर्धारित करता है, तो
P -> Q |
आइए एक उदाहरण देखें -
<कर्मचारी>
EmpID | EmpName | EmpAge |
E01 | Amit | 28 |
E02 | रोहित | 31 |
उपरोक्त तालिका में, EmpName कार्यात्मक रूप से EmpID . पर निर्भर है क्योंकि EmpName EmpID: . के दिए गए मान के लिए केवल एक मान ले सकता है
EmpID -> EmpName |
वही नीचे प्रदर्शित है -
पूरी तरह कार्यात्मक निर्भरता
एक विशेषता पूरी तरह से किसी अन्य विशेषता पर निर्भर है, अगर वह उस विशेषता पर कार्यात्मक रूप से निर्भर है और इसके किसी भी उचित उपसमुच्चय पर नहीं है।
उदाहरण के लिए, एक विशेषता Q पूरी तरह कार्यात्मक है जो किसी अन्य विशेषता P पर निर्भर है, यदि यह कार्यात्मक रूप से P पर निर्भर है और P के किसी उचित उपसमुच्चय पर नहीं।
आइए एक उदाहरण देखें -
<प्रोजेक्टलागत>
ProjectID | ProjectCost |
001 | 1000 |
002 | 5000 |
<कर्मचारी परियोजना>
EmpID | ProjectID | दिन (परियोजना पर खर्च) |
E099 | 001 | 320 |
E056 | 002 | 190 |
उपरोक्त संबंध बताता है:
EmpID, ProjectID, ProjectCost -> दिन |
हालांकि, यह पूरी तरह कार्यात्मक निर्भर नहीं है।
जबकि सबसेट {EmpID, ProjectID} आसानी से निर्धारित कर सकते हैं {दिन} कर्मचारी द्वारा परियोजना पर खर्च किया गया।
यह सारांशित करता है और हमारी पूरी तरह कार्यात्मक निर्भरता देता है -
{EmpID, ProjectID} -> (दिन) |
सकर्मक निर्भरता
जब एक अप्रत्यक्ष संबंध कार्यात्मक निर्भरता का कारण बनता है तो इसे ट्रांजिटिव डिपेंडेंसी कहा जाता है।
यदि P -> Q और Q -> R सत्य है, तो P-> R एक सकर्मक निर्भरता है।
बहुमूल्य निर्भरता
जब किसी तालिका में एक या अधिक पंक्तियों का अस्तित्व उसी तालिका में एक या अधिक अन्य पंक्तियों को दर्शाता है, तो बहु-मूल्यवान निर्भरताएँ उत्पन्न होती हैं।
यदि किसी तालिका में P, Q और R विशेषताएँ हैं, तो Q और R, P के बहु-मूल्यवान तथ्य हैं।
इसे दोहरे तीर द्वारा दर्शाया जाता है -
->-> |
हमारे उदाहरण के लिए:
P->->Q प्रश्न->->आर |
उपरोक्त मामले में, बहु-मूल्यवान निर्भरता केवल तभी मौजूद होती है जब Q और R स्वतंत्र विशेषताएँ हों।
आंशिक निर्भरता
आंशिक निर्भरता तब होती है जब एक गैर-प्रमुख विशेषता उम्मीदवार कुंजी के भाग पर कार्यात्मक रूप से निर्भर होती है।
दूसरा सामान्य फॉर्म (2NF) आंशिक निर्भरता को समाप्त करता है। आइए एक उदाहरण देखें -
StudentID | ProjectNo | StudentName | ProjectName |
S01 | 199 | केटी | भौगोलिक स्थान |
S02 | 120 | Ollie | क्लस्टर एक्सप्लोरेशन |
उपरोक्त तालिका में, हमारे पास आंशिक निर्भरता है; आइए देखें कि कैसे -
प्रमुख प्रमुख विशेषताएं हैं StudentID और प्रोजेक्ट नं.
जैसा कि कहा गया है, गैर-प्रमुख विशेषताएँ यानी StudentName और प्रोजेक्टनाम आंशिक आश्रित होने के लिए उम्मीदवार कुंजी के भाग पर कार्यात्मक रूप से निर्भर होना चाहिए।
विद्यार्थी का नाम StudentID . द्वारा निर्धारित किया जा सकता है जो संबंध को आंशिक निर्भर बनाता है।
प्रोजेक्टनाम ProjectID . द्वारा निर्धारित किया जा सकता है , जो कि संबंध आंशिक आश्रित है।