- 表结构
- 表关系
- 表唯一索引
- 单索引及组合索引
- 后悔药-时间戳
表结构设计
用户表
- 主键,自增长
- 用户名,不允许重复,通过锁机制解决,分布式环境下解决唯一性问题(加唯一索引)
分类表
- 分类表可以递归,需要有结束条件
产品表
- 类目不可以为空
购物车表
支付信息表
订单表
- 订单号,唯一
订单明细表
- user_id,冗余字段,提高查询效率
- 组合索引
收货地址表
表关系
- 天蓝色表示有索引
- 不用外键,原因扩展分库分表时会很麻烦,清洗数据时也很麻烦
- 不建议使用触发器
- 一些字段适当增加冗余
流程
用户注册(用户表),查询产品(产品表),如果是大类目需要关联类目表(类目表),将产品添加到购物车(购物车表),确认定单前需要添加收货地址(收货地址表),确认订单后生成订单与订单明细(订单表,订单明细表),订单支付(支付表)
数据表索引与时间戳
唯一索引
单索引与组合索引
时间戳
- 查询业务的后悔药
- create_time:数据创建时间,以后不会更新了
- update_time:数据更新时间,最新一次的更新时间