一,在电商项目里面为了准确的描述商品的区别,我们抽象出来两个概念,Spu和Sku这两个概念。

Spu(标准产品单位 ):一组具有共同属性的商品集

Sku(库存量单位):SPU商品集因具体特性不同而细分的每个商品

Spu 需要包括:id:主键                                                              Sku需要包括:id:主键
                           title:标题                                                                                spu_id:关联的spu
                           description:描述                                                                    price:价格
                           specification:规格                                                                  images:图片
                           packaging_list:包装                                                               stock:库存
                           after_service:售后服务                                                           颜色?
                           comment:评价                                                                        内存?
                           category_id:商品分类                                                             硬盘?
                           brand_id:品牌

商品设计里面Spu最难得地方在于每种产品规格参数不同导致设计难度增大,截图说明商品不一样导致规格参数不一样。

以上截图从京东商城截图所得,不同产品之间的规格参数差异还是蛮大的。

Sku的设计难点在于它的规格是参数根据的用户的选择在变化,但是细心地话,可以发现我们在京东淘宝上面更改参数的时候,规格参数跟着变化,所以我们把问题抛给规格参数解决就好了。

二,数据库中商品的规格参数的设计

我们的规格参数表应该和什么相对应,通过仔细观察分析可知,我们的同一个商品分类里面所有的商品所对应的规格参数是一样的。同时我们还应该知道,规格参数的显示是有讲究的,这里我们可以通过把某一类参数看成组,并且设计相应的数据库表与之对应,如上图所显示的主体和基本信息分别是两张不同的数据库表,那么我们的商品分类表和参数规格分组表是一对多关系。我们每一组里面的包括很多组属性信息,所有我们还需要单独设计一张数据库参数信息表,也是一对多的关系

1,tb_spec_group:参数规格分组表

数据库表中包括的字段:

  • id:主键

  • cid:商品分类id,一个分类下有多个模板,指定该组在哪个分类下

  • name:该规格组的名称。

CREATE TABLE `tb_spec_group` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `cid` bigint(20) NOT NULL COMMENT '商品分类id,一个分类下有多个规格组',
  `name` varchar(50) NOT NULL COMMENT '规格组的名称',
  PRIMARY KEY (`id`),
  KEY `key_category` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='规格参数的分组表,每个商品分类下有多个规格参数组';

图上就是红框内就是不同的参数规格分组表。

2,tb_spec_param :参数规格参数信息表

这里设计相对于参数规格分组表较为复杂一些,规格参数中有一部分是 SKU的通用属性,一部分是SKU的特有属性,而且其中会有一些将来用作搜索过滤,这些信息都需要标记出来。

通用属性

用一个布尔类型字段来标记是否为通用:

  • generic来标记是否为通用属性:

    • true:代表通用属性

    • false:代表sku特有属性

搜索过滤

与搜索相关的有两个字段:

  • searching:标记是否用作过滤

    • true:用于过滤搜索

    • false:不用于过滤

  • segments:某些数值类型的参数,在搜索时需要按区间划分,这里提前确定好划分区间

    • 比如电池容量,0~2000mAh,2000mAh~3000mAh,3000mAh~4000mAh

数值类型

某些规格参数可能为数值类型,这样的数据才需要划分区间,我们有两个字段来描述:

  • numberic:是否为数值类型

    • true:数值类型

    • false:不是数值类型

  • unit:参数的单位

CREATE TABLE `tb_spec_param` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `cid` bigint(20) NOT NULL COMMENT '商品分类id',
  `group_id` bigint(20) NOT NULL COMMENT '商品分类id',
  `name` varchar(255) NOT NULL COMMENT '参数名',
  `numeric` tinyint(1) NOT NULL COMMENT '是否是数字类型参数,true或false',
  `unit` varchar(16) DEFAULT '' COMMENT '数字类型参数的单位,非数字类型可以为空',
  `generic` tinyint(1) NOT NULL COMMENT '是否是sku通用属性,true或false',
  `searching` tinyint(1) NOT NULL COMMENT '是否用于搜索过滤,true或false',
  `segments` varchar(1000) DEFAULT '' COMMENT '数值类型参数,如果需要搜索,则添加分段间隔值,如CPU频率间隔:0.5-1.0',
  PRIMARY KEY (`id`),
  KEY `key_group` (`group_id`),
  KEY `key_category` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='规格参数组下的参数名';

