DBMS第四范式(4NF)

  • 如果关系为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
【DBMS第四范式(4NF)】STUDENT_HOBBY
STU_ID 爱好
21 Dancing
21 Singing
34 Dancing
74 Cricket
59 Hockey

    推荐阅读