1 什么是商品规格
商品规格以商品分类分为不同的规格组,规格组下面又有很多的规格项以及对于的规格值,如图
比如:
规律是什么? 为什么这么做?
1.同一类(细颗粒度分类:比如 手机,电脑,洗衣机) 商品的规格项分组相同
2.同一类商品的规格项目是相同的 且规格项目是跟商品进行关联的
3. 不同商品的规格参数的值 是不同的
见表方案一:
使用多张表 key value的方式来存储
1、每一类商品有多个分组
2、每个分组有多个项
3、每个商品对应不同的规格参数
这样会存在隐形的问题:
1 需要创建多张表来描述规格参数之间的问题
2 查询时 需要复杂的sql语句
3 规格参数数据量太大 是商品信息的几十倍,数据量庞大,效率低
4 如果新添加的商品规格项发生改变, 之前的商品不变是不能实现的
方案二 使用规格模板
1 每一个商品分类会对应一个规格参数模板
2使用模板
每个商品对应唯一的规格参数 再添加商品的时候,可以根据 规格参数模板,生成一个表单。 保存规格参数的时候,还可以生成规格参数的json数据,保存到数据库对应的表中。
3 实现流程
优点:
1. 不需要做多表管理
2. 如果要求新添加的商品规格项发生改变,之前的商品表 不变是可以做到的
缺点:
1.复杂的表单和json之间的转换, 对js和后台代码的编写要求较高。。。
总结
核心思路就是把弹性字段使用json存储,这样设计的优点是数据表结构稳定,不用在商品增加属性后增加字段, 缺点是商品数据的解析复杂,弹性字段需要在业务代码中进行处理,增加了业务代码的复杂度。