用于存储食谱的数据库设计

时间:2010-07-12 02:37:01

标签: database database-design

我想制作一个我喜欢的食谱数据库,但是我在设计它时遇到了麻烦。我想至少有两张桌子:

  1. 食谱表(有描述,成分,方向等......)
  2. 成分表(成分类型,其他属性等......)
  3. 将两个表关联在一起的方法是什么?我是否需要第三个表来存储从配方到多种成分的几种关系?

    正如你可能会说的那样,我对这些东西比较陌生,只是想在第一次尝试时找出正确的方法。

    谢谢!

3 个答案:

答案 0 :(得分:13)

这是一个非常先进的链接:

  

http://www.databaseanswers.org/data_models/recipes/index.htm

但如果你真的想自己编码,我会选择第三个关系表。

欢呼声, 麦克

答案 1 :(得分:12)

一种配方是否含有多种成分或许多配方含有多种成分

我希望后者允许您按成分查找配方。

因此,您需要一个中间表来将多对多关系分解为两个一对多的关系。

Recipe(RecipeID, etc...) 
Ingredients(IngredientID, etc....)
RecipeIngredients(RecipeID, IngredientID, etc..)

然后在RecipeIngredients中,我会为该食谱提供该成分的数量等信息。

答案 2 :(得分:1)

您可以考虑使用某种文本文件夹,其中包含某种全文索引。

或者像食谱一样的表(ID,LikeRatio,描述为文本)。再次使用全文搜索。

理论上你可以使用像@Mike建议的标准化模型。但是看看实际的食谱,它需要更灵活。例如,在这个模型中,没有证据表明在前一步结果的某个步骤中使用。

相关问题