技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

第五范式 (5NF)

dbmsdatabasemysql

5NF(第五范式)也称为项目连接范式。如果关系符合 4NF,则该关系符合第五范式 (5NF),并且不会无损分解为较小的表。

如果候选键暗示了其中的每个连接依赖关系,您也可以认为该关系符合 5NF。

示例

以下关系违反了规范化的第五范式 (5NF) −

<Employee>

EmpName
EmpSkills
EmpJob (Assigned Work)
David
Java
E145
John
JavaScript
E146
Jamie
jQuery
E146
Emma
Java
E147

The above relation can be decomposed into the following three tables; therefore, it is not in 5NF −

<EmployeeSkills>

EmpName
EmpSkills
David
Java
John
JavaScript
Jamie
jQuery
Emma
Java

以下是 <EmployeeJob> 关系,显示分配给每个员工的工作 −

<EmployeeJob>

EmpName
EmpJob
David
E145
John
E146
Jamie
E146
Emma
E147

Here is the skills that are related to the assigned jobs −

<JobSkills>

EmpSkills
EmpJob
Java
E145
JavaScript
E146
jQuery
E146
Java
E147

Our Join Dependency −

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

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


相关文章