2014-03-07 46 views
-1

什麼是設計食譜MySQL數據庫的最佳方式?我想有例如:MySQL的食譜收集

Pancake (thing) 
    Ingredients (thing, amount, unit) 
    flour 1.5 cups 
    baking powder 3.5 teaspoon 
    salt 1 teapoon 
    white sugar 1 tablespoon 

Meatballs (thing) 
    Ingredients (thing, amount, unit) 
    blablabla xxx cups 
    blablabla yyy teaspoon 

我想我可以建立一個新的表中的每個配方,但我敢肯定那不是正確的方式...

+0

你嘗試過什麼?您如何評估任何解決方案 - 速度,靈活性,使用場景? –

回答

0

你的數據庫應該包含2個表:

配方:(PRIMARY KEY)ID_RECIPE,NOUM_RECIPE,DESCRIPTION_RECIPE,TYPE_RECIPE 成分:(PRIMARY KEY)ID_INGREDIENT,(外鍵)ID_RECIPE,NOUM_INGREDIENT, TYPE_INGREDIENT,數量,單位

+0

像這樣http://stackoverflow.com/questions/12402422/how-to-store-a-one-to-many-relation-in-my-sql-database-mysql? – user872661

+0

是......就像那樣...... –

0

這真的d依賴於你想要對數據做什麼。

如果您只是要存儲和顯示食譜我只是想創建一個表recipes與配料的應用範圍,方法等

例如

recipes 
-------- 
id (PK, int) 
name (Varchar) 
ingredients (Varchar) 
method (Varchar) 

您可以根據需要添加額外的烹飪時間字段,準備時間。

如果你希望能夠做一個搜索的成分你可能更喜歡各種食物是在一個單獨的表。 類似這樣的:

recipes 
-------- 
id (PK, int) 
name (Varchar) 
method (Varchar) 

ingredients 
-------- 
id (PK, int) 
name (Varchar) 

recipe_ingredient 
-------- 
recipe_id (PK, int) 
ingredient_id (PK, int) 
quantity (Varchar) 
0

我會建議像下面這樣的東西。

你有許多「基地」的成分 - 如雞蛋,蔬菜,水果 - 你結合在一起以各種量產生另一種成分的量 - 如草莓醬 - 以下的方法。然後可以將這種成分與其他成分一起用於生產一定量的另一種成分 - 例如蛋糕 - 再次遵循一種方法。如果您願意,可以繼續進行個人膳食和膳食計劃。

+----------------+  +-----------------+ 
| RECIPE   |  | INGREDIENT  | 
+----------------+  +-----------------+ 
| recipe_id  |-----| ingredient_id | 
| ingredient_id |  | ingredient_name | 
| method   |  +-----------------+ 
| quantity  |   | 
| unit   |   | 
+----------------+   | 
      |    | 
      |    | 
      +-------------------+ 
      | RECIPE_INGREDIENT | 
      +-------------------+ 
      | recipe_id   | 
      | ingredient_id  | 
      | quantity   | 
      | unit    | 
      +-------------------+