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

DBMS-এ জoin ডিপেন্ডেন্সি


জ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>-এর সমান।


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

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

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

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