1. 程式人生 > >電商商品資料庫的設計和功能介面的處理

電商商品資料庫的設計和功能介面的處理

前陣子對電商商品及其相關的內容很感興趣,總有一種不弄明白不罷休的衝勁。因此整整花了幾周的時間來了解電商商品的各種概念,參考看不同的人資料庫設計,以及參考不同的思路。網上確實有很多文章對這方面進行介紹,而且基礎、通用的概念都差不多,不過資料庫設計方向倒是有所差異。本篇隨筆針對一些介紹比較好的文章或者資料進行對比,並著手進行一定的資料庫設計和基於ABP框架+Vue+Element的後臺管理進行設計,後續可能會基於商品、會員、訂單、售後的基礎上進行一個多端的系統整合,如ABP後端API、Vue+Element的後臺管理、UniApp小程式或H5公眾號進行開發。

1、參考部分優秀的做法

關於電商商品的資料庫設計,介紹比較詳細的文章有:https://blog.csdn.net/qq_37457564/article/details/101289358,或者https://www.cnblogs.com/cnblogs-programs/articles/5651557.html 、https://blog.csdn.net/thc1987/article/details/80426063、http://www.360doc.com/content/18/0124/11/40769523_724661250.shtml、https://www.cnblogs.com/eggTwo/p/6404805.html。

這些設計理念都一致,另外關於概念的介紹,這篇隨筆:http://www.woshipm.com/pd/2122609.html 和https://www.sohu.com/a/341684657_114819也介紹的很詳細。

關於電商商品的分類,我看基本上是分為三類,包括京東、淘寶商品類別,也都基本按照這樣分級處理。關於商品的類別分類,我們可以參考一篇文件的介紹《電商商城產品三級分類》,這個文件挺好,不過沒有辦法獲得Word格式的文件用來參考。另外我們可以參考《國美的電商商品分類》,國美的商品分類很好,可以用作我們前期商品的類別資料。

後來,無意間看到了《商派ONex線上零售產品操作手冊》,這個文件的概念各方面感覺更精確,而且這個公司好像一直從事電子商務方面的諮詢、軟體開發等事宜,其中它對商品型別和商品分類的分開,我覺得更加貼切,畢竟商品的分類可以更加彈性化一些或自定義組合一些特殊的類別。

因此綜合這些考慮,把整體的概念梳理一遍,著手做一下電商商品的資料庫設計和功能介面的管理開發了。

在開始之前,我們先來參考一下電商領域的一些概念。

商品分類

商品分類,俗稱商品類別、商品目錄,指的是為了方便顧客分門別類查詢商品,同時方便商家進行商品管理的分類方式。

虛擬分類

在原商品分類基礎上,依據商品的品牌、屬性、價格等條件篩選而形成的新分類方式,例如200—300元的商品,女性滑蓋手機等分類。

商品型別

商品型別不同於商品分類,指的是依據某一類商品的相同屬性歸納成的屬性集合,例如手機型別都有螢幕尺寸、鈴聲、網路制式等共同的屬性;書籍型別都有出版社、作者、ISBN號等共同的屬性。

通用商品型別

系統內建的僅含有商品名、重量、銷售價格、簡介、庫存、品牌等基本屬性的一種商品型別。

商品規格

是依據顧客的購買習慣而獨立出來的一種商品的特殊屬性,例如顧客先選好了某一款襯衫,然後必須再選擇顏色和尺碼才可以訂購,這裡的顏色和尺碼被稱為規格。

商品關鍵詞

商品關鍵詞是商品名稱的有效補充,可以實現更多的搜尋結果匹配機會,如:索尼愛立信W910i手機中設 置商品關鍵詞“索愛W910i”,則使用者搜尋“索愛W910i”也可以找到這款手機。

版塊

商店前臺面頁的不同區域,例如特價商品、銷售排行榜、最新發貨清單等,商家可以在後臺的模版編輯中進行版塊設定來修改前臺表現樣式。

市場價

顧客購買商品時的參考價格,不作為購買支付價格。

銷售價

是普通顧客在商店中購買商品的結算價格。

會員價

顧客註冊成為商店的會員之後,購買商品所享受的價格。商家針對同一商品可以根據會員等級不同,設定不同的價格。

商品配件

