電商系統中商品的基本模型

    在《電商系統中的商品模型的分析與設計》中,對電商系統商品模型有一個粗淺的描述,後來有博友對貨品和商品的區別以及屬性有一些疑問。我也對此作一些研究,再次簡單的對商品模型作一個介紹。html

從SPU、SKU開始網絡

    首先咱們須要澄清上篇中的這兩個概念,在上篇文章中「貨品」是指一種概念物品,這種物品並非一個具體的實物,當它具有具體的屬性、價格時,纔是一種實物,也就是商品。「商品」就是庫存中一個具體的實物。例如:iphone6,就是一種貨品,但用戶購買的並非貨品而是商品,也就是用戶最終購買的多是:金色-16G-移動版 iphone6。換句話來講,貨品是一種產品的稱謂(如iphone6),商品是用戶購買的具體實物,具有特定的屬性(如:金色-16G-移動版)。若是以爲這樣理解仍是比較混,那麼忘記這兩個概念,下面講標準化的名稱。iphone

    咱們剛纔說的iphone6,書面稱謂叫「SPU」 Standard Product Unit (標準化產品單元),它是最接近用戶認知的產品單元,好比用戶說,我想買個iphone四、iphone六、小米4,這些都是SPU,也就是用戶廣泛認知範圍內的一種產品。然而在電商系統中只有SPU並無什麼卵用,用戶購買時確定要肯定,須要什麼顏色、多少G的,支持什麼網絡。因此,例如金色-16G-移動版 iphone6,就須要一個名稱去規範它,這個名稱叫「SKU」 Stock Keeping Unit(庫存單元),換句話理解就是庫存裏面存的東西,庫存裏存在東西確定是具體的某種規格的iphone6。基於這個理解,咱們先畫下圖:性能

image

    SPU,SKU兩個表,有各自的編碼,這方便庫存統計以及後臺系統的管理,另外價格字段是在SKU中,這應該好理解,不一樣規格的iphone6確定價格不同,另外SPU與分類和品牌關聯,如iphone6屬於「手機」分類,「蘋果」品牌。固然一個SPU也可能屬於多個分類,能夠作成多對多的關係。有了這個基礎,咱們再來看電商商品詳情頁是怎麼設計的:編碼

image

    咱們看到這個頁面實際上是一個SKU的詳情頁,由於它指定了價格、顏色、版本、容量等信息,不一樣的顏色、版本、容量實際上是不一樣的價格,不一樣的SKU。咱們若是要實現這個設計,咱們須要加兩個概念,就是「屬性」和「屬性選項」。「屬性」正如這裏的顏色、版本、容量。而「屬性選項」則是金色、銀色、移動4G版、16gb、64gb等。能夠看出「屬性」和「屬性選項」是一對多的關係,而「屬性選項」和SKU則是多對多關係,一個金色-16G-移動版 iphone6,具有「金色」、「16G」,「移動版」多個選項,而一個「金色」選項除了對應iphone6還能夠對於iphone4。咱們繼續畫圖:設計

image

    須要注意的是,屬性是對於一個分類的,這樣設計的目的主要是爲了屬性能歸類管理,也方便在添加產品時,經過分類對屬性進行篩選。例如,「手機」分類有顏色、版本、容量等屬性,而「襯衫」分類有「顏色」、「尺寸」。這裏有博友可能有疑問,若是屬性和分類是一對多的關係,那麼屬性表將會出現一些冗餘,好比「手機」、「襯衫」都有顏色屬性,可是在屬性表中就會兩條顏色的記錄甚至更多。這裏其實能夠設計爲多對多的關係。一對多的關係,能夠在商品規模小、數據量不太大的電商上適應,這樣的好處是,可讓產品發佈者更好的管理屬性選項和發佈產品,由於即使是兩個顏色的屬性,但他們的屬性選項確能夠不一樣,對於「手機」來講,可能只有黑、白、金、銀等顏色,但對於「襯衫」分類來講選項就能夠有「紅橙黃綠青藍紫」甚至有「花格」。因此能夠考慮犧牲冗餘來提升商家發佈者的體驗。接下來咱們來看另一個特性——「規格」:htm

image

「規格」表明這一個SKU具體的各項參數,是一個詳細的產品規格說明,用戶能夠經過這些參數與其餘同類手機作對比。這些參數中,部分參數將參與列表頁的篩選條件中blog

 

 

 

image

    咱們能夠注意到兩幅圖,有些規格並不能對應上。這是由於咱們在規格表中能夠設置哪些規格顯示在詳細頁中,哪些規格顯示在列表篩選條件中。最終的商品模型就是這樣:ip

image

    好了,這個電商商品模型的雛形就有了,但一個成熟的大型電商系統模型要比這個複雜的多,光是一個價格都會有一個單獨的模塊進行管理,好比市場價、進貨價、成本價等,要進行成本覈算,要與營銷活動結合,雙11折扣,或者與其餘商品打包購買價格更便宜等。總之,須要根據業務的須要進行一步一步的擴展和設計。之後有機會介紹下電商中訂單模型。get

相關文章
相關標籤/搜索