2013-01-18 68 views
0

我已經創建了database schema,但我不確定它是否真的進行了優化。 有人可以請看看它,並幫助我優化它嗎?爲mysql優化商店架構

它有表Categories它將包含像"Pizza, Salat, Pasta, Drinks"的值。

Sizes表格將包含每個分類大小,如Pizza可能有大小small,large,family,party

prices表格將包含product_id,size_id,price

但我不確定是否sizes應加入products表或categories像我一樣。

+0

你測試了嗎?你真正的擔憂在哪裏?這聽起來更像是一個設計決策,而不是實際的優化決策。請不要陷入預先優化的反模式。去創建模式並測試選項。馬克德關於事實的決定不是理論。祝你好運! – Namphibian

回答

0

當然,您的設計可能完全反映了您的底層業務領域 - 您無法提供足夠的信息來幫助我們決定任何一種方式。我鼓勵你用言語來描述模式,首先 - 這通常有助於更好地理解關係。

我覺得你的領域的作品大致如下:

  • 一類有1種以上的產品。
  • 一個產品只屬於一個類別。
  • 一種產品有1種或多種尺寸可供選擇。
  • 產品的底價是由其尺寸決定的。
  • 一些但不是全部的產品都有澆頭。
  • 一些(但不是全部)產品可通過添加其他配料進行定製。
  • 某些定製產品的總價格由基準價格加上額外配料的總和決定。
  • 某些定製產品的總價格由基本價格加上產品尺寸的其他配料總和決定。
  • 澆頭可以添加到一個或多個產品。
  • 產品可以添加零個或多個澆頭。

這就是你在設計中展示的東西,除非你表明它是產品類別,而不是產品,它決定了哪種尺寸可用。這可能是對的。回答問題的方法是「是否有產品類別,其中並非所有產品都具有相同的尺寸?」我認爲 - 例如,飲料製造商出售各種容器尺寸的飲料。

+0

非常感謝您的留言。每個類別的大小保持不變。但是,有可能產品不可能有所有尺寸。 – user160820