मल्टीवैल्यूड डिपेंडेंसी क्या है?
जब एक टेबल में एक या अधिक पंक्तियों का अस्तित्व उसी टेबल में एक या अधिक अन्य पंक्तियों का तात्पर्य करता है, तो मल्टीवैल्यूड डिपेंडेंसी होती है।
यदि एक टेबल में विशेषताएँ P, Q और R हैं, तो Q और R, P के मल्टीवैल्यूड तथ्य हैं।
इसे डबल एरो द्वारा दर्शाया जाता है:
| ->-> |
हमारे उदाहरण के लिए:
| P->->Q P->->R |
उपरोक्त मामले में, मल्टीवैल्यूड डिपेंडेंसी केवल तभी मौजूद होती है जब Q और R स्वतंत्र विशेषताएँ हों।
मल्टीवैल्यूड डिपेंडेंसी वाली टेबल 4NF का उल्लंघन करती है।
उदाहरण
आइए एक उदाहरण देखें:
<Student>
| StudentName | CourseDiscipline | Activities |
| Amit | Mathematics | Singing |
| Amit | Mathematics | Dancing |
| Yuvraj | Computers | Cricket |
| Akash | Literature | Dancing |
| Akash | Literature | Cricket |
| Akash | Literature | Singing |
उपरोक्त टेबल में, हम देख सकते हैं कि छात्र Amit और Akash की एक से अधिक गतिविधियों में रुचि है।
यह मल्टीवैल्यूड डिपेंडेंसी है क्योंकि छात्र का CourseDiscipline गतिविधियों से स्वतंत्र है, लेकिन छात्र पर निर्भर है।
इसलिए, मल्टीवैल्यूड डिपेंडेंसी:
| StudentName ->-> CourseDiscipline StudentName ->-> Activities |
उपरोक्त संबंध नॉर्मलाइज़ेशन में फोर्थ नॉर्मल फॉर्म (4NF) का उल्लंघन करता है।
इसे सुधारने के लिए, टेबल को दो अलग-अलग टेबल में विभाजित करें और मल्टीवैल्यूड डिपेंडेंसी तोड़ें:
<StudentCourse>
| StudentName | CourseDiscipline |
| Amit | Mathematics |
| Amit | Mathematics |
| Yuvraj | Computers |
| Akash | Literature |
| Akash | Literature |
| Akash | Literature |
<StudentActivities>
| StudentName | Activities |
| Amit | Singing |
| Amit | Dancing |
| Yuvraj | Cricket |
| Akash | Dancing |
| Akash | Cricket |
| Akash | Singing |
यह मल्टीवैल्यूड डिपेंडेंसी को तोड़ता है और अब हमारे पास दो फंक्शनल डिपेंडेंसी हैं:
| StudentName -> CourseDiscipline StudentName -> Activities |