DBMS中的联接依赖

什么是联接依赖关系?

如果可以通过联接多个表来重新创建表,并且该表中的每个表都具有该表的属性的子集,则该表处于联接依赖关系中。它是多值依赖的概括

连接依赖关系可以与5NF相关,其中关系只有在5NF中并且不能进一步分解时,才在5NF中。

示例

<员工>

EmpName
EmpSkills
EmpJob (分配的工作)
汤姆
联网
EJ001
哈里
Web开发
EJ002
凯蒂
程式设计
EJ002


上表可以分解为以下三个表;因此不在5NF中:

<EmployeeSkills>

EmpName
EmpSkills
汤姆
联网
哈里
Web开发
凯蒂
程式设计

<EmployeeJob>

EmpName
EmpJob
汤姆
EJ001
哈里
EJ002
凯蒂
EJ002

<工作技能>

EmpSkills
EmpJob
联网
EJ001
Web开发
EJ002
程式设计
EJ002


我们的加入依赖关系-

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

上述关系具有联接依赖性,因此不在5NF中。这意味着上述三个关系的联接关系等于我们的原始关系<Employee>