Bonjour,
Je compte faire un site qui recense des recettes de cuisine avec un moteur de recherche en fonction des aliments et je me demande pour quelle solution opter pour la base de données (MySQL, et le site utilisera du PHP) entre les 2 suivantes :
- mettre la liste des ingrédient de la recette entière dans un champ text et ensuite pour rechercher par ingrédient on fais une recherche tout bête dedans.
ou bien
- faire une table ingrédients (id, nomIngrédient), une recette (id, texteRecette) et une table d'association Ingredient_Recette (idRecette, idIngrédient, quantité). Ainsi quand on fait une recherche sur un aliment on récupère son id et on cherche dans la table d'association toutes les recettes qui ont cet ingrédient.
La dernière solution me semble plus efficace mais la table Ingredient_Recette risque de contenir énormément d'enregistrements et je ne sais pas si ça peut poser problème, s'il y a une limitation. De plus cette solution est plus complexe à gérer pour la partie où on ajoute des recettes car il faudra rentrer les aliments séparement et séparer également quantité et aliment.
Donc voilà laquelle est mieux ? Si la 2eme est vraiment plus efficace vaut-elle le coup d'etre implémentée avec les difficultés qu'elle comporte ?
Merci de me répondre.