是與此商品出現在同一個頁面並且可同時購買的其他商品,如:購買諾基亞N95,可同時購買手機電池、記憶體卡、藍芽耳機等配件。

相關商品

商家為了促進其它商品的銷售而將其顯示在當前商品的頁面上,這些商品就叫做相關商品。

商品

在系統中,商品是一個銷售單位,在前臺表現為一個商品詳細頁。

貨品

在系統中,貨品與商品不相同,貨品是一個庫存單位,例如“索愛W910i”是一個商品,但紅色的“索愛W910i”是一個貨品,黑色的是另一個貨品。

貨號

是貨品的唯一編號,可用於倉庫管理。

商品編號

商品的唯一編號,可用於商店前臺的商品檢索,一般使用數字編號,方便電話訂購。

標籤

是一種分組標識,可用於商品、訂單,店主可以利用標籤篩選分組,如:為某幾個商品增加“熱賣商品”的標籤,可以通過板塊設定,讓這幾個商品顯示在前臺首頁的熱賣商品區。

 

SPU:即標準化產品單位,是最接近使用者認知的產品單元。比如iphone6、iphone4、小米4都是SPU。

SKU:即庫存量單位,例如有iphone6這個SPU,當用戶購買時要確定買什麼顏色的、記憶體多大的、支援什麼網路等等。就用庫存單元SKU去規範它。庫存裡存在的東西是具體某種規格的,不同的顏色、版本、容量肯定有不同的價格和不同的SKU。

 

2、資料庫設計

電商商品有品牌、商品分類、商品型別、規格分組、規格引數、規格引數選項值、商品SPU、貨品SKU等等概念物件,我依照上面的一些設計思路,整合了這些概念,大概有如下的設計關係圖。

 其中的關係看起來很多,不過總體就那麼些概念。這裡我吸納了一位仁兄說把規格和引數作為一個表設計,用標誌欄位分開的思路。

商品引數(有些人叫商品規格引數)資訊如下所示,一般可以分為分組、屬性及屬性值。這些資訊不影響SKU,只是作為商品的一些引數展示。

 另外一些引數影響SKU的資訊,可以認為是特殊的規格引數,如下所示。

 我們選擇不同的顏色、版本等規格,可能影響我們SKU的記錄,也就是對應的銷售價格和庫存量。

其中商品品牌、商品列表比較獨立,但是商品規格及規格值等資訊設計和商品型別關聯,從而影響商品資訊。

商品其實設計的概念不少,不過都是為了使得資料更加有規律,實現更好的彈性設計。從商品管理擴展出去,還會設計到會員和積分管理相關資訊,也是一個不小的設計領域,另外還有設計到訂單管理,也是一個大的體系,但是商品是其中的關鍵,也是很多管理的開始。

 

3、軟體介面的設計

針對商品的管理,主要就是後臺資料的管理,前端介面的展示,一般就是電商領域的商品銷售了,如可以結合小程式、公眾號、官網等方式展示商品進行銷售。

我們這裡先對商品管理的介面進行設計,其中包括了商品品牌、商品分類、商品規格分組、規格定義、規格選項及它們之間的關係等功能的處理。

按照我們的功能規劃,我們定義好以下的選單

  

1)品牌管理

其中品牌管理介面如下所示。

  品牌編輯或者新增介面如下

   

 品牌資訊相對獨立,沒有和其他模組表之間有直接關係,那麼只需要維護他的基礎資料和相關的圖片資訊即可。

2)分類管理

分類設計是一個無窮級的樹列表,一般電商商品類別分為三類,我們可以通過左側樹列表快速定位,分類列表介面如下所示。

 電商的類別比較多,一個個錄入肯定有點麻煩,我就弄了一個快速的批量新增處理。

分類直接從國美商品分類中複製過來即可,非常方便。 

 其中,我們可以根據商品類別的分級層次,來自動構建分級編碼,方便以後根據編碼直接定位商品分類的一級、二級、三級資訊。

 

 3)商品型別

前面介紹過了,商品型別不同於商品分類,指的是依據某一類商品的相同屬性歸納成的屬性集合,例如手機型別都有螢幕尺寸、鈴聲、網路制式等共同的屬性;書籍型別都有出版社、作者、ISBN號等共同的屬性。

 

 其實這裡商品型別和品牌有多對多的關係。

 也和規格分組和規格引數和規格選項有相關的關係。

