1 文章概述
商品在电商领域中是一个非常重要的领域,交易行为前提是有商品信息存在。本文我们分析商品表基本设计,其它复杂场景可以在此基础上进行扩展。需要说明第一本文所用数据是测试数据,可能与真实数据有偏差,仅供演示。第二本文展示商品核心字段,一些通用字段不展示。
2 商品类目
2.1 基本信息
类目表示商品分类并且具有层级关系:
- 一级类目:图书
- 二级类目:文学
- 三级类目:小说
- 二级类目:文学
- 一级类目:电脑
- 二级类目:电脑配件
- 三级类目:显卡
- 二级类目:电脑配件
- 一级类目:生鲜
- 二级类目:水果
- 三级类目:苹果
- 二级类目:水果
2.2 三种类目
2.2.1 后台类目
后台类目有两个特点:标准和稳定。标准表示后台类目是业界通用的,并且层级不宜过多,通常不超过三级。稳定表示后台类目一旦确定不能轻易修改,否则设计上下游大量数据变更,工作量非常大,所以变更权限必须收敛到平台运营。
2.2.2 前台类目
计算机领域有一句话:任何问题都可以通过加一层解决。为了解决后台类目不能灵活调整这个问题,业界在后台类目上设计了前台类目。
运营人员通常会对后台类目进行简化和整理,更加符合用户检索习惯,前台类目可以自由关联后台类目,可以一对多、多对一或者多对多。很多电商网站PC首页展示的类目一般是前台类目。
2.2.3 店铺类目
店铺类目灵活度更好可以交由商家管理,商家可以根据自身经营策略调整店铺类目,提升交易率,一般只支持两层。综上所述我们看一个实例:
(1) 后台类目
- 一级类目:生鲜
- 二级类目:水果
- 三级类目:西瓜
- 二级类目:水果
(2) 前台类目
- 一级类目:食品/生鲜/特产
- 二级类目:新鲜水果
- 三级类目:西瓜
- 二级类目:新鲜水果
(3) 店铺类目
- 一级类目:夏日清凉
- 二级类目:甜甜大西瓜
2.3 后台类目表
xml
复制代码
CREATE TABLE `category_1_background` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `category_id` varchar(64) NOT NULL COMMENT '类目ID', `category_name` varchar(128) NOT NULL COMMENT '类目名称', PRIMARY KEY (`id`), UNIQUE KEY `uq_category_id` (`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='一级后台类目表'; CREATE TABLE `category_2_background` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `category_id` varchar(64) NOT NULL COMMENT '类目ID', `category_name` varchar(128) NOT NULL COMMENT '类目名称', `category_1_id` varchar(64) NOT NULL COMMENT '一级分类ID', PRIMARY KEY (`id`), UNIQUE KEY `uq_category_id` (`category_id`), KEY `idx_category_1_id` (`category_1_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='二级后台类目表'; CREATE TABLE `category_3_background` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `category_id` varchar(64) NOT NULL COMMENT '类目ID', `category_name` varchar(128) NOT NULL COMMENT '类目名称', `category_2_id` varchar(64) NOT NULL COMMENT '二级分类ID', PRIMARY KEY (`id`), UNIQUE KEY `uq_category_id` (`category_id`), KEY `idx_category_2_id` (`category_2_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='三级后台类目表'; insert into `category_1_background`(`category_id`,`category_name`) values ('700','电子设备'); insert into `category_2_background`(`category_id`,`category_name`,`category_1_id`) values ('800','通讯设备','700'); insert into `category_3_background`(`category_id`,`category_name`,`category_2_id`) values ('900','手机','800');
3 商品属性
3.1 属性分类
3.1.1 关键属性
关键属性是商品本质属性,关键属性中最核心两个属性是品牌和型号,一旦确定这两个属性等价于确定SPU(Standard Product Unit)标准化管理单元,例如品牌是小米,型号是10。在实践中这两个属性不放在属性表:
- 型号是一种特殊属性
- 作为SPU表一个字段
- 品牌是一种特殊属性
- 品牌基础信息一张独立表
- SPU表记录对应品牌ID
其它关键属性例如屏幕尺寸,CPU型号,CPU核数还是通过属性表承载。
3.1.2 销售属性
销售属性又称为规