「フィールド」と「値」を動的に作成できる適切なデータベース構造を作成するための支援が必要です。次の 5 つのテーブルを使用する予定です。
- 特性カテゴリ
- グループ
- 特性グループ
- 人々
- 特性値
TraitCategories
テーブルには、特徴のカテゴリ (つまり、「フィールド」)のみが保持されます。つまり、髪の色、身長などです。カテゴリは、必要に応じて追加/削除できます。
Groups
テーブルには、アドホック/動的グループ ラベル (アジア、南米など) が保持されます。
TraitGroupings
TraitCategories
はとの結合テーブルですGroups
テーブルは外部キーを介しPeople
てテーブルにリンクされるため、とテーブルGroups
の間の関係を利用して、特性のさまざまなカテゴリ (フィールド) が割り当てられます。Groups
TraitCategories
しかし問題は、特性カテゴリ/フィールドに1 人あたりの値をどのように割り当てるかということです。
テーブルの各行にandをTraitValues
含めることを考えていたので、テーブルと テーブルとテーブルの両方の間に関係があります。このアプローチは理にかなっていますか?このアプローチにより、テーブルを介して特性のカテゴリと値を取得できますか?person_id
trait_category_id
TraitValues
People
TraitCategories
People