2016-03-14 6 views
0

Je veux créer une base de données avec des recettes. Comment cela devrait-il ressembler?Dishes relations base de données

Par exemple laisser existe deux recettes:

Première recette: 2 oeufs avec Chees.

Seconde recette: 3 œufs avec du fromage et des haricots.

Les principaux types de plats peuvent contenir différents types d'ingrédients (fromages, haricots, autres) comment il devrait être organisé dans la base de données? Je pense que chaque ingrédient devrait avoir son propre ID (ingrédient). Mais comment c'est id doit se connecter à plat?

table plat:

DishID DishName DishType 

Table avec des ingrédients:

DishType IngredientID 

Mais dans ce cas, chaque plat doit avoir qu'un seul ingrédient, comment construire table où plat peut contenir deux ou plusieurs ingrédients?

Répondre

2

Dans le SGBDR, il s'agit d'un scénario standard plusieurs-à-plusieurs. Vous devez avoir une table du milieu pour représenter la relation "many", quelque chose comme:

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