我有一个用户表数据库就像这样:什么是存储此信息的最佳方式?
table users:
user_id (int)
user_name (varchar)
etc..
该用户将能够填补几个类似的要求:
- 最低工资(INT)
- 拥有驾照(布尔)
- 我的其他需求(文本)
返回值在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)的多对多关系。
编辑
注:我已经在user表中列25,所以它将使任何区别,如果我加3至6诉求列?为了眼睛,它将在1张桌子上获得大量信息。
把它放在一个单独的表中的原因是,用户的需求是一个自我的实体。当前端调用user-> get()函数时,我只需要使用这些数据。所有其他时间我需要使用用户的信息,我不需要有这些需求。 – pascalvgemert
需求是什么样的实体?在它上面看起来它被表示为一个简单的字符串。 –
如果你划分的责任,你将有用户,他的信息,用户的要求,例如用户的更新等。 但也许我现在想的困难.. – pascalvgemert