2012-02-11 20 views
0

ユーザーが自分のプロファイルに関心を追加できるFacebookになじみ深いものを作成しています。MySQLの1つまたは複数のテーブルのプロファイルデータ

これを行う1つの方法は、プロファイルテーブルにInterestsという名前のフィールドを設定し、インタレストIDをリストすることです。フィールドインタレストは次のようになります:1,4,43,66ここで、各数字はインタレストテーブルの関心を表します。私はそれぞれの興味の名前を得るためにPHPを使って興味分野を爆発させなければならないでしょう。

profileID, interestID 
1   1 
1   4 
1   43 
1   66 

同じことを達成するであろう:

これを実行する別の方法は、次のようになります第三のテーブルを持つことです。

私はデータベースではあまり働かなかった。私はMySQLを使用します。どちらが最善の方法ですか?理解していない場合は教えてください。

ありがとうございました!

答えて

1

あなたの2番目の方法は、一緒に行く方法です。それは本当に皆さんの要件に依存しますが、第2のものはより柔軟です。どちらの場合でも、「ユーザーXはどのような関心事を持っていますか?」という質問に答えることができますが、2番目のユーザーだけで「ユーザーはYに関心を持つものは何ですか?」と答えることができます。また、それはあなたが2つのルックアップ/クエリを行うのではなく、1つを行うことができますので、あなたが結合を行うことができます。

+0

ありがとうございました!第2のアプローチには欠点がありますか? –

+0

2番目のアプローチは最も標準的なアプローチです。私が見ることができる特定の欠点はありません。 – Art

関連する問題