数据库三大范式


前言

一、 为什么需要数据规范化?

不合规范的表设计会导致的问题:

1.信息重复

2.更新异常

3.插入异常:无法正确表示信息

4.删除异常:丢失有效信息

二、具体描述

1.第一范式 (1st NF)

描述:第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小数据单元,则满足第一范式

2.第二范式(2nd NF)

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。
描述:一张表只能描述一件事情

3.第三范式(3rd NF)

如果一个关系满足第二范式,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式。
描述:需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

三、规范性和性能的问题

通常关联的表不超过三张表

  • 考虑商业化的需求和目标,(成本和用户体验!)数据库的性能通常更加的重要
  • 在规范性能的问题的时候,适当的考虑一下规范性,并非要一定遵守!!
  • 有时候会故意给一些表增加一些冗余字段(从多表查询变成单表查询)
  • 故意增加一些计算列(从大数据量降为小数据量的查询:增加索引)

总结

参考《关系型数据库设计:三大范式的通俗理解》
https://www.cnblogs.com/wsg25/p/9615100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值