কম্পিউটার টিউটোরিয়াল

DBMS-এ মাল্টিভ্যালুড নির্ভরতা


মাল্টিভ্যালুড নির্ভরতা কী?

যখন একটি টেবিলে এক বা একাধিক সারির অস্তিত্ব একই টেবিলে এক বা একাধিক অন্য সারির বোঝায়, তখন মাল্টিভ্যালুড নির্ভরতা ঘটে।

যদি একটি টেবিলে 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


  1. DBMS-এ এক-से-বহু বা বহু-से-এক সম্পর্ক

  2. DBMS-এ ডেটা ডিকশনারি

  3. DBMS-এ ফাংশনাল নির্ভরতা

  4. DBMS-এ ডেডলক (Deadlocks)