MySQL食谱集合

时间:2014-03-07 11:58:12

标签: mysql database database-design

为食谱设计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

我想我可以为每个食谱设置一个新表,但我确信这不是正确的方法......

3 个答案:

答案 0 :(得分:0)

您的数据库应包含2个表:

配方:( PRIMARY KEY)ID_RECIPE,NOUM_RECIPE,DESCRIPTION_RECIPE,TYPE_RECIPE    成分:(主要)ID_INGREDIENT,(外键)ID_RECIPE,NOUM_INGREDIENT,    TYPE_INGREDIENT,AMOUNT,UNIT

答案 1 :(得分:0)

这实际上取决于你想对数据做些什么。

如果您只想存储和显示食谱,我只需创建一个表recipes,其中包含成分,方法等字段。

E.g。

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)

答案 2 :(得分:0)

我建议如下。

你有许多'基础'成分 - 如鸡蛋,蔬菜,水果 - 你可以按照一种方法将不同数量的各种成分组合在一起产生一定量的其他成分 - 例如草莓酱。然后,该成分可以与其他成分一起使用,以产生一定量的另一种成分 - 例如蛋糕 - 再次遵循一种方法。如果您愿意,可以继续进行个人膳食和膳食计划。

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