【mysql】电商商品规格存储方案

您所在的位置:网站首页 题目按难易程度分类 【mysql】电商商品规格存储方案

【mysql】电商商品规格存储方案

2024-03-29 17:01| 来源: 网络整理| 查看: 265

什么是商品规格?

商品规格分为不同的规格组,规格组下面又有很多的规格项以及对于的规格值,如图

举例:

规律:

1、同一类别商品的规格项分组相同

2、同一类商品的规格项目是相同的且规格项目是跟商品进行关联的

3、不同商品的规格参数的值是不同的。

建表方案一:使用多个表来存储

1、每一类商品有多个分组

2、每个分组有多个项

3、每个商品对应不同的规格参数

使用二维表来维护规格信息 

商品规格分组信息 列名类型长度可以null键说明idint 否P主键group_namevarchar20否 规格分组名称item_cate_idint 否F商品分类id(外键)

 

商品规格项信息 列名类型长度可以null键说明idint 否P主键(自增长)param_namevarchar20否 规格项名称group_idint 否F规格分组id(外键)

 

商品规格信息 列名类型长度可以null键说明item_idint 否P商品id(联合主键)param_idvarchar20否P规格项id(联合主键)param_valuevarchar500否 规格信息

方案一存在的问题:

1、 需要创建多张表来描述规格参数之间的关系

2、查询时需要复杂的sql语句查询

3、规格参数数据量是商品信息的几十倍,数据量十分庞大。查询时效率很低

4.如果要求新添加的商品规格项发生改变、之前的商品不变是不能实现的

 

建表方案二:使用模板

1、每一个商品分类对一个规格参数模板

[ { "group": "主体", //组名称 "params": [ // 记录规格成员 "品牌", "型号", "颜色", "上市年份", "上市月份" ] }, { "group": "网络", //组名称 "params": [ // 记录规格成员 "4G", "3G, "2G" ] } ]

2、使用模板

每个商品对应一唯一的规格参数。在添加商品时,可以根据规格参数的模板。生成一个表单。保存规格参数时。还可以生成规格参数的json数据。保存到数据库中。

[ { "group": "主体", "params": [ { "k": "品牌", "v": "苹果(Apple)" }, { "k": "型号", "v": "iPhone 6 A1589" }, { "k": "智能机", "v": "是 " } ] } ]

实现流程

数据库存储

规格参数模板表

商品的规格参数表

优点:

1、不需要做多表管理

2、如果要求新添加的商品规格项发生改变,之前的商品b不变是很简单的

缺点:

复杂的表单和json之间的转换。对js的编写要求较高

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3