我有一个像这样的用户表的数据库:
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..'
}
将其存储在数据库中的最佳方法是什么?
我知道你可以使用一对一的关系。(这将花费一个连接或单独的查询)您可以将它全部存储在一个表中。(这将需要对解码代码进行一些调整)您可以将其规范化为与需求表中的类型(int/bool/text)的多对多关系。
编辑
注意:我在用户表中已经有 25 列,所以如果我添加 3 到 6 列需求会有什么不同吗?对于眼睛来说,它会在一张表中获得大量信息。