B2B2C商品模块数据库设计

/**************2016年4月25日
更新********************************************/

知乎:产品 SKU 是哪些意思?与之殃及池鱼的还有怎样?

 

kentzhu:

在电子商务里,一般会涉及如此多少个词:商品、单品、SPU、SKU

 

简言之明了一下,SPU是标准化产品单元,区分连串;SKU是库存量单位,区分单品;商品特指与商店有关的货色,可对应八个SKU。

 

率先,搞了然商品与单品的分别。例如,iphone是一个单品,但是在Taobao上当很多商厦同时发售这一个产品的时候,iphone就是一个货品了。

 

商品:Tmall叫item,京东叫product,商品特指与合营社有关的商品,每个商品有一个店铺编码,每个商品上边有多少个颜色,款式,可以有多少个SKU。

 

SPU = Standard Product Unit
(标准化产品单元),SPU是商品音信聚合的细小单位,是一组可复用、易检索的规格音讯的联谊,该集合描述了一个成品的特点。通俗点讲,属性值、特性相同的货物就可以称之为一个SPU。例如,iphone4就是一个SPU,N97也是一个SPU,那几个与商家无关,与颜色、款式、套餐也毫不相关。

 

SKU=stock keeping unit(库存量单位),SKU即库存进出计量的单位,
可以是以件、盒、托盘等为单位。在衣衫、鞋类商品中行使最多最普遍。
例如纺织品中一个SKU平日表示:规格、颜色、款式。

 

SKU是情理上不可分割的很小存货单元。在运用时要依照差距业态,不一致管
理方式来处理。比如一香烟是50条,一条里有十盒,一盒中有20支,这几个单位就要依照不一致的内需来设定SKU。

 

老黄的实验室:

spu,sku,item,规格,单规格商品,双规则商品,三规则商品…

 

衣着为例:

一款衣裳,是一个spu

这款衣裳,有黑白三个颜色,小中大特大三个尺码,颜色和尺寸就是他的四个规范,每个颜色和尺寸排列组合,组成最后的sku。

 

iphone6为例:

iphone6是一个spu

基准1-颜色,包括黑色白色,土豪金

规格2-容量,包含16G,32G,64G,128G

规格3-制式,移动版,联通版,电信版

规范4-合约,合约机,非合约机

把各样规格都排列组合一下,就是终极的sku

 

天涯论坛:有啥常见的数据库优化措施?

 

谢龙:

1.善用explain,看看自己写的sql到底要提到到多少表,多少行,使用了那多少个索引,根据那些新闻优异的创制索引;

2.善用不一样的存储引擎,MySQL有多种分化的存储引擎,InnoDB,Aria,MEMORY按照必要给不一致的表选用区其他存储引擎,比如要匡助transaction的话用InnoDB等;

3.表很大的时候,做分片。

 

惑春秋:

数据库物理层:
1)数据库系统软件应该尽量跟数据文件分置差别存储设备
2)如若可能数据库临时空间、log尽量使用高效存储设备
3)数据文件应该按照实际选取须求分置差距存储设备提升读取功能
4)数据文件使用RAID既维持数据安全又便利性能

数据库逻辑层
1)为数据库system表空间、user表空间、应用表空间分离
最起码user和使用不应当利用系统表空间
设若可能三类表空间应该分在不一样物理存储上
2)应用表空间中
表的表空间、索引的表空间也应有分别
3)成立表时应该考虑表的性状
例如有些表半数以上时候是只插入记录很少修改删除
稍加表是所有记录平常增、删、改
些微表唯有个别字段
多少表有恢宏字段但半数以上时候其中大多字段为空
些微表数据增进火速
多少表数据常年基本不变
等等
不等特色的表应该在开创时定义差距的胚胎空间和空间拉长方案
以尽可能让一条记下处于一个老是的情理存储空间提升读取效用
别的要制订分化的备份恢复生机和碎片整理机制
4)索引不是更加多越好
而是因表的风味而各异
多少变动频仍的表还应该树立目录定期重建机制
否则索引不但不会创新性能还会下降性能
5)某些应用常用表比如lookup code之类的
假如可能尽量建在独立的表空间上
并把表空间建在急忙存储设备上

地方那几个对SQL Server一类轻量级的数据库也就基本上了
但对于Oracle DB2那种重量级数据库
再有内存管理优化
太久不做时代有的理不清头绪了
随后想起来能补再补

数据库应用层
以此太多了
首先Modeling要合理
本条太主要
行使设计不客观再怎么优化、何人来优化也只是死马当活马病

协助是代码中的SQL语句优化
譬如查询尽量利用索引
尽心尽力不要做全表扫描
慎用子查询和Union All
多表join时尽量用小表去join大表
(注每个数据库厂商对join的拍卖不完全一致
此间的优化应该参照数据库厂商的用户手册)
等等等等

 

 

新浪:mysql的数据库设计到底该不应当加约束

譬如非空约束,外键约束等。因为自己看看我们公司的DBA在统筹数据库结构的时候都是不加任何自律的,那样对性能的提升有多大,会不会潜移默化到数码的完整性。新手求大牛解答?

joylisten:

大学派会告知你在布置的时候把相应有的羁绊都拉长

 

而实施派得出的结论是主键一定加,非空约束尽量加,外键最好凭借于程序逻辑,而不是数据库,从而更好的抱抱变化,快捷响应,数据库也会有相对较好的属性

 

Rocky:

