0

開発には PHP 5.3 と MySQL 5.5 を使用しています。私の状況は次のとおりです。

  • グループに割り当てられたユーザーがいます (n 対 1 の関係。各ユーザーには 1 つのグループがあります)。
  • 各グループのユーザーには、他とは異なる独自のフィールドとプロパティがあります。(ユーザーごとにこれらのフィールドを保存する必要があります)

したがって、動的フィールドを格納するために、fieldsテーブルを作成しました。

Fields:
  field_id
  group_id
  field_name
  field_type

各グループのフィールド名とタイプを保持し、それらの値のテーブルを作成しました。

Field_Values
  user_id
  field_id
  field_value

しかし、私は知りたいのですが、これが最善の方法ですか?

グループごとに個別のテーブルを作成するのはどうですか? それは悪い結果をもたらしますか?(クエリが簡単になると思うので)またはこれを処理する他の効率的な方法はありますか?

有用な情報やヒントをいただければ幸いです。

4

2 に答える 2

1

ドキュメントストアとして表示してみませんか? ユーザー ID をキーとして使用し、フィールドを JSON (または XML) として保存します。次に、ユーザーごとに 1 つのグループを作成しますが、フィールドは完全に一意にすることができます。

于 2013-10-17T22:15:26.290 に答える