2

サイトにユーザー用のテーブルがあります。テーブルは列で構成されています

user_id, fname, lname, email, password, interest1, interest2, interest3, interest4,   
interest5

さて、このように興味を個別に保存することはあまり実用的ではないことが判明しています。これを行うためのより良い方法は何ですか。ユーザーの興味を簡単に編集/アクセスできる方法はありますか?

ありがとう。

4

4 に答える 4

2

データベースの正規化は、あなたが望むことを行います。

次のような構造の新しいinterestsテーブルを作成します。

interest      user_id
"skiing"          1
"programming"     4
 etc...

次に、次のようなクエリを使用して、特定のユーザーのすべての関心を取得できます。

SELECT `interest` FROM `interests` WHERE `user_id` = :my_user_id;
于 2012-08-27T19:02:31.080 に答える
2

ユーザーと関心の間に多対多の関係があります。興味のあるシーパート テーブルを作成し、ジャンクション テーブルを導入して、ユーザーとその興味を結び付けます。

ここに画像の説明を入力

于 2012-08-27T19:04:24.010 に答える
1

interestsuser_idとという名前の新しいテーブルを作成しますinterest

于 2012-08-27T19:01:56.557 に答える
0

それらをシリアル化します。このようにして、興味のあるものをゼロから好きなだけ保存でき、それらを非シリアル化するときに、それらを作成したのと同じデータ構造 (つまり、配列またはオブジェクト) を維持できます。

于 2012-08-27T19:03:38.680 に答える