数据库设计三范式(理解只需五分钟)

举报
负债程序猿 发表于 2022/02/19 00:32:05 2022/02/19
【摘要】 第一范式 属性(字段)的原子性约束,要求属性具有原子性,不可再分割; 比如个人信息,个人信息不能作为一个字段,它可以再分为姓名、name、age等; 第二范式 记录的惟一性约束,要求...

第一范式

属性(字段)的原子性约束,要求属性具有原子性,不可再分割;
比如个人信息,个人信息不能作为一个字段,它可以再分为姓名、name、age等;

第二范式

记录的惟一性约束,要求记录有惟一标识,每条记录需要有一个属性来做为实体的唯一标识;

第三范式

字段冗余性的约束,即任何字段不能由其他字段派生出来;主键没有直接关系的数据列必须消除,消除的办法就是再创建一个表来存放他们,当然外键除外;

误区

并不是非得严格按照三范式来设计,好的数据库设计一定不是这样的,而是根据实际情况柔性处理

比如公司资产清点表:
名称、单价、数量、总价;

这显然是违背了第三范式的,因为总价可以由单价*数量得出

但是实际生产中,三范式只是作为参考,像以上的表设计是可以接受的,我们可以直接查出总价,不用再单独计算,就多了一个字段而已,从而节约了开发成本。

文章来源: huangjie.blog.csdn.net,作者:负债程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:huangjie.blog.csdn.net/article/details/113261710

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。