- 如果关系在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 |
srcmini
评论前必须登录!
注册