功能介面設計的時候,就需要考慮和這些表之間的關係維護,如基本資訊裡面和品牌關係進行繫結。

以及商品規格里面的規格及規格列表的維護。

 

 規格選項可以輸入圖片,也可以上傳圖片,到時候終端根據選擇顯示方式進行展示即可。

另外除了影響SKU的特殊規格引數外,還有一個常規的規格引數,這裡稱為商品引數。商品引數按分組的方式進行管理,如下介面所示。

而其中的引數,除了設定一些選項外(如是否可查詢、數值、單位等),和上面的規格類似,也是可以填寫列表選項的,如下所示。 

 

 

4) 商品資訊

商品資訊,除了維護SPU資訊外,還需要管理SKU和庫存資訊,因此需要綜合上面很多資訊進行分類,商品列表介面主要是提供快速商品的檢索和建立SKU記錄資訊的入口,商品列表如下所示。

其中商品分類,我們可以根據資料庫記錄進行展示並選擇過濾資料。

 商品建立及SKU記錄資訊處理,我們可以引入 hooray / vue-sku-form 元件進行資訊的建立,如下介面所示。

 

通過不同的商品規格,如顏色、記憶體等生成多個不同規格的SKU記錄,並設定對應的價格和庫存資訊。

以上就是關於電商商品的一些資料庫設計和功能介面的截圖,主要就是用來理清各個電商商品的概念,以及模組之間的關係,為後面的會員管理、訂單管理等大領域進行基礎的處理。

為了方便讀者理解,我列出一下前面幾篇隨筆的連線,供參考:

循序漸進VUE+Element 前端應用開發(1)--- 開發環境的準備工作

循序漸進VUE+Element 前端應用開發(2)--- Vuex中的API、Store和View的使用

循序漸進VUE+Element 前端應用開發(3)--- 動態選單和路由的關聯處理

循序漸進VUE+Element 前端應用開發(4)--- 獲取後端資料及產品資訊頁面的處理

循序漸進VUE+Element 前端應用開發(5)--- 表格列表頁面的查詢,列表展示和欄位轉義處理

循序漸進VUE+Element 前端應用開發(6)--- 常規Element 介面元件的使用

循序漸進VUE+Element 前端應用開發(7)--- 介紹一些常規的JS處理函式

循序漸進VUE+Element 前端應用開發(8)--- 樹列表元件的使用

循序漸進VUE+Element 前端應用開發(9)--- 介面語言國際化的處理

循序漸進VUE+Element 前端應用開發(10)--- 基於vue-echarts處理各種圖表展示 

循序漸進VUE+Element 前端應用開發(11)--- 圖示的維護和使用

循序漸進VUE+Element 前端應用開發(12)--- 整合ABP框架的前端登入處理

循序漸進VUE+Element 前端應用開發(13)--- 前端API介面的封裝處理

循序漸進VUE+Element 前端應用開發(14)--- 根據ABP後端介面實現前端介面展示

循序漸進VUE+Element 前端應用開發(15)--- 使用者管理模組的處理

循序漸進VUE+Element 前端應用開發(16)--- 組織機構和角色管理模組的處理 

循序漸進VUE+Element 前端應用開發(17)--- 選單管理

循序漸進VUE+Element 前端應用開發(18)--- 功能點管理及許可權控制  

循序漸進VUE+Element 前端應用開發(19)--- 後端查詢介面和Vue前端的整合

循序漸進VUE+Element 前端應用開發(20)--- 使用元件封裝簡化介面程式碼  

循序漸進VUE+Element 前端應用開發(21)--- 省市區縣聯動處理的元件使用

循序漸進VUE+Element 前端應用開發(22)--- 簡化main.js處理程式碼,抽取過濾器、全域性介面函式、元件註冊等處理邏輯到不同的檔案中 

循序漸進VUE+Element 前端應用開發(23)--- 基於ABP實現前後端的附件上傳,圖片或者附件展示管理

循序漸進VUE+Element 前端應用開發(24)--- 修改密碼的前端介面和ABP後端設定處理 

循序漸進VUE+Element 前端應用開發(25)--- 各種介面元件的使用(1)

循序漸進VUE+Element 前端應用開發(26)--- 各種介面元件的使用(2) 

ABP框架中一對多,多對多關係的處理以及功能介面的處理(1) 

電商商品資料庫的設計和功能介面的處理