SPU:Standard Product Unit (标准产品单位),一组具有共同属性的商品集

SKU:Stock Keeping Unit(库存量单位),SPU商品集,因具体特征不同而细分的每个商品
image.png
本业的华为就是一个商品集(SPU)
因为颜色·内存等不同,而细分出不同的MAte10,如亮黑色128G版(SKU)

可以看出:

SPU是一个抽象的商品集概念,为了方便后台的管理

SKU才是具体要销售的商品,每一个SKU的价格·库存都可能会不一样,用户购买的是SKU而不是SPU

2)SPU与SKU表结构分析

弄清楚了SPU和SKU的概念区分, 如何设计表结构
SPU表结构

  1. id:主键
  2. title:标题
  3. description:描述
  4. specifiction:规格
  5. packaging_list 包装
  6. after_service:售后服务
  7. comment:评价
  8. categroy_id:商品分类
  9. brind_id 品牌

SKU表结构

  1. id:主键
  2. spu_id:关联的spu
  3. price:价格
  4. images:图片
  5. stock:库存
  6. 颜色?
  7. 内存?
  8. 硬盘?

sku的特有属性也是变化的,不同山沟,特有属性不一定相同,那么我们的表字段岂不是不确定
sku的这个特有属性该如何设计呢

2)SKU的特有属性

SPU中会有一些特殊属性,用来区分不同的SKU,我们成为SKU特有属性,用来区分不同的SKU,我们成为SKU特有属性。如华为MATE10的颜色、内存属性

不同种类的山沟,一个手机,一个衣服,其SKU属性不相同

同一种类的山沟,比如都是一副,SKU属性基本是一样的,都是颜色,尺码等

这样说起来,似乎SKU的特有属性也是与分类相关的?

SKU的也有属性是山沟规格参数的一部分
image.png
也就是说,我们没必要单独对SKU的特有属性进行设计,他可以看作是规格参数中的一部分。这样规格参数中的属性可以标记成两部分
spu下所有sku共享的规格属性(称为通用属性)
spu下每个sku不同的规格属性(称为特有属性)

03、SPU与SKU:spu与spu_detail表结构分析

1)数据库表切分说明

横向切分【水平拆分】
1.数据量太大了(2000万左右)
2.历史数据使用的几率很低

纵向切分【垂直拆分】
1.表字段太多了【50个左右】
2.表中有一些大字段,比如:blob,clob,增删改查的效率低【long】,需要将这些大字段单独分离出去