মাল্টিভ্যালুড নির্ভরতা কী?
যখন একটি টেবিলে এক বা একাধিক সারির অস্তিত্ব একই টেবিলে এক বা একাধিক অন্য সারির বোঝায়, তখন মাল্টিভ্যালুড নির্ভরতা ঘটে।
যদি একটি টেবিলে P, Q এবং R অ্যাট্রিবিউট থাকে, তবে Q এবং R হলো P-এর মাল্টিভ্যালুড সত্য।
এটি ডাবল তীর দিয়েও প্রকাশ করা হয়:
| ->-> |
আমাদের উদাহরণের জন্য:
| P->->Q P->->R |
উপরোক্ত কেসে, মাল্টিভ্যালুড নির্ভরতা তখনই আছে যখন Q এবং R স্বাধীন অ্যাট্রিবিউট।
মাল্টিভ্যালুড নির্ভরতাযুক্ত একটি টেবিল 4NF লঙ্ঘন করে।
উদাহরণ
একটি উদাহরণ &mins; দেখি:
<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 |
উপরের রিলেশন স্বাভাবিকীকরণের Fourth Normal Form লঙ্ঘন করে।
এটি সংশোধন করতে, টেবিলকে দুটি আলাদা টেবিলে ভাগ করুন এবং মাল্টিভ্যালুড নির্ভরতা ভাঙুন:
<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 |