說明:Java開源生鮮電商平臺中商品的spu和sku數據結構設計與架構,包括數據庫圖標與架構分析。html
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