2016-03-14 18 views
0

我想用食譜創建數據庫。它應該是什麼樣子?菜餚數據庫關係

例如讓它存在兩個配方:

第一個配方:2個雞蛋奶酪。

第二個配方:3個雞蛋和奶酪和豆子。

主要問題不同類型的菜餚可以包含不同類型的配料(奶酪,豆類,其他)如何在數據庫中進行組織?我認爲每種成分都應該有自己的ID(成分ID)。但它是如何連接到碟的ID?

菜表:

DishID DishName DishType 

表與配料:

DishType IngredientID 

但在這種情況下,每道菜應該只有一種成分,如何建立表,其中盤可以包含兩種或兩種以上的成分?

回答

2

在RDBMS中,它是一個標準的多對多場景。你需要有一箇中間表來表示「一對多」的關係,是這樣的:

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