有商家表、商品表、商品规格表、购物车表,不难分析出表是不够全面的。
(1)首先分析需要补充的表
1.对于购物车而言肯定有对应的用户,因此要添加一个用户表。
2.商品规格是冷,热,半分糖、全糖,对于冷热和半分糖是可以分类的,因此对于商品规格来说缺少规格分类表,比如:规格分类表的分类有温度、糖分。
3.对于商品来说,多种商品组合在一起成为一个套餐,商家是销售套餐的,因此需要添加套餐表,一个套餐内包含多种商品的不同数量。如:田园汉堡套餐包含一个汉堡,两杯可乐。
得出结论:还要添加用户表、规格分类表、套餐表
添加之后的表有:商家表、商品表、商品规格表、购物车表、用户表、规格分类表、套餐表共7张表
(2)分析表之间的关系
1.用户表和购物车表:一个用户只能有一个购物车,而一个购物车也只能属于一个用户,因此用户表与购物车表的关系是一对一。
2.购物车表和套餐表:一个购物车可以有多个套餐,一个套餐也可以属于多个购物车,因此购物车表与套餐表的关系是多对多。
3.商家表与套餐表: 一个商家可以销售多种套餐,而一种套餐也可以被多家商家销售,因此商家表与套餐表的关系是多对多。
4.套餐表与商品表: 一个套餐可以包含多种商品,而一种商品也可以属于多个套餐,因此套餐表与商品表的关系是多对多。
5.商品表与商品规格表:一个商品可以有多种规格,而一个规格也可以属于多种商品,因此商品表与商品规格表的关系是多对多。
6.商品规格表与规格分类表:一个商品规格只能属于一个规格分类,而一个规格分类包含多种商品规格,因此商品规格表与规格分类表是多对一。
表关系图
(3)对多对多关系的表添加中间表,并添加相应外键。
添加中间表
1.购物车表与套餐表中间表:在此表添加购物车表与套餐表外键
2.商家表与套餐表中间表:在此表添加商家表与套餐表外键
3.套餐表与商品表中间表:在此表添加套餐表与商品表外键
4.商品表与商品规格表中间表:在此表添加商品表与商品规格表外键