डीबीएमएस में कार्यात्मक निर्भरता: क्या है, प्रकार और उदाहरण
कार्यात्मक निर्भरता क्या है?
कार्यात्मक निर्भरता (एफडी) एक बाधा है जो डेटाबेस प्रबंधन प्रणाली (DBMS) में एक विशेषता का दूसरे विशेषता से संबंध निर्धारित करती है। कार्यात्मक निर्भरता डेटाबेस में डेटा की गुणवत्ता बनाए रखने में मदद करती है। यह अच्छे और खराब डेटाबेस डिज़ाइन के बीच अंतर खोजने में महत्वपूर्ण भूमिका निभाता है।
कार्यात्मक निर्भरता को तीर “→” द्वारा दर्शाया जाता है। X की Y पर कार्यात्मक निर्भरता को X → Y द्वारा दर्शाया जाता है। आइए उदाहरण के साथ DBMS में कार्यात्मक निर्भरता को समझते हैं।
उदाहरण:
| कर्मचारी संख्या | कर्मचारी का नाम | वेतन | शहर |
|---|---|---|---|
| 1 | दाना | 50000 | सैन फ्रांसिस्को |
| 2 | फ्रांसिस | 38000 | लंडन |
| 3 | एंड्रयू | 25000 | टोक्यो |
इस उदाहरण में, यदि हम कर्मचारी संख्या का मूल्य जानते हैं, तो हम कर्मचारी का नाम, शहर, वेतन आदि प्राप्त कर सकते हैं। इसके द्वारा, हम कह सकते हैं कि शहर, कर्मचारी का नाम और वेतन कार्यात्मक रूप से कर्मचारी संख्या पर निर्भर हैं।
मुख्य शर्तें
यहां, डेटाबेस में कार्यात्मक निर्भरता के लिए कुछ प्रमुख शब्द दिए गए हैं:
| मुख्य शर्तें | विवरण |
|---|---|
| स्वयंसिद्ध | स्वयंसिद्ध अनुमान नियमों का एक समूह है जिसका उपयोग संबंधपरक डेटाबेस पर सभी कार्यात्मक निर्भरताओं का अनुमान लगाने के लिए किया जाता है। |
| सड़न | यह एक नियम है जो सुझाव देता है कि यदि आपके पास एक तालिका है जिसमें दो इकाइयाँ हैं जो एक ही प्राथमिक कुंजी द्वारा निर्धारित होती हैं तो आपको उन्हें दो अलग-अलग तालिकाओं में विभाजित करने पर विचार करना चाहिए। |
| निर्भर | यह प्रदर्शित होता है कार्यात्मक निर्भरता आरेख के दाईं ओर. |
| सिद्ध | यह कार्यात्मक निर्भरता आरेख के बाईं ओर प्रदर्शित होता है। |
| संघ | यह सुझाव देता है कि यदि दो टेबल अलग-अलग हैं, और पीके एक ही है, तो आपको उन्हें एक साथ रखने पर विचार करना चाहिए। |
कार्यात्मक निर्भरता के नियम
डेटाबेस में कार्यात्मक निर्भरता के लिए तीन सबसे महत्वपूर्ण नियम नीचे दिए गए हैं:
- प्रतिवर्ती नियम - यदि X विशेषताओं का एक समूह है और Y is_subset_of X, तो X का मान Y होता है।
- वृद्धि नियम: जब x -> y मान्य होता है, और c विशेषता सेट है, तो ac -> bc भी मान्य होता है। यह उन विशेषताओं को जोड़ना है जो मूल निर्भरताओं को नहीं बदलते हैं।
- संक्रमणीयता नियम: यह नियम बीजगणित में संक्रमणीयता नियम से बहुत मिलता-जुलता है। यदि x -> y मान्य है और y -> z मान्य है, तो x -> z भी मान्य है। X -> y को कार्यात्मक रूप से कहा जाता है जो y को निर्धारित करता है।
डीबीएमएस में कार्यात्मक निर्भरता के प्रकार
डीबीएमएस में मुख्य रूप से चार प्रकार की कार्यात्मक निर्भरताएँ होती हैं। डीबीएमएस में कार्यात्मक निर्भरताएँ निम्नलिखित प्रकार की होती हैं:
- बहुमूल्य निर्भरता
- तुच्छ कार्यात्मक निर्भरता
- गैर-तुच्छ कार्यात्मक निर्भरता
- सकर्मक निर्भरता
डीबीएमएस में बहुमूल्य निर्भरता
बहुमूल्य निर्भरता उस स्थिति में होती है जब एक ही तालिका में कई स्वतंत्र बहुमूल्य विशेषताएँ होती हैं। बहुमूल्य निर्भरता एक संबंध में विशेषताओं के दो सेटों के बीच एक पूर्ण बाधा है। इसके लिए आवश्यक है कि संबंध में कुछ निश्चित टपल मौजूद हों। समझने के लिए निम्नलिखित बहुमूल्य निर्भरता उदाहरण पर विचार करें।
उदाहरण:
| कार_मॉडल | माफ़_वर्ष | रंग |
|---|---|---|
| H001 | 2017 | धातु का |
| H001 | 2017 | हरा |
| H005 | 2018 | धातु का |
| H005 | 2018 | नीला |
| H010 | 2015 | धातु का |
| H033 | 2012 | ग्रे |
इस उदाहरण में, maf_year और color एक दूसरे से स्वतंत्र हैं लेकिन car_model पर निर्भर हैं। इस उदाहरण में, इन दो स्तंभों को car_model पर निर्भर बहुमूल्य कहा जाता है।
इस निर्भरता को इस प्रकार दर्शाया जा सकता है:
कार_मॉडल -> maf_year
कार_मॉडल-> रंग
डीबीएमएस में तुच्छ कार्यात्मक निर्भरता
ट्रिवियल निर्भरता विशेषताओं का एक समूह है जिसे ट्रिवियल कहा जाता है यदि विशेषताओं का समूह उस विशेषता में शामिल हो।
अतः, यदि Y, X का उपसमुच्चय है तो X -> Y एक तुच्छ कार्यात्मक निर्भरता है। आइए एक तुच्छ कार्यात्मक निर्भरता उदाहरण से समझते हैं।
उदाहरण के लिए:
| एम्प_आईडी | कर्मचारी_नाम |
|---|---|
| AS555 | सताना |
| AS811 | जॉर्ज |
| AS999 | केविन |
दो कॉलम Emp_id और Emp_name वाली इस तालिका पर विचार करें।
{Emp_id, Emp_name} -> Emp_id एक तुच्छ कार्यात्मक निर्भरता है क्योंकि Emp_id {Emp_id,Emp_name} का एक उपसमुच्चय है।
डीबीएमएस में गैर तुच्छ कार्यात्मक निर्भरता
कार्यात्मक निर्भरता जिसे गैर-तुच्छ निर्भरता के रूप में भी जाना जाता है, तब होती है जब A->B सत्य होता है जहां B, A का उपसमुच्चय नहीं है। किसी संबंध में, यदि विशेषता B, विशेषता A का उपसमुच्चय नहीं है, तो इसे गैर-तुच्छ निर्भरता माना जाता है।
| कंपनी | सीईओ | आयु |
|---|---|---|
| Microsoft | सत्य Nadella | 51 |
| गूगल | सुंदर पिचाई | 46 |
| Apple | टिम कुक | 57 |
उदाहरण:
(कंपनी} -> {सीईओ} (यदि हम कंपनी को जानते हैं, तो हम सीईओ का नाम भी जानते हैं)
लेकिन सीईओ कंपनी का उपसमूह नहीं है, और इसलिए यह गैर-तुच्छ कार्यात्मक निर्भरता है।
डीबीएमएस में सकर्मक निर्भरता
ट्रांजिटिव डिपेंडेंसी एक प्रकार की फंक्शनल डिपेंडेंसी है जो तब होती है जब “t” दो फंक्शनल डिपेंडेंसी द्वारा अप्रत्यक्ष रूप से बनता है। आइए निम्नलिखित ट्रांजिटिव डिपेंडेंसी उदाहरण से समझते हैं।
उदाहरण:
| कंपनी | सीईओ | आयु |
|---|---|---|
| Microsoft | सत्य Nadella | 51 |
| गूगल | सुंदर पिचाई | 46 |
| अलीबाबा | जैक मा | 54 |
{कंपनी} -> {सीईओ} (यदि हम कंपनी को जानते हैं, तो हम उसके सीईओ का नाम भी जानते हैं)
{सीईओ} -> {आयु} यदि हम सीईओ को जानते हैं, तो हम आयु भी जानते हैं
इसलिए सकर्मक निर्भरता के नियम के अनुसार:
{कंपनी} -> {आयु} को बरकरार रखना चाहिए, यह समझ में आता है क्योंकि अगर हमें कंपनी का नाम पता है, तो हम उसकी उम्र जान सकते हैं।
नोट: आपको यह याद रखना होगा कि सकर्मक निर्भरता केवल तीन या अधिक विशेषताओं के संबंध में ही हो सकती है।
सामान्यीकरण क्या है?
सामान्यीकरण डेटाबेस में डेटा को व्यवस्थित करने की एक विधि है जो आपको डेटा अतिरेक, सम्मिलन, अद्यतन और विलोपन विसंगति से बचने में मदद करती है। यह उनके विभिन्न कार्यात्मक निर्भरता और प्राथमिक कुंजी के आधार पर संबंध स्कीमा का विश्लेषण करने की एक प्रक्रिया है।
सामान्यीकरण रिलेशनल डेटाबेस सिद्धांत में अंतर्निहित है। इसका डेटाबेस के भीतर एक ही डेटा को डुप्लिकेट करने का प्रभाव हो सकता है जिसके परिणामस्वरूप अतिरिक्त तालिकाओं का निर्माण हो सकता है।
कार्यात्मक निर्भरता के लाभ
- कार्यात्मक निर्भरता डेटा अतिरेक से बचती है। इसलिए एक ही डेटा एकाधिक स्थानों पर दोहराया नहीं जाता है डेटाबेस
- यह डेटाबेस में डेटा की गुणवत्ता बनाए रखने में आपकी मदद करता है
- यह आपको डेटाबेस के अर्थ और बाधाओं को परिभाषित करने में मदद करता है
- यह आपको खराब डिज़ाइनों की पहचान करने में मदद करता है
- यह आपको डेटाबेस डिज़ाइन के बारे में तथ्य खोजने में मदद करता है
सारांश
- कार्यात्मक निर्भरता तब होती है जब एक विशेषता किसी अन्य विशेषता को निर्धारित करती है डीबीएमएस प्रणाली.
- अभिगृहीत, अपघटन, आश्रित, निर्धारक, संघ कार्यात्मक निर्भरता के लिए प्रमुख शब्द हैं
- कार्यात्मक निर्भरता के चार प्रकार हैं 1) बहुमूल्यवान 2) तुच्छ 3) गैर तुच्छ 4) सकर्मक
- बहुमूल्य निर्भरता उस स्थिति में होती है, जब एक ही तालिका में अनेक स्वतंत्र बहुमूल्य विशेषताएँ होती हैं
- ट्रिवियल निर्भरता तब होती है जब विशेषताओं का एक सेट जिसे ट्रिवियल कहा जाता है यदि विशेषताओं का सेट उस विशेषता में शामिल होता है
- नॉनट्रिवियल निर्भरता तब होती है जब A->B सत्य होता है जहां B, A का उपसमुच्चय नहीं है
- सकर्मक एक प्रकार की कार्यात्मक निर्भरता है जो तब होती है जब यह अप्रत्यक्ष रूप से दो कार्यात्मक निर्भरताओं द्वारा निर्मित होती है
- सामान्यीकरण डेटाबेस में डेटा को व्यवस्थित करने की एक विधि है जो आपको डेटा अतिरेक से बचने में मदद करती है
