一、SKU及相关概念定义

在设计商品SKU之前,首先让我们熟悉一下SKU和相关的一些概念。

# 什么是SKU:

SKU=Stock Keeping Unit(库存量单位)

同一型号的商品,或者说是同一个产品项目(商品条形码是针对企业的产品

项目来进行定义的),因为产品与产品之间有某些属性不同,用以区别开这些

不同商品的属性即商品变异属性,又称作SKU属性,因为它决定了SKU

的绝对数量。

# 参考说明

百度上有一篇文章也有阐述,可以做关联阅读,我就不重复贴上了。

百度SKU参考

# 什么是SKU属性和选项

比如某件衣服有多种颜色、多种尺码,这些属性会直接关联价格和库存的,

系统会根据该商品关联的SKU属性的某个组合生成SKU。

比如某个款式的衬衫,有XL/L/XXL三种大小,有红黄蓝三种颜色。

对应这里例子,尺码和颜色都是是SKU属性。

对应尺码的XL/L/XXL等,都是SKU属性选项。

【注】上述的属性不一定在任何时候都是SKU属性,看实际的商品情况和设置。

比如对于尺码,某种商品是均码的。那么就不需要创建尺码这个SKU属性了,

而是设置为普通属性,仅作为显示用。

# 什么是商品SKU

商品SKU实际上就是SKU,为了避免误解和SKU属性混淆,我用商品SKU来命名,

表示从属于商品的、实际销售和存储的子实体。

一个商品SKU,表示该商品关联的若干SKU属性的的属性值的某个组合所形成的

子实体。

如对应上面的例子,其中的一种组合 XL + 红色 就会形成一个商品SKU。然后,

我们可以在该实体上管理价格、库存、专门的图片等信息。

# 什么是商品变异

英文名:Product Variants

商品变异其实就是商品SKU,只不过在某些技术文章中这样定义了。即以“变异”

来表达商品SKU的生成。

# 属性集

B2C电子商务系统研发——商品SKU分析和设计(一)

Attribute Set,用于管理各类扩展属性的集合,其中SKU属性也是在管理范畴之内。

商品通过关联属性集而获得该属性集设置好的SKU属性,然后才可以根据这些SKU属性

生成商品SKU。

属性集也成为产品类型。

常见的属性集有:服装、PC、家具、图书等。

# 概念的统一

虽然不同的研究人员有不同的命名和定义,但为了在本系列文章中不出现混淆,

我对概念做了以下统一定义:

1)SKU(或称商品SKU)指的是商品子实体。

2)商品和商品SKU是主次关系,一个商品包含若干个商品SKU子实体,商品SKU从属于商品。

3)SKU不是编码,每个SKU包含一个唯一编码,即SKU Code,用于管理。

4)商品本身也有一个编码,即Product Code,但不作为直接库存管理使用。
          有时为了方便管理,会通过商品的Product Code作为前缀生成SKU Code。

二、SKU属性的管理

常见有几种情况:

  1. 商品独立管理
    即SKU属性从属于商品。
    优点:基本上没有。
    缺点:这种比较不靠谱,因为会导致工作量过大。虽然可以通过“复制”功能来稍稍
             简化,但依然不会很理想。所以基本不会采用。
  2. 商品独立关联
    即SKU属性是公共的,每个商品根据自己的实际情况来关联若干个SKU属性,
    然后选择若干选项生成商品SKU。
    优点:灵活,设置好了若干SKU属性和相关选项后,由商品自行选择相关的组合。
    缺点:太灵活了,容易出错。比如对于颜色这个SKU属性而言,由于是公共的,所以
            会定义数十个,甚至更多,但是对于ipad而言,其实只需要2个即可。这种
            管理方式,无法从源头控制商品添加时SKU属性和选项的范围。
  3. 通过属性集管理
    即SKU属性依附属性集存在,不存在可以从属于多个属性集的SKU属性。
    优点:容易进行严格的管理,不易出错。比如同样是命名为“颜色”的SKU属性会存在多个
    (属性ID/编码不同),但是对于ipad的只需要2个选项(黑、白),对于服装则会很多。
    缺点:属性集管理的工作量会稍大,适合属性集不多的系统。
  4. 通过属性集关联
    即SKU属性是公共的,通过属性集关联。
    优点:这种方式重用性不错,对于SKU选项较多的,会简化工作量。
    缺点:由于SKU属性是公共的,所以会存在上面第2点的缺点。但我们也可以通过设置多个
    同名、但编码不同的SKU属性,如多个“颜色”SKU属性,但是选项不同。
  5. 创建独立的SKU属性集
    即设计一个独立的SKU属性集的实体,关联或者直接管理SKU属性。
    这种方式也是挺不错的。因为虽然各种商品类型之间产品特性会有较大的不同,但是SKU属性
    却有可能差异不大。比如对于服装、ipad都存在通过颜色来区分SKU,但是ipad只需要2种选项
    (以后也许微调为3~4种等),而服装则很多了。

三、我的选择

上面介绍了五种形式,我个人倾向第4和第5种,上一篇文章的ER图也改成了第4种的形式,比较符合

常见的思路。第5种也是不错的。可以在接下来的设计分析一下。

转载:http://www.cnblogs.com/winstonyan/archive/2011/12/17/b2c_research_product_sku_analyse_design.html

