我想制作一个我喜欢的食谱数据库,但是我在设计它时遇到了麻烦。我想至少有两张桌子:
将两个表关联在一起的方法是什么?我是否需要第三个表来存储从配方到多种成分的几种关系?
正如你可能会说的那样,我对这些东西比较陌生,只是想在第一次尝试时找出正确的方法。
谢谢!
答案 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建议的标准化模型。但是看看实际的食谱,它需要更灵活。例如,在这个模型中,没有证据表明在前一步结果的某个步骤中使用。