關於商城系統中商品類別的設計

2021-06-18 07:18:52 字數 1835 閱讀 1919

以xizishop為例,如下效果圖:

上圖紅色方框所示為一級類別。

上圖所示為二級類別、**類別和篩選條件類別,以及篩選條件的值。

資料庫設計步驟如下:

【步驟一】對於一級類別、二級類別,**類別,我統一把它們放在一張表裡面,名曰:欄目表(t_columns),各級的父子關係通過表中的fathercol這一列去進行關聯。如下圖:

【步驟二】建立好儲存一級類別、二級類別和**類別的表之後,再開始考慮「篩選條件表」(表名稱:t_filtercategory)和「篩選條件值表」(表名稱:t_filterattributes) 的設計。

然後再分析「篩選條件表」和「篩選條件值表」之間的對應關係。

同乙個篩選條件可以有多個篩選條件值。例如:對於手機「品牌」來說,它下面可以有多個篩選條件值:三星、摩托羅拉、蘋果.....

同乙個篩選條件值又可以被多個篩選條件所擁有。

觀察上圖中的紅色方框內容,我發現手機「品牌」裡有「三星」,筆記本「品牌」裡也有「三星」,換句話說,「三星」既屬於手機「品牌」又屬於電腦「品牌」,這樣一來,「三星」就可以對應多個「品牌」了,因此得出結論同乙個篩選條件值有可能被多個篩選條件所擁有。

綜合上述1和2,我得出「篩選條件表」和「篩選條件值表」之間是多對多的關係。於是,按照資料庫設計規範,需要為這兩張表新增乙個中間表,名曰:(rf_filtercategory_tfilterattributes)

然後建立它們的外來鍵關聯:

然後再分析「篩選條件表」和「欄目表」之間的對應關係:

「欄目表」屬於「篩選條件表」的父表,即只有「欄目表」中的**類別才和「篩選條件表」直接關聯,如下圖:

分析它們的關係:

1:乙個**類別可以有多個篩選條件。

2:同乙個篩選條件可以被多個**類別擁有。如下圖:

如上圖:「品牌」和「**」可以同時被**類別中的「手機」和「對講機」擁有。所以,「欄目表」和「篩選條件表」之間也是多對多的關係。於是又需要建乙個 中間表,名曰:(rf_columns_filtercategory),如下圖:

然後建立外來鍵關係如下圖:

設計完這一步,整個關係圖如下:

uml圖:

到了這一步,似乎資料庫已經設計的很完美了,但是它有一處致命的硬傷!

這個硬傷在哪兒呢,答案見續篇。

秒殺商城系統 商品列表頁的設計 (十)

假設商品和秒殺商品都在一張表中,秒殺活動經常以不同的形式展開,資料庫欄位也要經常改啊,那和資料庫有關的老 是不是也要一起改,當資料庫不斷修改,後期維護也比較困難。xmlns th charset utf 8 商品詳情title head class panel panel default class...

商城系統中商品模組資料庫設計的一些思考

一般我們要做的 系統比較龐大,最最基礎的就是商品表的設計,一件商品又牽扯到商品的屬性 規格 分類,每種規格又有不同的庫存和 所以資料庫設計時需要均衡考慮,乙個是方便拓展,另乙個是方便查詢。看過網上一些的設計,規格設計這塊分為橫向和縱向之說,橫向好像是說每種規格占用乙個字段,這樣規格很多之後資料庫欄位...

基於電商中臺架構 商品系統設計 一

二 概念定義 三 技術設計 四 總結 為什麼採用中臺架構前幾篇已經說明了,這裡就介紹一下基礎層和平台層的功能。商品管理 商品的基本操作 商品收藏 管理使用者收藏的商品 商品快照 儲存商品編輯的每乙個快照版本 活動打標 根據不同的活動對映到商品屬性上不同標記 銷量管理 商品的銷量統計 以及排序操作 瀏...