Computer >> Computer tutorials >  >> Programming >> MySQL

Join dependency in DBMS


What is Join Dependency?

If a table can be recreated by joining multiple tables and each of this table have a subset of the attributes of the table, then the table is in Join Dependency. It is a generalization of Multivalued Dependency

Join Dependency can be related to 5NF, wherein a relation is in 5NF, only if it is already in 4NF and it cannot be decomposed further.

Example

<Employee>

EmpName
EmpSkills
EmpJob (Assigned Work)
Tom
Networking
EJ001
Harry
Web Development
EJ002
Katie
Programming
EJ002


The above table can be decomposed into the following three tables; therefore it is not in 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


Our Join Dependency −

{(EmpName, EmpSkills ), ( EmpName, EmpJob), (EmpSkills, EmpJob)}

The above relations have join dependency, so they are not in 5NF. That would mean that a join relation of the above three relations is equal to our original relation <Employee>.