B2C电子商务系统研发——商品SKU分析和设计(一)的更多相关文章

  1. B2C电子商务系统研发——商品SKU分析和设计(二)

    转:http://www.cnblogs.com/winstonyan/archive/2012/01/07/2315886.html 上文谈到5种商品SKU设计模式,本文将做些细化说明. 笔者研究过 ...

  2. B2C电子商务系统研发——产品媒体常见功能点

    产品媒体常见功能点 电商研发系列——产品媒体常见功能点 支持图片.视频和文档等媒体类型 产品图片对清晰度要求比极高,但又不能太大,所以图片一般是jpg格式. 视频一般是flv流媒体格式,如果是嵌入产品 ...

  3. 转:国内外著名开源b2c电子商务系统比较包括asp.net和php

    from: http://longdick.iteye.com/blog/1122879 国内外著名开源b2c电子商务系统比较包括asp.net和php 博客分类: 电子商务   国内外著名开源b2c ...

  4. AssionShop开源B2C电子商务系统-概述(转载)

    今天是个特殊的日子,我在北京房租价格又上了一个新的台阶.在这个日子我准备开始建立一个开源项目,一个B2C行业的EC系统. 一.关于定位 我要做的不只是一个商城,应该说是一个能满足中小型企业建立电子商务 ...

  5. AssionShop开源B2C电子商务系统-(二)定单流程活动图状态图(转载)

    B2C系统的灵魂所在就是定单的流程了,下面展示下定单的最重要的两个动态图,一个是定单流程活动图.还有一个是简单的定单状态图.通过这两张图,基本可以 了解系统定单流的大概情况了啊.图画的只是初步的设想, ...

  6. AssionShop开源B2C电子商务系统-(一)用例图(转载)

    这篇文章,将有实质的进展.先把大体的需求整理了一份用例图,自认为粒度做的已经很细了,再细就没法搞了.我还是坚信一个原则:自己业余搞的东西千万不要 想一口吃个胖子,这样很容易项目就搞流产了~,废话不多说 ...

  7. 电商ERP系统——商品SKU与库存设计

    面试题经常问道,如何设计库存,哪些库存呢?分类属性的库存:不同颜色 不同尺码的属性的库存,这时候需要针对具体的SKU商品创建表. 总体思路 1.商品关联商品类别,商品类别关联多个商品属性,其中指定某几 ...

  8. 【转】B2C电子商务系统设计精选

    B2C电子商务系统研发——促销引擎设计(一)(Promotion Engine) B2C电子商务系统研发——商品SKU分析和设计(一) B2C电子商务系统研发——商品SKU分析和设计(二) 电商后台系 ...

  9. 从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析

    http://zz563143188.iteye.com/blog/1877266在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样 ...

随机推荐

  1. JMeter学习笔记(十八)——返回的响应数据出现中文乱码_解决方案

    一.问题描述 使用jmeter过程中遇到了请求返回的响应数据出现中文乱码 二.原因分析 当没有对响应数据or响应页面设置支持解析中文的编码时,JMeter则会以默认的ISO-8859-1格式解析,而其 ...

  2. Windows上安装ElasticSearch7

    安装JDK1.8(包括)以上版本 安装ElasticSearch ElasticSearch下载地址: https://www.elastic.co/downloads/elasticsearch 双 ...

  3. Postgresql 常用操作

    表所有者一括变更 select 'alter table public.'|| tablename ||' owner to appuser;' from pg_tables where tableo ...

  4. jar - 操作jar包的工具

    jar - Manipulates Java Archive (JAR) files. jar命令是一种通用的存档和压缩工具,基于ZIP和ZLIB压缩格式. 常用格式: * 创建jar文件 jar c ...

  5. configure生成makefile的配置项说明

    一般Linux软件使用configure来检测系统生成makefile文件之后可使用make来编译安装软件. configure的配置选项有哪些呢?现简单收集如下,不断更新中. 以gcc -v为例,可 ...

  6. lvm逻辑卷扩容报错解决

    报错: [root@centos21 space]# resize2fs /dev/centos/root resize2fs (-Dec-) resize2fs: Bad magic number ...

  7. Linux系统 jboss/Tomcat服务器pdf文件乱码问题

    1.新搭建的环境,但是没有字符集,在windows上的电脑上复制了一份宋体, 字体C:\WINDOWS\FONTS\simsun.ttc(也就是宋体,大小为10M),把他重命名为 simsun.ttf ...

  8. sklearn.model_selection 的train_test_split方法和参数

    train_test_split是sklearn中用于划分数据集,即将原始数据集划分成测试集和训练集两部分的函数. from sklearn.model_selection import train_ ...

  9. 【MySQL】FIND_IN_SET、LIKE、IN的区别

    现在有张新闻表,里面有新闻名称name字段,有新闻类型type字段,1代表头条,2代表推荐,11代表热点,22代表最新,现在表中有两条记录,存储形式如下,现在的需求是查找头条新闻,及type中包含1的 ...

  10. 快排算法Java版-每次以最左边的值为基准值手写QuickSort

    如题 手写一份快排算法. 注意, 两边双向找值的时候, 先从最右边起找严格小于基准值的值,再从最左边查找严格大于基准base的值; 并且先右后左的顺序不能反!!这个bug改了好久,233~ https ...