商品表(spu)、规格表(sku)设计
1. 先做一下專業(yè)術(shù)語解釋:spu和sku
這里拿iphone6s舉例,它身上有很多的屬性和值, 比如:
毛重: 420.00 g
產(chǎn)地: 中國大陸
容量: 16G, 64G, 128G
顏色: 銀, 白, 玫瑰金
spu指的是商品(iphone6s),spu屬性就是不會(huì)影響到庫存和價(jià)格的屬性, 又叫關(guān)鍵屬性,與商品是一對(duì)一的關(guān)系,比如:
毛重: 420.00 g
產(chǎn)地: 中國大陸
sku指的是具體規(guī)格單品(玫瑰金 16G),sku屬性就是會(huì)影響到庫存和價(jià)格的屬性, 又叫銷售屬性,與商品是多對(duì)一的關(guān)系,比如:
容量: 16G, 64G, 128G
顏色: 銀, 白, 玫瑰金
所以iphone6s則會(huì)生成 3 * 3 = 9 個(gè) sku
上面這張圖是我項(xiàng)目中用到的商品相關(guān)的幾張數(shù)據(jù)表, 請(qǐng)只關(guān)注有數(shù)據(jù)值的字段,其它為業(yè)務(wù)需要,一共包含如下5張表
1. 商品分類表 mmall_category
此表采用無限層級(jí)樹狀數(shù)據(jù)結(jié)構(gòu),程序使用遞歸算法來遍歷分類下的所有子分類,parent_id是父級(jí)分類,parent_id=0時(shí)說明是根節(jié)點(diǎn), 屬于一級(jí)類別; 如使用遞歸查詢出100034包含100037子類別,依次類推,這樣就構(gòu)成一個(gè)可以無限擴(kuò)展的數(shù)字結(jié)構(gòu);
商品分類表--mmall_category
商品表--------mmall_product
商品規(guī)格表--mmall_product_specs
屬性key表---mmall_attribute_key
屬性value表-mmall_attribute_value
2. 商品表 mmall_product(也稱spu表)
spu表中關(guān)鍵字段是category_id和attribute_list兩個(gè)字段:
category_id記錄這個(gè)商品屬于哪個(gè)分類, 用于通過分類進(jìn)行商品搜索;
attribute_list記錄的是所有屬性集合,這個(gè)字段采用json格式存儲(chǔ),便于前端解析;前端解析后可以在頁面顯示出商品的所有屬性, 用戶點(diǎn)擊選擇出屬性組合后,前端可以拼接成{"內(nèi)存":"2G","顏色":"紅色","尺寸":"20cm"}這樣的json格式加上商品id在(商品規(guī)格表 mmall_product_specs)查詢到具體的單品,隨即獲取到具體單品的庫存和價(jià)格等信息;
3. 商品規(guī)格表 mmall_product_specs(也稱sku表)
sku表保存的是具體的單品信息,比如具體規(guī)格的庫存和價(jià)格等,核心字段是product_id和product_specs,product_id記錄的是spu表中的商品id,product_specs記錄的是該單品具體的屬性值(規(guī)格值);
4. (屬性key表 mmall_attribute_key)和(屬性value表-mmall_attribute_value)
屬性key表和屬性value表僅用于管理后臺(tái)頁面生成屬性選項(xiàng),管理員在發(fā)布新商品時(shí)勾選屬性,方便規(guī)格的錄入和保證正確性;
這里我使用了兩張橫表spu表和sku表實(shí)現(xiàn)不同商品的存儲(chǔ),spu表使用attribute_list字段保存屬性集合,查詢時(shí)使用product_id和product_specs去sku表中獲取的具體的單品信息, spu表中可以增加一些商品的公共信息字段,例如名稱、發(fā)布的商家、發(fā)布日期、上架狀態(tài), sku表中增加一些每個(gè)單品不同的字段,比如不同的單品有不同圖片和名稱或者詳情說明等等,反正根據(jù)業(yè)務(wù)進(jìn)行擴(kuò)展
總結(jié), 上述數(shù)據(jù)表設(shè)計(jì)方案適用于商品類別差異不是很大的情形,通過表的字段可以發(fā)現(xiàn)不同的商品之間變化的信息只有attribute_list字段, 而這個(gè)字段通過json來存儲(chǔ)各種不同的屬性集合, 同樣sku表中變化的字段只有product_specs也是通過json來存儲(chǔ)各種不同屬性組合。
總結(jié)
以上是生活随笔為你收集整理的商品表(spu)、规格表(sku)设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法导论精华总结 ~ 图算法
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?