电商之商品表设计
对于做过电商开发的人来说,商品表的设计应该不陌生,今天就来巴拉一下商品表的设计。
因为商品表所要关联的东西太多太多了,如果把每个表的设计都写出来也很不现实,只写主要的。
个人整理了五张表供大家参考,有不足的地方可以互相讨论。先上一张图,然后细说
1.商品表
万变不离其宗,商品表可以说是所有表的父表,几乎大多数表都围绕商品表来转。
商品表存什么? 存商品的名称,分类,这些可用通用的字段,价格,库存,规格属性什么的单拉出来,降低表与表之间的耦合性。
2.规格表
存放规格名称,与商品表关联,一对多关系(一个商品对应多个规格)
3.规格值表
存放规格的具体值。与商品表,规格表,sku表关联,一对多关系,多对多关系
4.商品组合表
存放sku,spec,item的id,一对多,多对多关系
5.库存,价格表
存放库存,价格
然后基于他们的关系,可以看上面的图。下面我举个完整的例子。
发布商品前,可以先发布规格,比如发布了 颜色的规格。存入规格表。
然后在颜色的规格下发布属性 红色,白色,蓝色,存入规格值表。 这样一个规格就对应了多个多个规格值。嗯,没毛病。
在你发布商品的时候,你选择了多个规格值组合,可参考(http://www.cnblogs.com/gblw/p/8298861.html),每一条数据都有对应的规格,规格值,还有库存,价格,对不对。这样的话 可以把价格,库存存入 库存表中,返回主键和规格,规格主键,规格值主键组合成商品组合表,这就是整个大商品下面的一个商品。
就好比举个手机的例子。
手机 存入商品表
内存,颜色属于规格,存入规格表
64G,128G,白色,黑色属于规格值表,存入规格值表
64G + 白色 卖2000块钱 有50个库存, 128G+黑色 卖4000块钱,有200个库存, 库存和价钱存入价格表,
64G的id,白色的ID 都对应一个 库存的ID,放到 组合表,这样就形成了一对多多对多的关系。
是不是被绕晕了—– 其实自己画一遍就能理解了,当时做的时候也是晕晕乎乎的,后来才理解。