如果它在4NF 中并且不包含任何连接依赖关系并且连接应该是无损的,则关系在5NF 中。
当所有表都被分成尽可能多的表以便避免冗余时,满足5NF 。
5NF 也称为项目连接正常形式(PJ/NF)。
示例 -
| SUBJECT | LECTURER | SEMESTER | 
|---|---|---|
| Computer | Anshika | Semester 1 | 
| Computer | John | Semester 1 | 
| Math | John | Semester 1 | 
| Math | Akash | Semester 2 | 
| Chemistry | Praveen | Semester 1 | 
在上表中,John为第一学期提供计算机和数学课程,但他没有学习第二学期的数学课程。在这种情况下,需要组合所有这些字段来识别有效数据。
假设添加了一个新学期:第3学期,但不知道科目以及由哪个讲师来讲该科目,因此将讲师(Lecturer)和科目(Subject)留为NULL。 但是这三个列要组合在一起充当主键,因此不能将其他两列留空(NULL)。
因此,为了使上表成为5NF ,可以将它分解为三个关系P1,P2和P3:
P1 表 -
| SEMESTER | SUBJECT | 
|---|---|
| Semester 1 | Computer | 
| Semester 1 | Math | 
| Semester 1 | Chemistry | 
| Semester 2 | Math | 
P2 表 -
| SUBJECT | LECTURER | 
|---|---|
| Computer | Anshika | 
| Computer | John | 
| Math | John | 
| Math | Akash | 
| Chemistry | Praveen | 
P3 表 -
| SEMSTER | LECTURER | 
|---|---|
| Semester 1 | Anshika | 
| Semester 1 | John | 
| Semester 1 | John | 
| Semester 2 | Akash | 
| Semester 1 | Praveen | 
						上一篇:
								DBMS第四范式(4NF)
												下一篇:
								DBMS关系分解
												
						
						
					
					
					