主键约束一定要加,非空约束必不可少。外键最好不要加,除非是事关极多,业务最好复杂的时候才得以考虑加外键。

 

天涯论坛:关于电商网站数据库的统筹?

本身在思维一个题目,电商网站的数据库设计,首即使商品归类,商品的详情(分化的货物有不一样的熟知,比如衣裳有颜色、尺码,然则电脑有CPU、内存、显卡等标准化),库存表(一个集团里面某个商品有分化的准绳,分歧的规则有两样的库存数据),那之间怎么设计。

或是本身叙述的不是很驾驭,我想通晓一下那上边改怎么规划,可能有情侣问我,为啥不坚守分类吧数据库设计“死”呢,因为易于之后的扩张,我不容许转手做的很周详,总是逐渐扩张的,所以想那样做。

 

何明璐:

 

率先来说对于那种景色有二种设计方法,那两种艺术都可以满足扩张性必要

 

  1. 把原来的横表转化为纵表存储属性,即

产品表:(product_id, product_name, product_class)

出品属性表:(product_id, property_id , property_name ,
property_value)

 

  1. 保持原有横表设计思路,然则弹性字段含义单独元数据表存储

产品表:(product_id, product_name, product_class, prop1, prop2, ….
propn)

出品属性含义元数据表

(product_class , prop1_name ,prop2_name, ….. propn_name)

 

对此二种设计格局,个人驾驭为

 

a.
对于首页打开就必要求可以神速查询出来的性能,而且这几个属性本身各种产品差别不大。而对此差异大的习性基本都是对准特定一个出品查询。可以行使方案1来做。

b.
首页突显产品列表时候就存在要来得出分化出品性能景况,选择方案2来做。当咱们处理的是一个product
list的时候,由于存在数据表本身的关联场景,用方案1会比麻烦,也影响属性。

/*********************************************************/

goods_common(公共商品表)

 

规范和特性的界别是,规格影响价格,属性不影响价格,在商品分类页的是性质筛选

 

标准化名称字段

把条件名称数组连串化后存入那么些字段

例如:Array ( [1] => 颜色 ),

key对应的是规格表的id,value对应规格表的称谓

key部分是不会变的,value部分是可以被商家填商品的时候修改

 

标准值字段

把标准名称对应的值数组连串化后存入那几个字段

例如:Array ( [1] => Array ( [222] => 蓝色 [224] => 绿色
[225] => 梅红 [226] => 黑色 ) ),

首先维的key对应规范表id,

二维数组的key对应规范值表的id,value对应规范值表的名称

 

商品特性

例如:Array ( [206] => Array ( [name] => 款式 [3050] =>
毛衣 ) [207] => Array ( [name] => 材质 [3059] => 棉 ))

一维数组的key对应的是属性表的id,二维数组的name对应属性表的称呼,二维数组的第一个元素key对应属性值表id,value对应属性值表的名称

 

货物公共id

商品名称

货物宣传词

商品归类id

商品归类名称————适度冗余,减弱关联表

店铺id

合作社名称         ————适度冗余,收缩关联表

品牌id

品牌称号

品类id              ————关联类型表,并波及类型下边的性能

货物主图        
————只保留上传后图片的文书名,全路线通进度序拼接,更灵活

商品内容

商品状态         ————0 下架,1 健康

不合法原因

商品审核

复核战败原因

商品锁定

货物拉长期

货物上架时间

商品价位

市场价

成本价

折扣

店家自定义编号

运费模版

运费模版名称

是否推荐

是不是免运费

是否开具增值税发票

一流地带id

二级地区id

商厦分类id 首尾用,隔开

顶部涉嫌版式

底层关联版式

 

 

 

goods(商品主表)

加上分裂标准的货物,生成多条商品音信,sku是见仁见智的,

商品SKUid

货物公共id

商品名称(+规格名称)

商品宣传词

店铺id

商家名称

商品分类id

商品品牌Id

货物价位

市场价

供销社自定义编号

点击数据

销售数量

深藏数据

货物规格系列化,例如:Array ( [222] => 蓝色 )

货物库存

商品主图

货物状态

货物审核情形

货物增短期

货物编辑时间

一流地点id

二级地区Id

颜色规格id     ————关联商品图片表,体现颜色图片

运费模版id

是否推荐

是否免运费

是不是开具增值税发票

信用社分类id 首尾用,隔开

好评星级

评价数据

 

spec (商品规格表)

规格id

条件名称

原则排序

分类id

分类名称

 

spec_value (商品规格值表)

规格值id

基准值名称

规格id

分类id

合作社id     ————不一样的店家,规格值不相同

原则颜色

皇冠直营现金网官方网,排序

 

attribute(商品属性表)

属性id

性能名称

类型id

特性值列

是不是出示

排序

 

attribute_value(商品属性值表)

属性值id

属性值名称

属性id

类型id

属性值排序

 

category(商品分类表)

分类id

分类名称

系列id    
————添加商品时选拔分类,根据项目id,类型规格表,关联规格id,取出规格

 

项目名称

父级id

排序

标题

关键字

描述

 

type(商品类型表)

类型id

序列名称

排序

分类id

分拣名称

 

type_spec(类型标准关联表)

类型id

规格id

 

goods_image(商品图片表)

商品图片id

商品公共id

店铺id

颜色规格id     ——关联商品表的颜料id,浮现在详情页部分

商品图片

排序

是不是默许         ——是否是封面上显得的图样

相关文章