暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库三大范式是什么?

毫末之木 2021-01-04
1161

对于三大范式,书面的表述太过抽象,不容易理解。

第一范式:每个列都不可再拆

即数据库字段信息不能冗余。

第二范式:在第一范式基础上,非主键列完全依赖于主键,而不能是主键的一部分。2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖

第二范式解决的问题是,在第一范式基础上还会有数据冗余问题,插入修改删除异常。

每张表都要有主键,表中的信息不要冗余,合理拆分。

数据冗余:系名、系主任数据重复

插入异常:如没有学士数据时就无法插入系和系主任数据

删除异常:删除系或系主任数据就同时删除了学士数据

修改异常:学生小明转系,由于数据都放一起就必须修改系和系主任主任多条数据

第三范式:在第二范式基础上,非主键列只依赖于主键,不依赖于其他非主键。第三范式(3NF) 3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖

表与表之间的关系

三大范式,实际上就是表述了关系型数据库设计过程中的套路:字段、表以及表与表之间的关系设计过程中的套路(标准)。字段的粒度不能再拆分、每张表都有主键、表与表之间关联依赖于主键。最终解决的是信息合理高效增删改查的问题。


文章转载自毫末之木,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论