5 数据库设计
数据库设计
三大范式
参考博客:https://www.cnblogs.com/wsg25/p/9615100.html
第一范式
原子性
第二范式
前提:满足第一范式
每张表只描述一件事情
第二范式需要确保数据库表中的每一列都只和主键相关
补充自己的理解:
产品数量需要根据2个确定,折扣和价格要根据你如果产品量买的多,折扣就多,价格就低
拆之后的主键 (订单号,产品号) (订单号)
第三范式
前提:满足第二范式
需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
规范性 和 性能 的问题
阿里官方要求:关联查询的表不得超过三张表
- 考虑商业化的需求和目标(成本,用户体验)数据库的性能更加重要
- 在规范性能的问题的时候,需要适当的考虑一下 规范性
- 故意给某些表增加一些冗余的字段(从多表查询,变成单表查询)
- 故意增加一个计算列
- 从大数据量降低为小数据的查询
- eg: count(*) 增加一个计算列,下次就不需要select count() 直接查看那一条数据