数据库三大范式个人理解

参考文章:

https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html

第一范式:列拆分原则

  • 分级拆分:如家庭住址、户籍等,常见的省市县三级联动,要把省、市、县三部分拆分到三列。
  • 前后拆分:如文档基本信息存储时,可能会遇到按照文档格式统计的需求,可以将文档名和文档格式拆分为两列存储。同样如姓名,也可以按照姓和名拆分。

不常用的情况下可以不拆分,视业务情况而定。通俗讲就是减少模糊查询次数。

第二范式:多表原则

  • 复杂关系拆表存储:多对多关系时,如电商中常见的订单和商品间的关系,一个订单可以有多个商品,一个商品也可以属于多个订单,此种情况请使用第二范式,将订单和商品独立分表,再通过关系表维护关系。还有系统常见的用户和角色的也一般这样处理。

第三范式:直接关系原则

  • 主外键关联:一个表中只存储与主键有直接关系的数据,即建立主外键关系时,只存储主外键关联的列,避免两个表中出现相同列(间接关系列),减少数据冗余。需要其他信息时,通过主外键关联查询获取。

我认为范式和设计模式含义相似,只是一些经验和规范总结,在有实际工作经验时才更好理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值