SQL Server[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 首尾用,隔开

顶部涉嫌SQL Server版式

底层关联版式

 

 

 

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,展示在详情页部分

货物图片

排序

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

相关文章