mysql调优设计_Mysql优化-表的设计

什么样的表才是符合3NF(范式)

表的范式,是首先符合1NF,才能满足2NF,进一步满足3NF

1NF:即表的列具有原子性,不可再分解,即列的信息,不能分解,只要数据库是关系型数据库(mysql,oracle,db2,informix,sysbase,sql server),就自动的满足1NF

2NF:表中的记录是唯一的,就满足2NF,通常我们设计一个主键来实现(主键一般自增长的,不包含业务逻辑,所以比较稳定)

3NF:即表中不要有冗余数据,就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放,比如下面的设计就是不满足3NF:

b87333c2b314fe0f19c7417d02eed9a7.png

符合3NF的情况:

116722f074242e27f55cc07fb5830f6b.png

反3NF:但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

77e87dd39871835b6c28d9b5609631b1.png

总结:

c8c64ec12173a7370f965fd2ea51a4e7.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值