首页 > 后端开发 > php教程 > 购物车,用户,商品表这3这之间的关系

购物车,用户,商品表这3这之间的关系

WBOY
发布: 2016-06-06 20:41:11
原创
6228 人浏览过

以我自身的理解,

购物车 => 用户,1 -> 1
用户 => 商品信息, n -> n

那么:

购物车 => 商品就是 n -> n了

不知道我这样理解对吗?

将这三者关联起来,数据库该咋设计呢?

我目前想到的方法就是,新建5个表:

  1. 用户表
  2. 商品表
  3. 购物车表
  4. 用户商品关系表
  5. 购物车商品关系表

主要字段就是:

  1. 用户表:id,uname,pwd等等
  2. 商品表:id,goodname,price等
  3. 购物车表:id,uid,uid为对应用户id
  4. 购物车商品关系表:gid,cid分别为商品id,购物车id
  5. 用户商品关系表:uid,gid分别为用户id和商品id

请问各位我这样设计行吗?高效吗?有冗余吗?

求推荐高效的数据库设计。。。非常感谢!

回复内容:

以我自身的理解,

购物车 => 用户,1 -> 1
用户 => 商品信息, n -> n

那么:

购物车 => 商品就是 n -> n了

不知道我这样理解对吗?

将这三者关联起来,数据库该咋设计呢?

我目前想到的方法就是,新建5个表:

  1. 用户表
  2. 商品表
  3. 购物车表
  4. 用户商品关系表
  5. 购物车商品关系表

主要字段就是:

  1. 用户表:id,uname,pwd等等
  2. 商品表:id,goodname,price等
  3. 购物车表:id,uid,uid为对应用户id
  4. 购物车商品关系表:gid,cid分别为商品id,购物车id
  5. 用户商品关系表:uid,gid分别为用户id和商品id

请问各位我这样设计行吗?高效吗?有冗余吗?

求推荐高效的数据库设计。。。非常感谢!

首先购物车这个概念你可以直接化为订单,这样就比较好理解了。某个用户下了一个订单,订单内包含许多商品。简单一句话各个的对应关系就不言而喻了。
所以新建4张表,前3张分别对应用户信息,订单信息,商品信息,第4张表将订单ID和商品ID对应起来。如果通过用户查询商品比较频繁的话也可以再加1张表,对应用户ID和商品ID。

唔..好吧..写完了才发现和你的思路是一样的,算是证明你这样设计是没问题的吧。

1.用户表
2.产品表
3.购物车表(用户id,商品id,被加入购物车时的价格以及SKU信息)
4.订单表(用户ID,订单ID,子订单ID,订单摘要)
5.订单详情表(订单ID,子订单ID,订单生成时的商品信息)

个人觉得用户商品关系表没有必要,购物车商品关系表gidcid共同组成primary key,以满足n->m的要求。关于效率和规范问题,这个应该达到范式要求了,够用了吧。个人愚见,如有问题,欢迎讨论。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板