电商项目(一)---------Sku和Spu以及电商项目商品的设计思路相关推荐

  1. PHP电商的sku,tech| 关于电商系统中sku与spu的一个难题

    date: 2018-8-1 21:17:14 title: tech| tech| 关于电商系统中sku与spu的一个难题 description: 业务上碰到的关于电商系统中sku与spu的一个难 ...

  2. 电商领域中SKU和SPU区别比较

    2019独角兽企业重金招聘Python工程师标准>>> 电商领域中SKU和SPU区别比较 在电商领域中我们或许会经常听到两个术语SKU和SPU, 那么什么是SKU和SPU呢, 让我们 ...

  3. 电商中的SKU和SPU

    SKU和SPU是电商中最基础的概念.SKU是最小库存单元,SPU是标准化产品单元.        SPU与SKU的关系有许多种,可以一对多.一对一,如果3-9所示.绝大部分SPU与SKU都是一对一,多 ...

  4. 电商开发,SKU与SPU是什么?

    SPU 属性(不会影响到库存和价格的属性, 又叫关键属性) Oppo R17这是商品的SPU,但Oppo R17只是一个名词,单纯的理解这个名词是没有意义的. 这里的SPU是一组商品的属性组合.如下所 ...

  5. mysql商品规格设计_[电商]我的商品规格设计思路

    这部分的设计必然少不了会有商品.货品.规格.规格值表. 先说下我对四个表之间关系设计: 商品与货品是一对多的关系. 规格与规格值是一对多的关系. 就这两种关系,关系很清晰,其实我刚开始的设计是这样的: ...

  6. java spu sku_SpringBoot电商项目实战 — 商品的SPU/SKU实现

    最近事情有点多,所以系列文章已停止好多天了.今天我们继续Springboot电商项目实战系列文章.到目前为止,整个项目的架构和基础服务已经全部实现,分布式锁也已经讲过了.那么,现在应该到数据库设计及代 ...

  7. spu是什么计算机软件,电商sku和spu的区别

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 电商sku和spu的区别是: 1.SPU:标准化产品单元.SPU=Standard Product Unit(标准化产品单元).S ...

  8. 电商名词sku和spu的区别

    item sku spu item 代表一种商品,是和店铺关联的. sku 商品的库存量单位 , 代表商品的规格和属性 spu 产品单位最小分割的商品 ,与商家无关 它的属性会影响价格. 简单的理解s ...

  9. 电商常识中的SKU和SPU

    SKU SKU=Stock Keeping Unit(库存量的基本单位) 现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号. SPU SPU(Standard Product Uni ...

最新文章

  1. 临沂大学3加4计算机专业,临沂大学2021年电子信息(计算机技术方向) 硕士研究生调剂工作细则...
  2. IOS初级:UIScrollView UIPageControl
  3. 苹果欲把 Swift 扶上位!
  4. 杂谈(23)也说高考
  5. 通过kmeans分析出租车数据并调用百度API进行可视化!
  6. g2o:一种图优化的C++框架
  7. HTML5游子吟网页的完整代码,游子吟教学完整版古诗
  8. 【sketchup 2021】草图大师的高级工具使用2【材质贴图应用的基础功能和高级使用与实战演练(给地砖调整尺寸、转贴贴图圆柱为例、投影贴图百叶窗为例】
  9. ​​商朝是广西骆越人北上建立的政权,是骆越文化的延续
  10. 20系列显卡服务器,关于20系列的DLSS
  11. 华为什么时候能升android10,华为手机什么时候升级安卓Q 华为首批适配Android10机型列表...
  12. android studio 登陆ui界面设计
  13. 【MFC】Ribbon界面开发(一)
  14. Fastadmin和Easywechat
  15. xp安全模式下如何修复计算机,xp系统电脑安全模式进不去的处理方法
  16. 4sum java_4Sum - hcx - ITeye博客
  17. 计算机视觉中的边缘检测
  18. 使用 HSDB 查看Spring AOP产生的代理类
  19. 邓迪大学信息无障碍相关项目概要
  20. 2021-09-142021年茶艺师(中级)考试题库及茶艺师(中级)考试试卷

热门文章

  1. UVM中objection机制学习
  2. 实战爬取Plati官网游戏实时最低价格-Python
  3. 如何打造园本特色_如何建设本园特色课程
  4. 使用VB对word文档进行格式调整
  5. 【c++】拼音转数字
  6. c4I开发语言,初探go-golang语言初体验uknn
  7. Sonic自动化测试结果通知:钉钉群机器人
  8. iOS Sharing #03 | 2019-04-06
  9. 微信小程序iOS兼容问题,苹果手机白屏,页面不加载,安卓手机正常
  10. RabbitMQ资料