說明:Java開源生鮮電商平台中商品的spu和sku數據結構設計與架構,包括數據庫圖標與架構分析。
1. 先說明幾個概念.
電商網站采用在商品模塊,常采用spu+sku的數據結構算法,這種算法可以將商品的屬性和商品的基本信息分離,分開維護,這樣我們就可以在不同的類目下自定義商品信息和分類的屬性信息,我們的業務系統就可以存儲不同門類的商品信息了
•SPU = Standard Product Unit
(標准化產品單元)SPU是商品信息聚合的最小單位,是一組可復用標准化信息的集合
•SKU=stockkeeping unit
(庫存量單位)SKU即庫存進出計量的單位,可以是以件、盒、托盤等為單位
•SKU、SPU與分類屬性之間的結構關系如下圖
- 基礎屬性
指設計在商品表的一些基礎字段。
其中可選的設計點有:
# 副名稱:由於商品名稱經常要加上一些促銷信息,如本商品參與什么活動之類。但經常改動主名稱
容易導致出錯,所以增加此字段來專門管理促銷信息。顯示時連接到主名稱后即可。
# 產品描述:產品描述建議另設計一表存放,對提高產品搜索、產品列表顯示有幫助。
# 狀態:常見的狀態有草稿、未發布、發布、下架等,如果是邏輯刪除的,還有“已刪除”狀態。 - 價格
如果系統支持產品SKU,那么實際價格是在產品SKU實體中管理的。
促銷價格不在這里管理,在營銷管理模塊統一管理。 - SEO相關
集中管理各類SEO相關的信息。 - 商品媒體
#主圖:由於顯示頻繁,會直接設計在產品表中(或是冗余)。
#多圖(即附圖):開發中會提供多種查看方式。 - 擴展屬性
這是設計最困難的部分,也是商品是否可以靈活擴展的關鍵。 - 庫存
庫存這里是常見的開發迭代點。
在研發早期,一般這里直接設計成支持零庫存和單一數值庫存。
在其它功能完成后,才會對這里做擴展,開發內嵌的庫存子模塊或者整合外部系統。 - 外部關聯
商品的外部關聯非常的多,這里列出了大部分,但隨着系統的擴展,肯定會有新的外部關聯實體。
所以商品模塊的開發,需要提供大量的外部接口或者Tag封裝(如商品選取器等。)
轉載自-- https://www.cnblogs.com/jurendage/p/9194551.html
