- 如果关系在4NF中并且不包含任何联接依赖性, 则在5NF中, 并且联接应该??是无损的。
- 当将所有表分解成尽可能多的表以避免冗余时, 满足5NF。
- 5NF也称为Project-join正常形式(PJ / NF)。
例
学科 |
讲师 |
学期 |
Computer |
Anshika |
第一学期 |
Computer |
John |
Semester 1 |
Math |
John |
Semester 1 |
Math |
Akash |
Semester 2 |
Chemistry |
Praveen |
第一学期 |
【DBMS第五范式(5NF)】在上表中, John在第一学期同时上了计算机课和数学课, 但在第二学期没有上数学课。在这种情况下, 需要将所有这些字段组合起来以标识有效数据。
假设我们添加一个新的学期作为第3学期, 但不知道该科目以及谁将选修该科目, 因此我们将讲师和科目保留为NULL。但是, 所有三列一起用作主键, 因此我们不能将其他两列留空。
因此, 要使上表为5NF, 我们可以将其分解为三个关系P1, P2和P3:
P1
学期 |
学科 |
Semester 1 |
Computer |
Semester 1 |
Math |
Semester 1 |
Chemistry |
第二学期 |
Math |
P2
学科 |
讲师 |
Computer |
Anshika |
Computer |
John |
Math |
John |
Math |
Akash |
Chemistry |
Praveen |
P3
节日 |
讲师 |
第一学期 |
Anshika |
Semester 1 |
John |
第一学期 |
John |
Semester 2 |
Akash |
第一学期 |
Praveen |
推荐阅读