জoin ডিপেন্ডেন্সি কী?
যদি একটি টেবিল একাধিক টেবিল জoin করে পুনরায় তৈরি করা যায় এবং এই টেবিলগুলো মূল টেবিলের অ্যাট্রিবিউটের সাবসেট ধারণ করে, তবে টেবিলটি জoin ডিপেন্ডেন্সিতে আছে। এটি মাল্টিভ্যালুড ডিপেন্ডেন্সির একটি জেনারেলাইজেশন।
জoin ডিপেন্ডেন্সি 5NF-এর সাথে সম্পর্কিত, যেখানে একটি রিলেশন 5NF-এ থাকবে, শুধু তখনই যখন সেটি ইতিমধ্যে 4NF-এ থাকে এবং আরও ডিকম্পোজ করা যায় না।
উদাহরণ
<Employee>
| EmpName | EmpSkills | EmpJob (Assigned Work) |
| Tom | Networking | EJ001 |
| Harry | Web Development | EJ002 |
| Katie | Programming | EJ002 |
উপরের টেবিল নিচের তিনটি টেবিলে ডিকম্পোজ করা যায়; সুতরাং এটি 5NF-এ নেই:
<EmployeeSkills>
| EmpName | EmpSkills |
| Tom | Networking |
| Harry | Web Development |
| Katie | Programming |
<EmployeeJob>
| EmpName | EmpJob |
| Tom | EJ001 |
| Harry | EJ002 |
| Katie | EJ002 |
<JobSkills>
| EmpSkills | EmpJob |
| Networking | EJ001 |
| Web Development | EJ002 |
| Programming | EJ002 |
আমাদের Join Dependency:
| {(EmpName, EmpSkills ), ( EmpName, EmpJob), (EmpSkills, EmpJob)} |
উপরের রিলেশনগুলোর জoin ডিপেন্ডেন্সি রয়েছে, তাই তারা 5NF-এ নেই। এর মানে উপরের তিনটি রিলেশনের জoin রিলেশন আমাদের মূল রিলেশন <Employee>-এর সমান।