發(fā)現(xiàn)字段有些對不上的情況,能看懂我就不改了
表關系:
分類表 <= 商品表 <= SKU表(庫存表)
分類表 <= 屬性名 <= 屬性值
商品表 <= 商品和屬性關系表 => 屬性名|屬性值
業(yè)務邏輯:
1.同一商品不同SKU庫存和售價不同.
2.不同類型的商品具有不同的屬性名和屬性值(如汽車和服飾),所以屬性需要支持后期添加和維護.
3.在某個商品分類下通過屬性篩選商品.
4.商家某件商品的銷量統(tǒng)計,該件商品內(nèi)幾個不同SKU的銷量統(tǒng)計.
5.更多...
分類表:
(商品分類編號, 分類名稱, 父分類編號)
(1, 男裝, 0)
(2, 褲子, 1)
(3, 外套, 1)
(4, 內(nèi)褲, 1)
(5, 襪子, 1)
商品表:
(商品編號, 商品名稱, 商品分類編號, 賣家編號, SPU銷量, 評論數(shù))
(1, '褲子名', 2, 1, 0)
(2, '外套名', 3, 1, 0)
(3, '內(nèi)褲名', 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全文檢索實現(xiàn)篩選.
如:
select * from 商品表
inner join 商品和屬性篩選表
on 商品表.商品編號 = 商品和屬性篩選表.商品編號
where 商品表.商品分類編號 = 2
and 商品和屬性篩選表.商品具有的屬性值編號 MATCH '1 3'
order by 商品表.評論數(shù) DESC LIMIT 10 OFFSET 20;
商品搜索表:
(商品編號, 商品標題和內(nèi)容)
(1, [無需詞典,二元分詞])
用SQL全文檢索實現(xiàn)搜索.