DBMS第四范式(4NF)

如果它是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,但COURSEHOBBY是两个独立的实体。因此,COURSEHOBBY之间没有关系。

在学生关系中,一个学生的STU_ID21,它有两门课程,计算机和数学以及两个爱好,舞蹈和歌唱。 因此,对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)

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程