5 数据库设计

数据库设计

三大范式

参考博客:https://www.cnblogs.com/wsg25/p/9615100.html

第一范式

原子性

image-20200617094521211

第二范式

前提:满足第一范式

每张表只描述一件事情

第二范式需要确保数据库表中的每一列只和主键相关

image-20200617094530784

补充自己的理解:

产品数量需要根据2个确定,折扣和价格要根据你如果产品量买的多,折扣就多,价格就低

拆之后的主键 (订单号,产品号) (订单号)

第三范式

前提:满足第二范式

需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

image-20200617094540125

规范性 和 性能 的问题

阿里官方要求:关联查询的表不得超过三张表

  • 考虑商业化的需求和目标(成本,用户体验)数据库的性能更加重要
  • 在规范性能的问题的时候,需要适当的考虑一下 规范性
  • 故意给某些表增加一些冗余的字段(从多表查询,变成单表查询)
  • 故意增加一个计算列
    • 从大数据量降低为小数据的查询
    • eg: count(*) 增加一个计算列,下次就不需要select count() 直接查看那一条数据
posted @ 2020-06-17 09:48  DJ同学  阅读(152)  评论(0编辑  收藏  举报