我想用食谱创建数据库。它应该是什么样的?
例如,让它存在两个食谱:
第一个食谱:2个带有奶酪的鸡蛋。
第二个食谱:3个鸡蛋加奶酪和豆类。
主要问题不同类型的菜肴可以包含不同类型的成分(奶酪,豆类,其他)如何在数据库中组织?我认为每种成分都应该有自己的ID(ingredientID)。但是它的身份应该如何连接到菜?
菜盘:
DishID DishName DishType
表中的成分:
DishType IngredientID
但在这种情况下,每道菜应该只有一种成分,如何制作餐桌,其中菜可以包含两种或更多种成分?
答案 0 :(得分:2)
在RDBMS中,它是标准的多对多方案。您需要有一个中间表来表示“很多”关系,例如:
Create table DishIngredient
(
DishIngredientID int identity(1, 1) primary key,
DishID int,
IngredientID int,
Amount int,
)