菜肴数据库关系

时间:2016-03-14 23:06:56

标签: database tsql database-design

我想用食谱创建数据库。它应该是什么样的?

例如,让它存在两个食谱:

第一个食谱:2个带有奶酪的鸡蛋。

第二个食谱:3个鸡蛋加奶酪和豆类。

主要问题不同类型的菜肴可以包含不同类型的成分(奶酪,豆类,其他)如何在数据库中组织?我认为每种成分都应该有自己的ID(ingredientID)。但是它的身份应该如何连接到菜?

菜盘:

DishID DishName DishType

表中的成分:

DishType IngredientID

但在这种情况下,每道菜应该只有一种成分,如何制作餐桌,其中菜可以包含两种或更多种成分?

1 个答案:

答案 0 :(得分:2)

在RDBMS中,它是标准的多对多方案。您需要有一个中间表来表示“很多”关系,例如:

Create table DishIngredient
(
DishIngredientID int identity(1, 1) primary key,
DishID int,
IngredientID int,
Amount int,
)