MySQL学习笔记(三)-三大范式及BCNF

谁借莪1个温暖的怀抱¢ 2022-11-19 04:10 178阅读 0赞

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。

1、第一范式

(1)定义: 要求数据库表的每一列都是不可分割的原子数据项。
(2)例子:
在这里插入图片描述

2。第二范式

(1)定义: 在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)

在这里插入图片描述
在这里插入图片描述

3、第三范式

(1)定义: 在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖),第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
(2)例子:
在这里插入图片描述
上表中,所有属性都完全依赖于学号,所以满足第二范式,但是“班主任性别”和“班主任年龄”直接依赖的是“班主任姓名”,

而不是主键“学号”,所以需做如下调整:
在这里插入图片描述

4、BCNF

(1)定义: 排除了任何属性(不光是非主属性,2NF和3NF所限制的都是非主属性)对候选键的传递依赖与部分依赖。
(2)例子:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,178人围观)

还没有评论,来说两句吧...

相关阅读

    相关 范式

    第一范式(1NF)     第一范式是指关系表R中的每列都是原子不可分的项,即每个属性都是最基本的数据项     如果我们在数据库中建立一张员工表emp(id, nam

    相关 数据范式 BCNF解释

    大家在数据设计中经常接触到范式设计,那到底什么设计是合乎范式的,在解释范式之前,先来讲解下范式是什么? 范式: 字面意思就是规范,在数据库设计中指数据表各个字段间的关联关系。

    相关 范式

        第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 很显然,在现有的DBMS中设计