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

以我自身的理解,

购物车 => 用户,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

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

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

回复内容:

以我自身的理解,

购物车 => 用户,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。

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

1.用户表

2.产品表

3.购物车表(用户id,商品id,被加入购物车时的价格以及SKU信息)

4.订单表(用户ID,订单ID,子订单ID,订单摘要)

5.订单详情表(订单ID,子订单ID,订单生成时的商品信息)

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值