私は次のようなユーザーテーブルを持つデータベースを持っています:
table users:
user_id (int)
user_name (varchar)
etc..
このユーザーは、次のようないくつかの要件を満たすことができます。
- 最小給与(int)
- 運転免許証を持っている(bool)
- 私の他の要求(テキスト)
の戻り値は次のUser->get(user_id);
ようになります。
user_id: 1,
user_name: 'John Doe',
user_requirements: {
minimal_salary: 2000,
drivers_license: true,
demands: 'These are my demands..'
}
これをデータベースに保存するための最良の方法は何でしょうか?
私はあなたが1対1の関係を使うことができることを知っています。(結合または個別のクエリが必要になります)すべてを1つのテーブルに格納できます。(コードの微調整が必要になります)これを、要件テーブルのタイプ(int / bool / text)との多対多の関係に正規化できます。
編集
注:ユーザーテーブルにはすでに25列ありますが、3列から6列のデマンドを追加した場合、違いはありますか?目には、1つのテーブルで多くの情報を取得します。