数据库存储菜谱:如何关联两个表?我需要第三张桌子吗?

问题描述 投票:0回答:3

我想创建一个至少有两个表的食谱数据库:

  • 食谱表(有描述、成分、说明等...)
  • 成分表(成分类型、其他属性等...)

关联两个表的方法是什么?

我是否需要第三个表来存储从食谱到多种成分的多种关系?

database database-design
3个回答
15
投票

一个食谱有很多成分还是很多食谱有很多成分

我希望后者可以让你按成分找到食谱。

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

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

然后在

RecipeIngredients
中,我会输入该食谱中该成分的数量等信息。


0
投票

您可以考虑类似文本文件的文件夹,带有某种全文索引。

或者像食谱这样的表格(ID、LikeRatio、描述为文本)。再次进行全文搜索。

从理论上讲,您可以使用像 @Mike 建议的标准化模型。但从实际的菜谱来看,需要更加灵活。例如,在此模型中,没有证据表明在某个步骤中使用了上一步的结果。


0
投票
  • 所以根据要求我认为你正在创造食物 食谱应用程序将存储食物项目图像,食物项目 名称、食品成分和食品项目烹饪方法(按名称itemDescription)。那么我使用的方法是存储 firebase 数据库中的这些数据项,然后进行 不同类别集合,其中包含相关类别的食品。

  • 所以在每个集合下都会有一个自动的ID文档并且 该文件下将指定每个字段数据。像 每个食品的每个文件都会存储 itemImage、itemDescription、itemName 和 itemIngredients。

  • 我们可以通过 references 在 UI 中访问并显示所有 使用卡片在 gridveiwlistview 中使用它们。

© www.soinside.com 2019 - 2024. All rights reserved.