डेटाबेस डिझाइन मधील बहुस्तरीय अवलंबन

बहुस्तरीय अवलंबन चौथ्या सामान्य फॉर्म खंडित करते

रिलेशन्शनल डेटाबेसमध्ये, एका डेटाबेसवर समान माहिती ठेवली जाते तेव्हा त्याच आधारावर समान माहिती मिळते. बहुस्तरीय अवलंबन तेव्हा होतो जेव्हा टेबलमधील एक किंवा अधिक पंक्तीची उपस्थिती दर्शवते की त्याच सारणीमधील एक किंवा अधिक पंक्तीची उपस्थिती. आणखी एक मार्ग ठेवा, सारणीतील दोन विशेषता (किंवा स्तंभ) एकमेकांपासून स्वतंत्र आहेत, परंतु दोन्ही तृतीय विशेषतांवर अवलंबून आहेत.

बहुस्तरीय अवलंबन सामान्यीकरण मानक चौथा सामान्य फॉर्म (4NF) प्रतिबंधित करते. रिलेशनल डेटाबेसेस रेकॉर्ड डिझाइनसाठी मार्गदर्शक तत्वे दर्शविणारे पाच सामान्य प्रकारचे अनुसरण करतात. ते डेटामध्ये त्रुटी आणि विसंगती अद्ययावत करतात. चौथा सामान्य फॉर्म एका डेटाबेसमध्ये अनेक-ते-एक संबंधांशी संबंधित असतो.

कार्यात्मक अवलंबित्व वि. बहुस्तरीय अवलंबन

एक बहुश्रुत अवलंबन समजून घेण्यासाठी, कार्यशील अवलंबन किती आहे हे पुन्हा तपासणे उपयुक्त ठरते.

जर एखाद्या विशेषतेमध्ये एक्स विशिष्टरित्या Y हे गुणधर्म ठरवते, तर Y कार्यशीलतेने X वर अवलंबून आहे. हे X -> Y म्हणून लिहिले आहे. उदाहरणार्थ, खालील विद्यार्थी सारणीमध्ये Student_Name ने प्रमुख ठरविते:

विद्यार्थी
विद्यार्थी_नाम मुख्य
रवी कला इतिहास
बेथ रसायनशास्त्र


या फंक्शनल अवलंबन लिहील्या जाऊ शकतातः विद्यार्थी_नाव -> प्रमुख प्रत्येक विद्यार्थी_जैनी अचूकपणे एक प्रमुख, आणि आणखी नाही.

हे विद्यार्थी ज्या क्रीडाप्रकारांचे खेळ खेळण्यासाठीदेखील डाटाबेसदेखील हवे असतील तर तुम्हाला असे वाटते की हे करण्याचा सर्वात सोपा मार्ग म्हणजे स्पोर्ट:

विद्यार्थी
विद्यार्थी_नाम मुख्य क्रिडा
रवी कला इतिहास सॉकर
रवी कला इतिहास व्हॉलीबॉल
रवी कला इतिहास टेनिस
बेथ रसायनशास्त्र टेनिस
बेथ रसायनशास्त्र सॉकर


येथे समस्या अशी आहे की रवी आणि बेथ दोन्ही बहुविध क्रीडा खेळतात. प्रत्येक अतिरिक्त खेळात एक नवीन पंक्ति जोडणे आवश्यक आहे.

या टेबलने बहुस्तरीय अवलंबन सुरु केले आहे कारण प्रमुख आणि खेळ एकमेकांपासून स्वतंत्र आहेत परंतु दोन्ही विद्यार्थ्यांवर अवलंबून आहेत.

हे एक सोपे उदाहरण आहे आणि सहज ओळखता येण्याजोगे आहे, परंतु एका बहु-परस्पर निर्भरता मोठ्या, जटिल डेटाबेसमध्ये समस्या होऊ शकते.

एक बहुस्तरीय अवलंबित्व X -> -> Y. लिहिला आहे: या प्रकरणात:

विद्यार्थी_नाव -> -> मेजर
विद्यार्थी नाव -> -> खेळ

हे "विद्यार्थी_नाम बहुउद्देशीय प्रमुख" आणि "विद्यार्थी_नाम बहुविध क्रीडा स्पोर्ट" म्हणून वाचले आहे.

बहुस्तरीय अवलंबनाने कमीतकमी तीन गुणधर्माची आवश्यकता असते कारण त्यामध्ये कमीतकमी दोन गुणधर्म असतात जे तिसऱ्या वर अवलंबून असतात.

बहुस्तरीय अवलंबन आणि सामान्यीकरण

बहुस्तरीय अवलंबन असलेला तक्ता चौथ्या नॉर्मल फॉर्म (4 एनके) च्या सामान्यीकरण मानकांचे उल्लंघन करतो कारण तो अनावश्यक रीडंडन्सी निर्माण करतो आणि विसंगत डेटामध्ये योगदान देऊ शकतो. हे 4 एनईएफ पर्यंत आणण्यासाठी, ही माहिती दोन टेबलमध्ये खंडित करणे आवश्यक आहे.

खालील तक्तामध्ये विद्यार्थी-नामाचा -> मेजर, आणि बहुस्तरीय अवलंबनांचा एक कार्यशील अवलंबन आहे:

विद्यार्थी आणि महाविद्यालय
विद्यार्थी_नाम मुख्य
रवी कला इतिहास
रवी कला इतिहास
रवी कला इतिहास
बेथ रसायनशास्त्र
बेथ रसायनशास्त्र

या टेबलमध्ये Student_Name -> Sport चे एकाच फंक्शनल अवलंबन आहे.

विद्यार्थी आणि क्रीडा
विद्यार्थी_नाम क्रिडा
रवी सॉकर
रवी व्हॉलीबॉल
रवी टेनिस
बेथ टेनिस
बेथ सॉकर

हे स्पष्ट आहे की सामान्यीकरण अनेकदा कॉम्पलेक्स टेबलला सरळ करून सोपे करते जेणेकरून त्यांना एका टेबलवर बनविण्यापेक्षा एका वेगळ्या माहितीवर आधारित असणारी माहिती किंवा विषयाशी संबंधित माहिती असू शकते.