时间:2021-07-01 10:21:17 帮助过:9人阅读
购物车 => 用户,1 -> 1
用户 => 商品信息, n -> n
那么:
购物车 => 商品就是 n -> n了
不知道我这样理解对吗?
将这三者关联起来,数据库该咋设计呢?
我目前想到的方法就是,新建5个表:
主要字段就是:
请问各位我这样设计行吗?高效吗?有冗余吗?
求推荐高效的数据库设计。。。非常感谢!
以我自身的理解,
购物车 => 用户,1 -> 1
用户 => 商品信息, n -> n
那么:
购物车 => 商品就是 n -> n了
不知道我这样理解对吗?
将这三者关联起来,数据库该咋设计呢?
我目前想到的方法就是,新建5个表:
主要字段就是:
请问各位我这样设计行吗?高效吗?有冗余吗?
求推荐高效的数据库设计。。。非常感谢!
首先购物车这个概念你可以直接化为订单,这样就比较好理解了。某个用户下了一个订单,订单内包含许多商品。简单一句话各个的对应关系就不言而喻了。
所以新建4张表,前3张分别对应用户信息,订单信息,商品信息,第4张表将订单ID和商品ID对应起来。如果通过用户查询商品比较频繁的话也可以再加1张表,对应用户ID和商品ID。
唔..好吧..写完了才发现和你的思路是一样的,算是证明你这样设计是没问题的吧。
1.用户表
2.产品表
3.购物车表(用户id,商品id,被加入购物车时的价格以及SKU信息)
4.订单表(用户ID,订单ID,子订单ID,订单摘要)
5.订单详情表(订单ID,子订单ID,订单生成时的商品信息)
个人觉得用户商品关系表
没有必要,购物车商品关系表
的gid
和cid
共同组成primary key
,以满足n->m
的要求。关于效率和规范问题,这个应该达到范式要求了,够用了吧。个人愚见,如有问题,欢迎讨论。