商品表 資料庫設計

來源:互聯網
上載者:User
目前要做一個手機版商城, 在設計資料庫時遇到該問題..

比如一件衣服,這件衣服有紅色、白色、藍色,
紅色又有X,XL,XLL尺碼,
白色有S,M,X,XL
藍色有M,X,XL

對於自己設計的資料庫一直感到不太滿意,望各路大神,賜教.

此問題的引申 一般商場不可能只出售衣服 , 還有會有電子產品等等亂七八糟的 後期擴充性 要怎麼辦呢?

回複內容:

目前要做一個手機版商城, 在設計資料庫時遇到該問題..

比如一件衣服,這件衣服有紅色、白色、藍色,
紅色又有X,XL,XLL尺碼,
白色有S,M,X,XL
藍色有M,X,XL

對於自己設計的資料庫一直感到不太滿意,望各路大神,賜教.

此問題的引申 一般商場不可能只出售衣服 , 還有會有電子產品等等亂七八糟的 後期擴充性 要怎麼辦呢?

尺碼(chimas)表

id  |  mark------------1   |  X2   |  XL3   |  XLL4   |  M5   |  S

顏色(colors)表

id  |  color------------1   |  藍2   |  白3   |  紅4   |  紫5   |  灰

衣服(yifus)表

id  |  name------------1   |  大衣2   |  毛褲3   |  內衣4   |  內褲

衣服與顏色關聯(yifu_colors)表

id  |  color_id  |  yifu_id----------------------------1   |    1       |  12   |    1       |  23   |    2       |  14   |    2       |  2

衣服與尺碼關聯(yifu_chimas)表

id  |  chima_id  | yifu_id----------------------------1   |  1         |  12   |  2         |  23   |  1         |  24   |  2         |  1

依你的需求裡衣服包含款式、顏色、大小三個屬性。 自然也就是對應四個邏輯資料表了。

你之前糾結的地方在於把顏色和大小附屬於款式了。

前三個表引用二樓的

尺碼(size)表

id  |  mark------------1   |  X2   |  XL3   |  XLL4   |  M5   |  S

顏色(colors)表

id  |  color------------1   |  藍2   |  白3   |  紅4   |  紫5   |  灰

衣服(clothes)表

id  |  name------------1   |  大衣2   |  毛褲3   |  內衣4   |  內褲

第四個表可以是直接是衣服跟尺碼和顏色的關聯表

衣服樣式表(clothes_spec)

id | clothes_id | size_id | color_id------------------------------------ 1 |      1     |    1    |     2 2 |      2     |    1    |     2 3 |      1     |    3    |     1

第四個表這樣做的好處是更清晰,因為少了一個表,查起來速度也快一點。但是不足是擴充起來比較麻煩,每添加一個屬性就要向表中添加一個列。但是如果是商品量,使用者量很大的情況下,這種方式還是比較有優勢的。

擴充性是個問題,給出我的想法吧,坐等大牛給出擴充性好的方案:

id(商品id) name(商品名稱) color(顏色) size(尺碼) count(數量)
1 某衣服 red M 0
1 某衣服 red X 100
1 某衣服 red XL 200
1 某衣服 red XLL 300

查詢紅色衣服有哪些尺碼

select size from table where id={id} and color='red' and count > 0

建議你去網上找關於庫存SKU的文章和設計方法

商品表:

good_id, title, cate_id

類目屬性工作表:

cate_id, attr_id

商品屬性分類表:

attr_id, attr_label, attr_key(做alias用), attr_sort1,  顏色, COLOR, 02,  尺碼, SIZE, 1

商品屬性詳情表:

good_id, attr_value_id,attr_id, attr_value_title, attr_value_sort1, 1, 1, 紅色, 01, 2, 1, 藍色, 11, 3, 2, 19, 01, 4, 2, 20, 1

如果你要考慮後期的擴充性,建議採用MySQL的EVA結構,不然上面的幾種到擴充的時候,都比較麻煩。

這設計也太糟糕了。。SKU不能這麼設計。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.