【问题标题】:Database design for storing food recipes用于存储食物食谱的数据库设计
【发布时间】:2011-03-14 14:57:21
【问题描述】:

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

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

将两个表关联在一起的方法是什么?我是否需要第三张表来存储从食谱到多种成分的多种关系?

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

谢谢!

【问题讨论】:

    标签: database database-design


    【解决方案1】:

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

    或者像Recipes(ID,LikeRatio,Description as text)这样的表格。再次进行全文搜索。

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

    【讨论】:

    • 嗯,这看起来像是在编写数据库而不是简单地使用现有数据库。然后工作就变成了数据模型的创建。
    【解决方案2】:

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

    我希望后者可以让您按成分查找食谱。

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

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

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

    【讨论】:

    • 是的,后者。我想我的大致思路是正确的,只是需要聪明的人来确认!
    【解决方案3】:

    这是一个非常高级的链接:

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

    但如果您真的想自己编写代码,我会使用第三个关系表。

    干杯, 迈克

    【讨论】:

    • 谢谢迈克,我想我会走更简单的路线,只是为了让它起步。感谢您的帮助!
    猜你喜欢
    • 2014-09-28
    • 2011-06-23
    • 1970-01-01
    • 2017-08-13
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多