以我自身的理解,
购物车 => 用户,1 -> 1
用户 => 商品信息, n -> n
那么:
购物车 => 商品就是 n -> n了
不知道我这样理解对吗?
将这三者关联起来,数据库该咋设计呢?
我目前想到的方法就是,新建5个表:
- 用户表
- 商品表
- 购物车表
- 用户商品关系表
- 购物车商品关系表
主要字段就是:
- 用户表:id,uname,pwd等等
- 商品表:id,goodname,price等
- 购物车表:id,uid,uid为对应用户id
- 购物车商品关系表:gid,cid分别为商品id,购物车id
- 用户商品关系表:uid,gid分别为用户id和商品id
请问各位我这样设计行吗?高效吗?有冗余吗?
求推荐高效的数据库设计。。。非常感谢!
首先购物车这个概念你可以直接化为订单,这样就比较好理解了。某个用户下了一个订单,订单内包含许多商品。简单一句话各个的对应关系就不言而喻了。
所以新建4张表,前3张分别对应用户信息,订单信息,商品信息,第4张表将订单ID和商品ID对应起来。如果通过用户查询商品比较频繁的话也可以再加1张表,对应用户ID和商品ID。
唔..好吧..写完了才发现和你的思路是一样的,算是证明你这样设计是没问题的吧。