電商商品資料庫的設計和功能介面的處理
- 2020 年 11 月 11 日
- 筆記
- 循序漸進VUE+Element, 電商商品設計
前陣子對電商商品及其相關的內容很感興趣,總有一種不弄明白不罷休的衝勁。因此整整花了幾周的時間來了解電商商品的各種概念,參考看不同的人資料庫設計,以及參考不同的思路。網上確實有很多文章對這方面進行介紹,而且基礎、通用的概念都差不多,不過資料庫設計方向倒是有所差異。本篇隨筆針對一些介紹比較好的文章或者資料進行對比,並著手進行一定的資料庫設計和基於ABP框架+Vue+Element的後台管理進行設計,後續可能會基於商品、會員、訂單、售後的基礎上進行一個多端的系統整合,如ABP後端API、Vue+Element的後台管理、UniApp小程式或H5公眾號進行開發。
1、參考部分優秀的做法
關於電商商品的資料庫設計,介紹比較詳細的文章有://blog.csdn.net/qq_37457564/article/details/101289358,或者//www.cnblogs.com/cnblogs-programs/articles/5651557.html 、//blog.csdn.net/thc1987/article/details/80426063、//www.360doc.com/content/18/0124/11/40769523_724661250.shtml、//www.cnblogs.com/eggTwo/p/6404805.html。
這些設計理念都一致,另外關於概念的介紹,這篇隨筆://www.woshipm.com/pd/2122609.html 和//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)