1、SPU介绍
SPU = Standard Product Unit(标准产品单元)
SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗的讲,除去规格信息以外的,属性值、特性相同的商品就可以归类到同一个SPU里面。

2、SKU介绍
SKU = Stock Keeping Unit(库存量单元)
SKU是库存进出计量的单元,可以是以件、盒等为单位,是物理上不可分割的最小存货单位,是一款具体规格的产品。通俗的讲,SKU是指一款商品,每款都有一个SKU,便于电商系统识别商品。

接下来以手机为例子来详细的说明这两个概念。

比如HUAWEI Mate 30 Pro这个手机,它有一些 “规格” 可以选择,这里还有 “颜色” “版本” “套餐” 三种规格可以选择,对于指定全部具体的规格信息的一个Mate Pro手机,比如 “‘星河银’ ‘8G+256G’ ‘优惠套装1’的Mate 30 Pro”这些选定的规格信息集合就是一个SKU。
而抛去这些具体规格信息表示Mate 30 Pro 手机这一类产品的信息集合就是一个SPU,这一类产品有一些不是规格信息的共同属性,比如CPU型号:麒麟990、摄像头数量、主屏幕尺寸、操作系统等等。

3、商品详情数据库表设计
在我的电商系统中按照上面的设计理念,将数据表分成了spu表、sku表、规格表、规格值表、sku规格选项表

还是以HUAWEI Mate 30 Pro这个手机为例,这个商品有一些选项,比如优惠卷、促销信息、增值业务、库存状态、物流信息、重量、服务支持、套餐、增值保障、京东服务、白条分期、累计评价数

上述信息可以分成两类,1. 一个值的,比如价格、质量;2. 多个值的,比如颜色、版本、图片、增值保障

我们拿这个手机的部分信息来详解在数据库中是怎么存储这些信息的,取一个值的比如商品名称,多个值的取两个颜色和版本。用一个列来存储商品的一个属性数据,最后得到如下的数据表。

那上面这张表存在什么问题呢?

数据的冗余

怎么解决?

分表

怎么分?

spu表、sku表、spu和sku的关系保存在sku表中

spu表中存储的是共有的属性,所以把像商品的名称这样的单一值存在这张表中。

sku是对一个订单商品的详细信息的描述,所以像类似于价格这样的信息应该存在这张表中。通过外键来关联spu表中的商品。

为了数据库表结构数据的不冗余,将sku中的规格选项分成规格信息、规格选项信息、sku规格选项表三张表。


如此,我们的数据库表结构就设计完成了。

电商系统中的SPU和SKU相关推荐

  1. 【项目实战】电商项目中的SPU与SKU傻傻分不清楚

    一.SPU与SKU介绍 电商里面一般对商品的单位都有 SPU 或 SKU,这两个概念有什么区别? 在电商项目中,SPU和SKU是两个常用的概念,它们分别表示不同的商品信息. 从广义上讲,类目>S ...

  2. 电商系统中的商品的SKU和SPU是什么?

    SPU = Standard Product Unit (标准化产品单元) SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性. SPU属性:不会影响到 ...

  3. 【精品】电商项目 中 基于SPU与SKU的 商品 数据库表设计

    简介 一般情况下我们使用5张表就可以解决基本的需求了: 商品分类表:category 商品表(即SPU表):表:product 商品规格表(即sku表):product_specs 属性key表:at ...

  4. 电商项目中的SPU和SKU概念

    SPU SPU:Standard Product Unit,标准产品单位. 概念:SPU 是商品信息聚合的最小单位[即:商品共同的属性],是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的 ...

  5. 电商系统中的商品模型的分析与设计—续

    在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介绍. 从SPU ...

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

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

  7. 电商项目—商品的spu、sku概念及其之间的关系

    电商项目-商品的spu.sku概念及其之间的关系 电商项目中涉及到商品时必然会遇到的几个概念,SPU.SKU.单品等.彻底搞懂和明白了这几个概念对我们设计商品表是十分必要的前提条件. SPU:标准化产 ...

  8. 聊聊电商系统中常见的9大坑,库存超卖、重复下单、物流单ABA...

    做为一名程序员,发展方向大致可以分为两个方面:一个是业务架构,一个是技术架构(中间件方向). 业务架构,取其核心关键词,主要是围绕这不同的业务场景.业务规则,完成业务系统的落地建设,为用户提供在线化的 ...

  9. 幂等和高并发在电商系统中的使用

    在Java web项目开发中,经常会听到在做订单系统中生成订单的时候,要做幂等性控制和并发控制,特对此部分内容作出总结,在高并发场景下,代码层面需要实现并发控制:但是幂等性,其实更多的是系统的接口对外 ...

最新文章

  1. 7:MD5、圆形图片、动态换肤
  2. OpenStack collectd的从零安装服务端
  3. python遍历链表_Python;链表和遍历!
  4. SAP激活物料分类帐
  5. (继承)virtual与访问控制
  6. SAP Fiori launchpad的PageChipInstance实现
  7. 王道408数据结构——第八章 排序
  8. 数数题(计数类 DP)做题记录
  9. Python 的PIL,可以解决ImportError The _imagingft C module is not installed
  10. 【CFD学习】yplus,y+,边界层理论,壁面第一层网格
  11. dart语言(dart语言菜鸟教程)
  12. d06调试详细说明_D06调试软件说明
  13. bmp图片格式转化为jpg
  14. 3D MAX 中的 vary 参数建议。测试图以及中等质量和高等质量参数设置.
  15. 那些年,你看过有哪些让你记忆犹新的书
  16. linux系统桌面权限怎么恢复,教你恢复冻结的XFCE4 Linux桌面方式
  17. 组合框快速输入(二)
  18. java.lang.NoClassDefFoundError: com/fasterxml/classmate/TypeResolver
  19. 第四届橙瓜网络文学奖暨见证·网络文学20年作家评选正式开启,千人评委会隆重见证
  20. thinkphp5使html5实现动态跳转

热门文章

  1. iptables详解(转)
  2. 推荐系统(10):推荐系统评测之评测指标
  3. 靶机Hacknos-2.1
  4. Bmob后端云——私人云数据库
  5. AT91SAM9G45开发板ARM9工业控制板
  6. js判断网页是否在微信打开
  7. 提取四位数的千位,百位,十位,个位
  8. 致润生首五计划中期报告前全体同仁
  9. 【大唐杯学习超快速入门】5G技术原理仿真教学——5G物理层过程
  10. css3 文字走马灯,前端开发:css3实现文字首尾衔接跑马灯