如果它是Boyce Codd范式,并且没有多值依赖关系,那么关系将是4NF。
对于依赖性A→B,如果对于单个A值,存在多个B值,则该关系将是多值依赖性。
示例
STUDENT 表结构和数据如下 -
| STU_ID | COURSE | HOBBY | 
|---|---|---|
| 21 | Computer | Dancing | 
| 21 | Math | Singing | 
| 34 | Chemistry | Dancing | 
| 74 | Biology | Cricket | 
| 59 | Physics | Hockey | 
上面给定的STUDENT表是符合3NF,但COURSE和HOBBY是两个独立的实体。因此,COURSE和HOBBY之间没有关系。
在学生关系中,一个学生的STU_ID是21,它有两门课程,计算机和数学以及两个爱好,舞蹈和歌唱。 因此,对STU_ID存在多值依赖性,这导致不必要的数据重复。
因此,要将上表转换为4NF ,我们可以将其分解为两个表:
STUDENT_COURSE 表的结构和数据 -
| STU_ID | COURSE | 
|---|---|
| 21 | Computer | 
| 21 | Math | 
| 34 | Chemistry | 
| 74 | Biology | 
| 59 | Physics | 
STUDENT_HOBBY 表的结构和数据 -
| STU_ID | HOBBY | 
|---|---|
| 21 | Dancing | 
| 21 | Singing | 
| 34 | Dancing | 
| 74 | Cricket | 
| 59 | Hockey | 
						上一篇:
								DBMS第三范式(3NF)
												下一篇:
								DBMS第五范式(5NF)
												
						
						
					
					
					