引言
先引入两个概念:
SPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集
SKU:Stock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品
- 所有sku共享的规格属性(称为全局属性)
- 每个sku不同的规格属性(称为特有属性)
1 表结构分析
手机的参数大多是颜色、版本、内存等等,而空调的参数大多都是匹数、功率等,因此设计商品参数表时不应该基于商品去设计,而应该基于商品类别去设计表结构。
所以一个分类下有一套规格参数,但是相同分类下的商品虽然规格参数相同,但是规格参数的值不同,比如都是手机,一个手机品牌参数的值是“小米”,另一个手机品牌参数的值是“苹果”。
要想简化这件事,key(参数)和值(参数的值)分开保存。key跟商品分类绑定,值跟商品绑定。比如,颜色、版本、内存等参数跟手机类别绑定,具体一个手机的品牌是什么,内存多大等值跟商品绑定。
但是也不能一个类别一张表,这样就太多了,因此这样不现实!
设计如下:
- 规格组表
tb_spec_group
:
- 规格参数表
tb_spec_param
:
通用属性
用一个布尔类型字段来标记是否为通用:
- generic来标记是否为通用属性: