- 如果关系在4NF中并且不包含任何联接依赖性, 则在5NF中, 并且联接应该是无损的。
- 当将所有表分解成尽可能多的表以避免冗余时, 满足5NF。
- 5NF也称为Project-join正常形式(PJ / NF)。
例
学科 | 讲师 | 学期 |
---|---|---|
Computer | Anshika | 第一学期 |
Computer | John | Semester 1 |
Math | John | Semester 1 |
Math | Akash | Semester 2 |
Chemistry | Praveen | 第一学期 |
在上表中, 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 |
评论前必须登录!
注册