डेटाबेस में एक फंक्शनल डिपेंडेंसी (कार्यात्मक निर्भरता) विशेषताओं के बीच बाधाओं का एक समूह लागू करती है। यह तब होता है जब एक रिलेशन में एक विशेषता दूसरी विशेषता को विशिष्ट रूप से निर्धारित करती है। इसे A → B के रूप में लिखा जा सकता है जिसका अर्थ है "B, A पर कार्यात्मक रूप से निर्भर है।" इसे डेटाबेस डिपेंडेंसी भी कहा जाता है।
इस संबंध में, A, B के मान को निर्धारित करता है, जबकि B, A पर निर्भर करता है।
डेटाबेस डिज़ाइन में फंक्शनल डिपेंडेंसी क्यों महत्वपूर्ण है
फंक्शनल डिपेंडेंसी डेटा की वैधता सुनिश्चित करने में मदद करती है। एक Employees टेबल पर विचार करें जो सामाजिक सुरक्षा संख्या (SSN), नाम, जन्म तिथि, पता आदि सहित विशेषताओं को सूचीबद्ध करती है।
विशेषता SSN नाम, जन्म तिथि, पते और शायद अन्य मानों के मूल्य को निर्धारित करेगी, क्योंकि एक सामाजिक सुरक्षा संख्या अद्वितीय होती है, जबकि नाम, जन्म तिथि या पता नहीं हो सकता। हम इसे इस तरह लिख सकते हैं:
SSN → नाम, जन्म तिथि, पता
इसलिए, नाम, जन्म तिथि और पता SSN पर कार्यात्मक रूप से निर्भर हैं। हालांकि, रिवर्स स्टेटमेंट (नाम → SSN) सही नहीं है क्योंकि एक से अधिक कर्मचारियों का नाम समान हो सकता है लेकिन उनकी SSN कभी समान नहीं होगी। दूसरे शब्दों में, यदि हम SSN विशेषता का मान जानते हैं, तो हम नाम, जन्म तिथि और पते का मान ढूंढ सकते हैं। लेकिन यदि हम केवल नाम विशेषता का मान जानते हैं, तो हम SSN की पहचान नहीं कर सकते।
फंक्शनल डिपेंडेंसी का बायां भाग एक से अधिक विशेषता शामिल कर सकता है। मान लें कि हमारे पास कई स्थानों वाला व्यवसाय है। हमारे पास employee, title, department, location, और manager विशेषताओं वाली एक Employee टेबल हो सकती है।
कर्मचारी यह निर्धारित करता है कि वह कहां काम कर रहा है, इसलिए एक निर्भरता है:
employee → location
लेकिन एक स्थान पर एक से अधिक प्रबंधक हो सकते हैं, इसलिए employee और department मिलकर प्रबंधक निर्धारित करते हैं:
employee, department → manager
फंक्शनल डिपेंडेंसी और नॉर्मलाइज़ेशन
फंक्शनल डिपेंडेंसी उसमें योगदान देती है जिसे डेटाबेस नॉर्मलाइज़ेशन कहा जाता है, जो डेटा अखंडता सुनिश्चित करता है और डेटा अतिरेक को कम करता है। नॉर्मलाइज़ेशन के बिना, इस बात का कोई आश्वासन नहीं है कि डेटाबेस में डेटा सटीक और भरोसेमंद है।