【发布时间】:2016-10-07 06:18:42
【问题描述】:
我想创建一个数据库来显示成分和食谱之间的关系。为此,我定义了两个包含成分类型的表(以后可能会合并到一个表中):
Ingredients1
-id /primary
-name
-description
-...
Ingredients2
-id /primary
-name
-description
-...
我想使用如下所示的单个配方表:
Recipies
-id /primary
-name
-description
-item /foreign key-> quantity
-item /foreign key-> quantity
-...
看起来像这样:
现在每种成分都可以在多个配方中,每次都具有不同的数量。搜索时,我只能找到一个项目始终链接到一个组的关系。
是否可以(并且合理)设置这样一个单一的配方表(如果是,如何设置?)还是将这样的表拆分为多个表会更好?例如:
Recipedescription:
-id /primary
-name
-description
Recipeingredients:
-id /primary
-recipename /foreign
-ingrediant /foreign
-quantity
问题:单个食谱表有意义吗?如果是这样,我如何在现有食谱中添加成分?
我正在使用 python 来访问和创建数据库。
【问题讨论】:
-
为什么有两张配料表? “一个项目始终链接到一个组”是什么意思?
-
不幸的是,你的设计很差。一旦你更正了你的设计基础,你需要的 SQL 对你(和/或其他可以提供帮助的人)来说会变得更加明显
标签: python database-design sqlite foreign-keys