SPU和SKU的作用
SPU和SKU是電商產品具有的兩個重要概念。在電商網站設計中,它對應了一件商品在數據庫表中的具體存儲方式。拋開數據庫來描述某一件商品,自然不需要額外加入這兩個比較復雜的概念,但是考慮到電商系統中對商品信息的調用非常頻繁,而數據的展現方式又各式各樣,因此如果不對商品信息在數據庫中存儲方式進行合理設計,可能會導致數據庫查詢復雜化、頁面請求變慢等問題。對前端而言,spu、sku可以對商品描述進行合理分級,便于在不同頁面根據需求展示不同詳細程度的產品信息。對后端而言,sku、sku可以統一和規范化產品的數據庫設計,減少在管理商品(增/刪/改/查)時數據庫的開銷。
SPU和SKU的定義及他們之間的關系
- SPU全稱Standard Product Unit,即標準化產品單元。簡單理解就是某一種產品。
- SKU全稱Stock Keeping Unit,即庫存量單元。即具體的一件商品。
這兩個概念字面意思上區分較為模糊,他們是在不同層次上對商品進行描述,我們可以這么理解:
標準化產品單元(SPU),標準化,即被廣泛認知的的東西。在市場中我們買賣東西,我們會說某某品牌的xx產品如何如何,而不會去說某某品牌的xx產品xx顏色xx尺寸的產品如何如何。就好比手機發布會中,說我們今年推出了一款新的手機,型號為iphone11,而不會說我們今年推出了iphone 11 128g 玫瑰金、iphone 11 128g 深空灰等等。標準化,也可以理解為對描述產品的詳細程度上的一種標準,但需要注意的是這個標準是對產品的最小粒度描述。也就是說不同的spu就是不同的產品了,如iphone11和iphone8,雖然都是iphone,但是普遍認為iphone產品的最小粒度在型號上,因此他們就是兩個產品了。
庫存量單元(SKU),顧名思義就是庫存商品單元,是要具體往外出售 的物品。SPU告訴了我們一個物品是什么東西,SKU則告訴了我們這個物品是一件具有什么特征什么規格尺寸當前是否還有庫存的東西。
注意我上面的描述中,非常謹慎地使用了產品和商品兩個詞。個人理解,產品對應市場,商品對應顧客(和銷售)。例如常說的,“9月國內手機市場排行第一名被OPPO A9拿下”(產品/spu),“我在xx商城搶購了個國行iphone x,黑色128g的,買的時候就剩x臺了”(商品/sku)
數據庫寬表設計思路
寬表的設計,我是從最精確的產品信息sku寬表開始的。通過sku的商品名稱字段關聯spu表,獲取產品信息。而在spu表中,分別通過分類字段和品牌字段去和另外兩個表關聯,獲取產品內容。
即設計4個基礎寬表,分別為sku、spu、品牌、分類,關聯邏輯如下圖所示: