数据库设计-商品价格表的设计

发布于 2017-02-09 19:33:59 字数 157 浏览 1577 评论 4

比如是一件衣服,有不同的颜色,尺寸,质地等,价格也不同,这些数据该怎么在数据库中存储?数据库该怎么设计?下边这种实现方式可否?或者有没有更好的实现方式?

衣服表(clothes):id name
价格表(price):cid price color size texture

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

浮生未歇 2017-10-16 12:44:31

一张表基本上不可能,其实这个东西很没这么简单的,可以参考淘宝当SPU的设计,一个商品对应一个SPU,颜色、质地分别为不同的属性,每个属性有属性值,然后一个SPU下有多个sku也就是不同颜色的衣服,这样一来至少有4个表,其实还是不够(应该还有类目,品牌等等信息)。简单如下:
SPU表:
id name
0 衬衣
Property表:
id name
0 颜色
1 外壳颜色
PropertyValue表:
id name
0 白色
1 黑色
Property_PropertyValue表:关联表
id propertyId propertyValueId
0 0 1 //代表颜色为白色
1 1 1 //代表外壳颜色为白色
SKU表:
id sku spu_id propertyValue price
0 0001 0 0 100 //颜色为白色的衬衣,价格100块

--------------------分割线--------------------------------
如果你要做一个很强大的商品信息发布系统的话,上面的设计是个参考,自己参考淘宝的spu设计做过,确实很复杂。

甜柠檬 2017-10-03 10:16:00

这里我个人觉得还是两张表更加好(我们以京东的卖衣服为例):

衣服除了不同的颜色和不容的尺寸导致有不同的价格之外,其他的属性都是一样的,比如商品参数,商品简介;用户通过关键字搜索衣服,显示的内容是名字,价格,图片,所以我认为最好在第一张表中最好有ID,Name,Price, ImageURL,Count;Price这里的价格可以设置一个最低价格,用于引导用户进入,ImageURL就是封面图,Count可以用于计数出售的数量,每成交一件,就修改一次,如果想要做详细的统计,可以再查询第二张表,以确定什么尺码和颜色卖的更加好。当然,其他属性比如分类,价格区间等等只要属于商品固有属性的字段都在这张表。
第二张表就和你的思路设计就可以了,Cid可以用统计详细的尺寸颜色交易记录,粗略的销售统计只需要查询第一张表中的Count字段就可以了。

这样设计我觉得好一点,希望大家继续帮我提意见。

虐人心 2017-04-12 21:59:43

用一张表可以不? 我觉得你不能两张表,你这样做的话两张表通过什么关联? 把价格表作为参照表还是把衣服表作为参照表? 如果把价格表作为参照表,那么衣服中就需要有一个id,标记价格表中的某条记录,这样做倒是可以。如果衣服表作为参照,就需要在价格表中添加一个id,标记衣服表中的某条记录,这样的话,不同的价格对应同一条衣服记录,考虑到实际应用,比如卖出一件衣服,那你该如何对数据表进行更新?所以,我觉得衣服与价格并不是一对多的关系,而是一对一的关系,所以使用一张表是可以的,当然如果用两张表,需要把价格表作为参照表,也就是所谓的主表。 综合考虑,还是一张表比较好。

当然,这是我的一点点看法,希望能跟楼主讨论这个问题。

归属感 2017-03-12 22:44:24

发表下个人看法,三个表:
基本信息表:
id productId sku name descrption imageUrl etc.
1 11 000x 手机1 手机手机 xxx.jpg

2 11 000y 手机1 手机手机 yyy.jpg

3 11 000z 手机1 手机手机 zzz.jpg

属性表:
id sku property value
1 000x 直板 1
2 000x 颜色 red
3 000x 智能 1
4 000y 直板 0
5 000y 颜色 blue
6 000y 智能 0

价格表:
id sku price discount
1 000x 2000 10%
2 000y 1000 20%
3 000z 1500 0

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文