?范式
(1)1NF
不可以存在大表套小表现象,即每一个分量都是不可再分的。所有的高级范式均服从1NF。
(2)2NF
不可以出现非主属性部分依赖主属性的现象。(每一个非主属性必须完全依赖于主属性(主键))

选课中 学号 课程号 教师号是主属性,成绩和学分是非主属性。其中可以课程号——>学分(课程决定学分),所以学分部分依赖于主属性,所以此选课关系不符合2NF。
所以上述选课关系可以写为 选课(学号,课程号,教师号,成绩), 课程(课程号,学分)。
(3)3NF
3NF服从2NF,是2NF更严格的描述(个人理解),描述的是非主属性既不能部分依赖于主码,也不能传递依赖于主码。

在上图学生关系中 (假设一个院系拥有一个唯一的学生公寓地址)学号是主码,通过学号可以查到学生的院系,通过院系可以查到学生公寓所在地址。
即学号-->院系,院系-->学生公寓。满足没有部分依赖范式(2NF),但不满足不能存在传递依赖。
可以写成学生(学号,院系),院(院系,学生公寓)。
(4)BCNF
BCNF是3NF更严格的规范。描述的是主属性之间不能存在依赖关系(个人理解)。
仓库号,管理员号,存储物品种类,数量。 假设一个管理员有一个固定的仓库号来进行仓库的管理。
在上述仓库管理关系中,仓库号,管理员号是主属性,并且满足3NF。但是仓库号-->管理员号,管理员号-->仓库号,形成了主属性之间的依赖关系。
可以改成 仓库号,管理员号 管理员号,存储物品种类,数量。
浙公网安备 33010602011771号