如何設計SKU表結構

Martist發表於2020-08-24

spu和sku

這裡拿iphone6s舉例,它身上有很多的屬性和值, 比如

  • 毛重: 420.00 g

  • 產地: 中國大陸

  • 容量: 16G, 64G, 128G

  • 顏色: 銀, 白, 玫瑰金

spu 指的是商品(iphone6s),spu屬性就是不會影響到庫存和價格的屬性, 又叫關鍵屬性,與商品是一對一的關係,比如

  • 毛重: 420.00 g

  • 產地: 中國大陸

sku指的是具體規格單品(玫瑰金 16G),sku屬性就是會影響到庫存和價格的屬性, 又叫銷售屬性,與商品是多對一的關係,比如

  • 容量: 16G, 64G, 128G

  • 顏色: 銀, 白, 玫瑰金

所以iphone6s則會生成 3 * 3 = 9 個 sku

業務邏輯

1.同一商品不同SKU庫存和售價不同.

2.不同型別的商品具有不同的屬性名和屬性值(如汽車和服飾),所以屬性需要支援後期新增和維護.

3.在某個商品分類下通過屬性篩選商品.

4.商家某件商品的銷量統計,該件商品內幾個不同SKU的銷量統計.

5.更多…

表設計

商品表

(商品編號, 商品名稱, 商品分類編號, 賣家編號, SPU銷量, 評論數)

(1, '褲子名', 2, 1, 0, 3)

(2, '外套名', 3, 1, 0, 5)

(3, '內褲名', 4, 1, 0, 2)

(4, '襪子名', 5, 1, 0, 3)

分類表

(商品分類編號, 分類名稱, 父分類編號)

(1, 男裝, 0)

(2, 褲子, 1)

(3, 外套, 1)

(4, 內褲, 1)

(5, 襪子, 1)

SKU表(庫存表)

(SKU編號, 商品編號, SKU屬性, 價格, 庫存, SKU銷量)

(1, 1, [1:1,2:3], 99, 400, 0) //其中 [1:1,2:3] 表示 "顏色為黑色,尺碼為X"

(2, 1, [1:1,2:4], 99, 200, 0) //其中 [1:1,2:4] 表示 "顏色為黑色,尺碼為XL"

(3, 1, [1:2,2:3], 99, 300, 0) //其中 [1:2,2:3] 表示 "顏色為白色,尺碼為X"

(4, 1, [1:2,2:4], 99, 100, 0) //其中 [1:2,2:4] 表示 "顏色為白色,尺碼為XL"

上面只列出商品1這個分類的4個SKU.

屬性名錶

(屬性名編號, 屬性名, 商品分類編號, 父屬性編號)

(1, 顏色, 2, 0)

(2, 尺碼, 2, 0)

(3, 品牌, 2, 0)

上面只列出褲子這個分類的3個屬性名.

屬性值表

(屬性值編號, 屬性值, 屬性名編號)

(1, 黑色, 1)

(2, 白色, 1)

(3, X, 2)

(4, XL, 2)

(5, 七匹狼, 3)

(6, 九牧王, 3)

上面只列出褲子這個分類的6個屬性值.

商品和屬性關係表

(自增編號, 商品編號, 屬性名編號, 屬性值編號)

(1, 1, 1, 1) 商品1顏色為黑色

(2, 1, 1, 2) 商品1顏色為白色

(3, 1, 2, 3) 商品1尺碼為X

(4, 1, 2, 4) 商品1尺碼為XL

本作品採用《CC 協議》,轉載必須註明作者和本文連結
是非之外有一座花園,我們會在那裡相遇

相關文章