- 如果关系为Boyce Codd范式且没有多值依赖关系, 则关系将为4NF。
- 对于依赖项A→B, 如果对于单个A值, 存在多个B值, 则该关系将是多值依赖项。
例
学生
STU_ID | 课程 | 爱好 |
---|---|---|
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 | 课程 |
---|---|
21 | Computer |
21 | Math |
34 | Chemistry |
74 | Biology |
59 | Physics |
STUDENT_HOBBY
STU_ID | 爱好 |
---|---|
21 | Dancing |
21 | Singing |
34 | Dancing |
74 | Cricket |
59 | Hockey |
评论前必须登录!
注册