डेटाबेस डिजाइन मा बहुभाषी निर्भरता

बहुभाषी निर्भरता चौथो सामान्य रूप ब्रेक हुन्छ

एक सम्बन्धी डेटाबेसमा, एक निर्भरता तब हुन्छ जब डेटाबेस तालिकामा भण्डारण गरिएको जानकारीले विशिष्ट रूपमा समान तालिकामा भण्डार गरिएको अन्य जानकारी निर्धारण गर्छ। एक बहुभाषी निर्भरता तब हुन्छ जब तालिकामा एक वा बढी पङ्क्तिहरूको उपस्थिति समान तालिकामा एक वा धेरै अन्य पङ्क्तिहरूको उपस्थिति समावेश गर्दछ। अर्को तरिका राख्नुहोस्, दुई विशेषताहरू (वा स्तम्भहरू) तालिकामा एकअर्कालाई स्वतन्त्र छन्, तर दुवै तेस्रो विशेषतामा निर्भर हुन्छन्।

एक बहुभाषी निर्भरता सामान्यकरण मानक को चौथो सामान्य रूप (4 एनएफ) रोक्छ। सम्बन्धी डेटाबेसले पाँच सामान्य रूपहरू पछ्याउँछ जुन रेकर्ड डिजाइनको लागि दिशानिर्देशहरू प्रतिनिधित्व गर्दछ। तिनीहरू डाटामा विनाश र असंगति अपडेट गर्नबाट रोक्छन्। डाटाबेसमा चौथो-सामान्य सम्बन्धमा चौथो सामान्य फारम सम्झौता गर्दछ

कार्यात्मक निर्भरता बनाम बहुभाषी निर्भरता

एक बहुभाषी निर्भरता बुझ्न को लागि, यो एक कार्यात्मक निर्भरता के हो पुन: संशोधन गर्न उपयोगी छ।

यदि एक विशेषता एक्स विशिष्ट रूपमा एक विशेषता Y को निर्धारण गर्दछ, त्यसपछि Y कार्यात्मक रूपमा X मा निर्भर छ। यो X -> Y को रुपमा लेखिएको छ। उदाहरणका लागि, तल विद्यार्थी विद्यार्थी तालिकामा, विद्यार्थीलाई नामकरणले मुख्य निर्धारण गर्दछ:

विद्यार्थीहरू
Student_Name मुख्य
रवि कला इतिहास
बेथ रसायन विज्ञान


यो कार्यात्मक निर्भरता लिखित हुन सक्छ: Student_Name -> मेजर प्रत्येक Student_Name ले ठीक मा एक प्रमुख निर्धारण गर्दछ, र अधिक।

यदि तपाईले डाटाबेसलाई खेलकुदहरू ट्रयाक गर्न पनि चाहानुहुन्छ भने, तपाईँले सोच्न सक्नुहुने सबै भन्दा राम्ररी तरिका मात्र स्पोर्ट शीर्षकको अर्को स्तम्भ थप्नको लागि हो:

विद्यार्थीहरू
Student_Name मुख्य खेलकुद
रवि कला इतिहास फुटबल
रवि कला इतिहास भलिबल
रवि कला इतिहास टेनिस
बेथ रसायन विज्ञान टेनिस
बेथ रसायन विज्ञान फुटबल


यहाँ समस्या यो छ कि रवि र बेथ धेरै खेल खेल्छन्। प्रत्येक अतिरिक्त खेलको लागि नयाँ पङ्क्ति थप्न आवश्यक छ।

यो तालिकाले बहुआधारित निर्भरता परिचय गरेको छ किनभने प्रमुख र खेल एकअर्काबाट स्वतन्त्र छन् तर विद्यार्थीले मात्र निर्भर गर्दछ।

यो एक सरल उदाहरण हो र सजिलै पहिचान गर्न योग्य छ, तर बहुविध निर्भरता ठूलो, जटिल डेटाबेसमा समस्या हुन सक्छ।

एक बहुभाषी निर्भरता X -> -> वाई लिखित छ। यस अवस्थामा:

Student_Name -> -> मेजर
Student_Name -> -> खेलकुद

यो "Student_Name multidetermines मेजर" र "Student_Name multidetermines खेलकुदको रूपमा पढिएको छ।"

एक बहुभाषी निर्भरता लाई सधैँ कम्तिमा तीन विशेषताहरु चाहिन्छ किनकी यसले कम से कम दुई विशेषताहरू जुन तेस्रोमा निर्भर हुन्छन्।

बहुभाषी निर्भरता र सामान्यता

एक बहुभाषी निर्भरता संग तालिका तालिका को सामान्य सामान्य (4NK) को सामान्यीकरण को उल्लङ्घन गर्दछ किनकि यसले अनावश्यक redundancies बनाउँछ र असंगत डेटा मा योगदान गर्न सक्छ। यसलाई 4 एनएफ ल्याउन, यो जानकारी दुई तालिकाहरूमा तोड्न आवश्यक छ।

अब तलको तालिकामा Student_Name -> मेजरको कार्यात्मक निर्भरता छ, र बहु ​​बहुविध निर्भरताहरू छैनन्:

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

जबकि यस तालिका मा Student_Name -> खेल को एक एकल कार्यात्मक निर्भरता छ:

विद्यार्थीहरू र खेलकुदहरू
Student_Name खेलकुद
रवि फुटबल
रवि भलिबल
रवि टेनिस
बेथ टेनिस
बेथ फुटबल

यो स्पष्टीकरण हो कि सामान्यकरण जटिलतः जटिल टेबलहरूलाई सरल बनाएर संबोधित गरिन्छ ताकि एक एकल मेटल बनाउन को लागी एक भन्दा बढी विचार वा थिमसँग सम्बन्धित जानकारी धेरै अधिक भिन्न जानकारी समावेश गर्दछ।