我开发了一些中小规模的Web应用程序,我已经制定了一个(可能是坏的)将用户设置直接存储在Users表上的习惯 - 每列有一个设置值。我这样做是因为它很容易,而且似乎是保持简单的好方法。
由于每个用户总是会有所有设置,是否有任何理由将设置与用户表分开?特别是因为不同的设置会有不同的类型吗?
答案 0 :(得分:2)
根据我的经验,它取决于应用程序,它的体系结构以及您期望从用户表中获得的行为。由于数据库规范化以及一段时间后可能存在的冗余数据量,因此将它与少数表分开是一种很好的做法。
某些用户可能具有相似的属性和设置,您可以将它们映射到第二个表上的相同设置,以便显着减少冗余数据。此外,数据库不需要更新具有大量列的记录以进行简单的设置修改,而是更改第二个表上的一个或两个值。
此外,如果您决定在Web应用程序中实现基于角色的体系结构,则可以更好地管理用户。
我建议您阅读有关数据库规范化的更多信息。
答案 1 :(得分:0)
我认为没有任何理由可以解决这个问题,但可能因应用程序而异。