互联网服务Oracle电商

电商中的商品表该如何设计?

一个商品有多个规格,颜色有2种,尺码有3种,总共就有6种规格,每种规格对应的价格和库存都不一致,如下图。这种商品表该如何设计?属性名对应属性值?

Ps:用的oracle数据库。


如下是目前的设计,求大神支招,怎么设计好一些?

参与13

2同行回答

royalwzyroyalwzy技术经理海通证券股份有限公司
1.没有理解上面提到的备注的作用是什么?2.我理解的是在产品展示页面选择M种颜色和N种尺码之后会列出此商品M*N中组合的信息:价格和库存量;3.如果我理解的对的话,我建议可以采用如下两种方式设计:        1.就按照你现在的设计把表做成星星模型,引用的...显示全部

1.没有理解上面提到的备注的作用是什么?

2.我理解的是在产品展示页面选择M种颜色和N种尺码之后会列出此商品M*N中组合的信息:价格和库存量;

3.如果我理解的对的话,我建议可以采用如下两种方式设计:

        1.就按照你现在的设计把表做成星星模型,引用的列设为外键,并添加位图索引,这样之后的查询可以使用到星星转换的特性,直接进行位操作;

        2.按照非关系库的设计的话,产品的基本信息还是存在基础的表中,但是与属性相关的信息可以做成json的格式,进行解析.这样的灵活性会更大一点;

收起
证券 · 2015-10-27
浏览1906
  • 恩,目前就是按照你说的第3种,第2个方案,把每个规格做成一个json,对应不同的价格和库存,就是展示麻烦点
    2015-10-27
  • 对,这种设计就是展示方便,但是统计麻烦,因为不是关系库擅长做的。
    2015-10-29
美国队长美国队长研发工程师Alibaba
1.如果是做数据分析,建议做一张宽表,将商品的属性即规格仓储等等都放在一张表中,当然存储方式很多keyvalue或者其他2.如果是纯前台应用建模就需要考虑数据库的访问并发性,可以考虑将商品id商品价格,商品仓储放在一个表中,并且给商品id赋予一些业务含义,比如商品id中用数字标志出...显示全部

1.如果是做数据分析,建议做一张宽表,将商品的属性即规格仓储等等都放在一张表中,当然存储方式很多keyvalue或者其他

2.如果是纯前台应用建模就需要考虑数据库的访问并发性,可以考虑将商品id商品价格,商品仓储放在一个表中,并且给商品id赋予一些业务含义,比如商品id中用数字标志出该商品的规格,另外一张表用来维护商品的规格信息。当发现某些规格的商品访问量比较高网络出现瓶颈的时候可以利用商品id之前赋予的业务含义进行纵向或者横向扩展

收起
互联网服务 · 2015-10-27
浏览2324
  • 恩,我现在做的这个是前台应用,目前考虑的就是用json的格式存储,每个规格对应不同的价格,库存等信息,这样就是展示的时候麻烦点
    2015-10-27
  • 数据量不大,业务变更不是很频繁,就不用追究到这么细致了
    2015-10-27
xtsqianlixtsqianli数据库架构师德家
[此回答已删除]
浏览1021

提问者

xtsqianli
数据库架构师德家

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-10-23
  • 关注会员:4 人
  • 问题浏览:5211
  • 最近回答:2015-10-27
  • X社区推广