- 締切済み
MYSQL テーブル作成
はじめまして。 MYSQLのテーブル作成について質問があります。 今WEBサイトからユーザにレシピを入力してもらうシステムを作っているのですが、『必要な材料』のような数がユーザの入力に依存するような場合どのようにしてテーブルを作成するべきなのでしょうか? 考えたのは 1)そのrecipeというテーブルを作って一つのcolomnに『ingredient』をつくってその中にすべてまとめて入力 2)recipeの他にingredientsというテーブルを作りその中でrecipe_idなどでレシピを表示するときに一緒に引き出せるようにする。 レシピの数が増えたり、材料の数が増えた場合、どちらのほうが結果的によいのでしょうか? よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
ご提示のフローを精査したわけではないですが、 前者はSQL的には全文検索を設定することになるとおもいますが 集計などに劣るとおもいます。 後者はおそらく正規化されたものを指しているのだと思うので 可能であれば後者の方がよいでしょう。 きちんとやるならrecipeとingredientというテーブルをつくって レシピと材料を別個で管理し、recipe_ingredientという 中間テーブルを作って、組み合わせを管理する方がよいでしょう。