कार्यात्मक निर्भरता एक संबंध है जो तब मौजूद होता है जब एक विशेषता विशिष्ट रूप से दूसरी विशेषता निर्धारित करती है।
यदि R विशेषता X और Y के साथ एक संबंध है, तो विशेषताओं के बीच एक कार्यात्मक निर्भरता को X->Y के रूप में दर्शाया गया है, जो निर्दिष्ट करता है कि Y कार्यात्मक रूप से X पर निर्भर है। यहाँ X एक निर्धारक सेट है और Y एक आश्रित विशेषता है। X का प्रत्येक मान ठीक एक Y मान से संबद्ध है।
डेटाबेस में कार्यात्मक निर्भरता विशेषताओं के दो सेटों के बीच बाधा के रूप में कार्य करती है। कार्यात्मक निर्भरता को परिभाषित करना संबंधपरक डेटाबेस डिजाइन का एक महत्वपूर्ण हिस्सा है और पहलू सामान्यीकरण में योगदान देता है।
कार्यात्मक निर्भरता महत्वहीन है यदि वाई एक्स का सबसेट है। कर्मचारी नाम और सामाजिक सुरक्षा संख्या (एसएसएन) के गुणों वाली तालिका में, कर्मचारी का नाम एसएसएन पर कार्यात्मक रूप से निर्भर है क्योंकि एसएसएन व्यक्तिगत नामों के लिए अद्वितीय है। एक एसएसएन विशेष रूप से कर्मचारी की पहचान करता है, लेकिन एक कर्मचारी का नाम एसएसएन को अलग नहीं कर सकता क्योंकि एक से अधिक कर्मचारियों का एक ही नाम हो सकता है।
कार्यात्मक निर्भरता बॉयस-कॉड सामान्य रूप और तीसरा सामान्य रूप परिभाषित करती है। यह सूचनाओं की पुनरावृत्ति को समाप्त करते हुए, विशेषताओं के बीच निर्भरता को बनाए रखता है। कार्यात्मक निर्भरता एक उम्मीदवार कुंजी से संबंधित है, जो विशिष्ट रूप से एक टपल की पहचान करती है और संबंध में अन्य सभी विशेषताओं का मूल्य निर्धारित करती है। कुछ मामलों में, कार्यात्मक रूप से आश्रित सेट अप्रासंगिक होते हैं यदि:
- कार्यात्मक निर्भरता के दाहिने हाथ के सेट में केवल एक विशेषता होती है
- कार्यात्मक निर्भरता के बाएं हाथ के सेट को कम नहीं किया जा सकता है, क्योंकि इससे सेट की संपूर्ण सामग्री बदल सकती है
- किसी मौजूदा कार्यात्मक निर्भरता को कम करने से सेट की सामग्री बदल सकती है
एक कार्यात्मक निर्भरता की एक महत्वपूर्ण संपत्ति आर्मस्ट्रांग का स्वयंसिद्ध है, जिसका उपयोग डेटाबेस सामान्यीकरण में किया जाता है। एक संबंध में, आर, तीन विशेषताओं (एक्स, वाई, जेड) के साथ आर्मस्ट्रांग का स्वयंसिद्ध सत्य है यदि निम्नलिखित शर्तें पूरी होती हैं:
- परिवर्तनशीलता का अभिगृहीत: यदि X->Y और Y->Z, तो X->Z
- रिफ्लेक्सिविटी का स्वयंसिद्ध (सबसेट गुण): यदि Y, X का एक उपसमुच्चय है, तो X->Y
- वृद्धि का अभिगृहीत: यदि X->Y, तो XZ->YZ
0 Comments