Here is how I would build it:
Recipe (table)
--------
recipe_id
recipe_name
recipe_short_desc
recipe_instructions
recipe_time (So you can search for recipe's that you can make in less than 15 minutes or whatever)
recipe_serves (So you can have your script automatically double/half the recipe)
Ingredient (table)
-----
ingredient_id
ingredient_name
measure_type (optional, so you can say if you measure it using liquid, weight, volume, or just by the number of cans)
RecipeIngredientGlue (table)
-----
recipe_id
ingredient_id
glue_num
ingredient_amt
ingredient_amt_type (os/cup/pound/can)
I think that should be a decent database design to get you started.
So, you would have your recipe listed in one table, then have all possible ingredients in another table (you can add to that dynamically if you want), and then add a RecipeIngredientGlue per ingredient per recipe.
Let me know if you have any questions.
Edit:
Oh, and if you want to have this be a recipe storage just for you, you could also include your pantry amounts in the ingredient table, so you could do a search for "Recipies that I have the ingredients for right now."
|