`

商品SKU表的设计

阅读更多

YY淘宝商品数据库设计

 

前言

  这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很多东西,这里想对淘宝商品表设计用自己的想法表现出来,如果你觉得很扯淡,可以写下自己的看法.OK,切入正题.

  淘宝的商品这块的复杂程度,是我见过的电子商务网站中最复杂的,灵活性最高的.在看下文之前,先说一下在淘宝中的以下名词:关键属性,销售属性,非关键属性。如下图:

关键属性:能够确认唯一产品的属性,可以是一个,或者多个关键属性的组合,比如:相机的"品牌""型号"能确定唯一的产品,服装的"品牌""货号"能确定唯一的产品

销售属性:组成SKU的特殊属性,它会影响买家的购买和卖家的库存管理,如服装的"颜色"、"套餐"和"尺码",注意这里的SKU,淘宝销售属性组合成SKU

非关键属性:就是商品属性了,一些对商品进行描述的属性

特征量,特征值的设计

最初了解这种设计,是项目经理的指导,他瞅一眼数据结构之后立马说:典型的特征量对应特征值的设计。额,佩服。恩,看下下图这2个表的数据,就很清楚了,

在特征量这个表中,存放所有的例如:品牌,系列,颜色,尺码 这些名称,在特征值中存放具体的值,比如衣服有12种颜色,那么左表中有 ID:1, 名字:颜色,在右表中存放

黄色,绿色等等具体的值,特征量表是一个父子关系,比如有的品牌下面有系列,系列下面可能还有系列,右表的数据存在冗余是不可避免的,比如衣服有24个颜色,鞋有24个颜色,虽然特征值是一样,但是是属于不同的特征量的。

那么如上图所示,(注意,上图中特征量表我并没有添加父子关系,在设计的时候是有父子关系的)我要添加一个避孕套商品,最少分为2步,首先在类别表中选中计生用品-->一直到避孕套这个子分类,通过子分类的ID,级联查询特征量和特征值这个表,得到诸如品牌,大小,颜色这种属性,如果存在层级关系,比如品牌下面的系列,系列下面还可能有系列,通过特征量表中的父子关系,继续查询出来,当然,也可以通过类目ID一次性查询出来,然后进行关系显示。

对具有不同属性的同种商品做的不同价格,数量设计?

  

  我们看在淘宝中添加衣服和数码相机的情况,这里会出现选择"关键属性" 颜色+尺码之后,出现需要对不同颜色尺码的组合填写价格和数量和商家外部码,相机则是颜色+套餐+外部码,而到了洗发水就是容量+多买多便宜+外部码,这里就是上面介绍的SKU,如果你还不了解SKU,可以做下了解,这样子做的直接好处就是,不同的搭配可能有不同的价格,做库存和销量的统计的时候就能做到准确统计,通过商家的外部编码能让商家关联本地系统,也是为了做统计和库存的方便。

恩 大伙瞅瞅我的设计吧,要拍,请轻拍

2011-03-23 修正:这篇文章以我现在的理解来说,表设计存在问题!!请看到这里马上离开!你也可以关注我后续淘宝分析相关文章~

1.类目和特征量,特征量和特征值并不是多对多的关系,是一对多的关系

2.类目和特征量都是父子表

3.商品的关键属性如:品牌 系列(只存放子及ID),其它属性,比如说裤子的裤型,适合人群,等属性存入基本属性表,这里品牌系列只存放子及ID是因为考虑到,不想建立过多的表,用户搜索用例如lunce把全部信息建好索引,做统计或者数据分析的时候也是可以通过父子特征量的父子关系进行的。

4.销售属性的分开是因为,比如洗发水,我们的特征值表中的值可能不能符合用户需求,那么可以让用户自定义值,颜色可以上传图片等,而且销售属性一般为多个组合,所以单独建立一个表。

5.商品的SKU表,这个特征量ID的组合实际上就是销售属性表的ID组合

当我们添加一个商品的时候,在不考虑页面展现的情况下需要这几步:

1.插入商品基本信息到商品表 

2.插入基本属性和关键属性到商品基本属性表 

3.插入销售属性到销售属性表

4.插入销售属性ID组合,数量,价格等到商品SKU表。

当我们在页面上展示商品的时候:

1.级联6个表查询出商品所需要的信息,由于关键属性有多级,这里只存了子及,需要做一次递归。当然可以考虑缓存等自己的实现方法

2.分析商品SKU组合,生成销售属性组合及约束,比如颜色+尺码 选择之后的不同价格,是否还有货。颜色有图片的用上传的图片代替默认背景

难点在于:

1.页面的展现不管前台还是后台都必须动态构建,在动态构建的基础上加上基本的验证,比如用户选择了 颜色A+尺码,库存只有3件,数量填写了5,必要提示用户没有了这么多数量,动态构建中还存在某些属性有层级关系,需要按照自己的策略选择一次性加载或者AJAX加载,进行分析显示

2.几个表关联查询的设计,何种方法能最大化减小程序的复杂程度,是直接在数据库中搞定,还是数据库结合内存表(缓存特征量和特征值).

页面上的展现和其它设计

我在实际项目中添加商品的做法是,序列化属性成json字符串到页面,根据特征量中的是否是枚举,是否是父属性,是否关键属性,是否销售属性来动态创建页面表单,效果如他的API页面,如果你有兴趣,可以参考他的JS

杨过大哥的博客中,这篇讲到了他的网站添加商品的时候动态创建表单的做法,还有一篇类目属性的设计,那种类目属性设计也是一种不错的设计,有兴趣可以看看。

恩 文章到这完了,睡觉去了。 今天可能是博客园360 和 qq 的软文的又一个小高潮,悲剧啊

分享到:
评论
1 楼 sea_wave2011 2018-01-06  
尼玛,图片也没有,copy别人的就不能认真点,就不能标注转载?网上充斥各种重复垃圾博客就是你们这些人搞的

相关推荐

    商城sku之数据表设计

    主要是描述了一些关于sku方面的知识点,还加入数据表的设计结构,主要针对产品方面的多规格设计结构,从而实现了目前市场主流的商品sku设计。

    购物商城SPU-SKU数据库设计.sql

    购物商城SPU、SKU的数据库设计,所属MYSQL数据库,可将设计思想用于其他数据库。可用于B2B、B2C网站类型电子商务的项目。

    电商项目商品规格参数表设计SKU和SPU表设计

    【课程介绍】 课程目标: - 掌握商品规格数据结构设计思路 - 实现商品规格查询 - 掌握SPU和SKU数据结构设计思路 - 实现商品查询 - 了解商品新增的页面实现 - 独立编写商品新增后台功能 适合人群:必须得有...

    商品sku的pdm(用powerdesigner打开).rar

    描述中提到的“商品SKU设计带PDM文件”表明这是一个关于商品SKU的数据库设计项目,其中包含了PowerDesigner的源设计文件。PDM(Physical Data Model)是PowerDesigner中的一个文件格式,用于存储和展示数据库的物理...

    商城sku设计.md

    ### 商城SKU设计详解 #### 一、SPU与SKU概念解析 - **SPU (Standard Product Unit)**:标准化产品单元。在理解SPU时,我们可以先从“产品单元”入手,即以单个产品为基本单位。比如,作为手机零售商,当我们向厂商...

    商品sku梳理简述.doc

    - 减少库存:SKU设计首要目标是减少库存,提高坪效,节约资源。 - 应季销售:确保商品符合季节性需求,避免无效库存。 - 吸引客流:根据店铺位置和商品特性,灵活运用各种营销手段,如广告宣传、促销活动等,指导...

    商品SKU模块基础layui前端框架

    这个“商品SKU模块基础layui前端框架”是专为PHP后端开发者设计的一个工具,旨在简化前端展示和交互,提高开发效率。layui是一个流行的JavaScript框架,用于构建现代Web应用,它具有模块化、响应式和易用性等优点。 ...

    Android 商品属性SKU选择

    在Android应用开发中,商品属性SKU(Stock Keeping Unit)选择是一项关键功能,它涉及到电商平台的商品管理、库存控制以及用户交互体验。本篇文章将深入探讨如何在Android中实现类似淘宝的商品属性选择界面,以及...

    jQuery仿淘宝商品多规格SKU,自动生成表格表单

    本教程将详细讲解如何使用jQuery来实现一个类似于淘宝商品详情页中的多规格SKU(库存保持单位)功能,帮助开发者自动生成表格表单,以便用户在选择商品时能方便地选取不同的属性组合。 首先,我们需要理解SKU的概念...

    商品SKU组合查询插件

    1. 数据结构设计:商品SKU的管理通常涉及复杂的多维数据结构,插件可能采用对象或数组形式来存储和处理这些数据。例如,通过键值对表示商品属性,如`{color: 'red', size: 'M'}`,便于进行属性匹配和查询。 2. 组合...

    jQuery仿淘宝商品SKU选择商品及分类选择

    本篇文章将详细讲解如何使用jQuery来实现“仿淘宝商品SKU选择商品及分类选择”功能。 首先,让我们了解什么是SKU。SKU(Stock Keeping Unit)是库存量单位,通常用于电子商务中,代表一种独特的产品或服务。每个...

    商品多属性sku 简单易用

    在本主题中,“商品多属性SKU 简单易用”意味着我们将探讨如何通过简洁直观的界面来高效地管理和操作带有多个属性的商品SKU。 首先,商品多属性是指一个商品可以有多种不同的特征组合,例如一件衣服可能有不同的...

    Sku商品规格选择

    首先,我们需要设计一个数据模型来存储商品的SKU信息。这个数据模型通常包含以下字段:商品ID、规格ID、规格名称、规格值、库存数量等。通过这些字段,我们可以清楚地表示每个SKU的特性和状态。此外,数据模型还应...

    android SKU算法(商品属性选择框)demo

    在Android开发中,SKU(Stock Keeping Unit)通常用于电商应用,表示库存单元,它关联了商品的各种属性,如颜色、尺寸、款式等。一个商品可能有多个SKU,每个SKU代表了商品的一种具体组合。例如,同一款T恤,红色、L...

    电商通用SKU设计,PowerDesigner原稿+图片

    SKU设计是电商平台后台系统的核心部分,它直接影响到商品的管理效率、库存准确性和用户体验。 PowerDesigner是一款强大的数据库建模工具,常用于业务系统的数据模型设计。在"电商通用SKU设计"中,PowerDesigner被...

    sku电商商品多规格

    6. **组件设计**:组件化开发是现代前端开发的趋势,本项目中的“sku电商商品多规格”组件可能包含以下部分: - **商品详情页**:展示商品的基本信息,如图片、价格、库存等。 - **规格选择器**:用户可以根据需要...

    商品sku梳理简述.pdf

    本文将深入讨论商品SKU梳理的重要性、动销调查与分析的步骤以及如何设计SKU以实现利益最大化。 首先,商品SKU的不合理结构可能导致门店坪效(单位面积销售额)和品效(单位商品销售额)低下。当门店中SKU数量过多,...

    基础商品库设计方案(类目\产品\spu\sku)

    基础商品库设计方案是电子商务系统中不可或缺的组成部分,它负责存储和管理商品的信息。为了提供更高效的库存和分类管理,基础商品库通常会设计成分层次的结构。本方案中,商品库被划分为四个层级:类目、产品、商品...

    sku多属性选择算法-每个商品的属性进行可选分组-有bug

    在商品管理中,一个复杂的挑战是如何设计一个有效的SKU多属性选择算法,确保用户能方便地筛选和购买符合他们需求的商品。这里我们将详细讨论这个主题,特别是针对描述中提到的"每个商品的属性进行可选分组"以及与Vue...

Global site tag (gtag.js) - Google Analytics