[PHP] B2B2C商品模块数据库设计

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

知乎:产品 SKU 凡是呀意思?与之有关的还有什么?

 

kentzhu:

每当电子商务里,一般会涉及如此几单词:商品、单品、SPU、SKU

 

简言之明了一下,SPU是标准产品单元,区分类别;SKU是库存量单位,区分单品;商品特指与公司有关的货色,可针对诺多只SKU。

 

先是,搞懂商品和单品的分别。例如,iphone是一个单品,但是当淘宝上当很多店以售卖这活之时刻,iphone就是一个商品了。

 

货物:淘宝被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,展示在详情页部分

货物图片

排序

是不是默认         ——是否是书面上出示的图

网站地图xml地图