表關係:
分類表 <= 商品表 <= sku表(庫存表)
分類表 <= 屬性名 <= 屬性值
商品表 <= 商品和屬性關係表 => 屬性名|屬性值
業務邏輯:
1.同一商品不同sku庫存和售價不同.
2.不同型別的商品具有不同的屬性名和屬性值(如汽車和服飾),所以屬性需要支援後期新增和維護.
3.在某個商品分類下通過屬性篩選商品.
4.商家某件商品的銷量統計,該件商品內幾個不同sku的銷量統計.
5.更多...
分類表:
(商品分類編號, 分類名稱, 父分類編號)
(1, **, 0)
(2, 褲子, 1)
(3, 外套, 1)
(4, **, 1)
(5, 襪子, 1)
商品表:
(1, '褲子名', 2, 1, 0)
(2, '外套名', 3, 1, 0)
(3, '**名', 4, 1, 0)
(4, '襪子名', 5, 1, 0)
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
上面只列出商品1的4個屬性關係.
商品和屬性篩選表:
(商品編號, 商品具有的屬性值編號)
(1, [1,2,3,4])
用sql全文檢索實現篩選.
如:select * from 商品表
inner
join 商品和屬性篩選表
on 商品表.商品編號 = 商品和屬性篩選表.商品編號
where 商品表.商品分類編號 = 2
and 商品和屬性篩選表.商品具有的屬性值編號 match
'1 3'
order
limit
10offset
20;商品搜尋表:
(商品編號, 商品標題和內容)
(1, [無需詞典,二元分詞])
用sql全文檢索實現搜尋.
商品表(spu) 規格表(sku)設計
這裡拿iphone6s舉例,它身上有很多的屬性和值,比如 spu 指的是商品 iphone6s spu屬性就是不會影響到庫存和 的屬性,又叫關鍵屬性,與商品是一對一的關係,比如 sku指的是具體規格單品 玫瑰金 16g sku屬性就是會影響到庫存和 的屬性,又叫銷售屬性,與商品是多對一的關係,比如 ...
商品表(spu) 規格表(sku)設計
這裡拿iphone6s舉例,它身上有很多的屬性和值,比如 spu 指的是商品 iphone6s spu屬性就是不會影響到庫存和 的屬性,又叫關鍵屬性,與商品是一對一的關係,比如 sku指的是具體規格單品 玫瑰金 16g sku屬性就是會影響到庫存和 的屬性,又叫銷售屬性,與商品是多對一的關係,比如 ...
新增商品sku
1 需求 需要寫乙個新增商品的頁面,主要難點就sku 2 思路 總體來說就是前端生成適合排版的sku資料,之後經過轉換成符合介面的上傳資料,剛開始轉換的時候沒有思路也是花了點時間,畢竟不設限制的sku可以有很多,層級也很深,所以主要用的是遞迴來處理 前端排版時的資料 對應 介面上傳時的資料 對應 3...