Data Modeling/Design (advice needed)
===

I'm writing a program for kitchen/recipe management.  As of now, the program can add new ingredients to the database.  My next step is to add new recipes to the database, using the ingredients.

Since each recipe will have multiple ingredients, and an unlimited number of which can be added to a recipe, creating a separate column for each ingredient selected wouldn't be efficient (i'm assuming).

So the method I've come up with to store the ingredient selections is:

1) Add a recipe_ingredients column to the recipe table in the db, and store the name of each ingredient in 1 single (text) field, separated by commas (csv style).

2) Write a php script to store the list of recipe_ingredients into an array.

3) Do the same for all other attributes (recipe_ingredients_serving_size, recipe_ingredients_calories, etc.)

So the question is: IS this method optimal, and if not, what's a better way to go about this?  Any help is GREATLY appreciated :)