Database design 将用户设置放在数据库的Users表上是否不好?

Database design 将用户设置放在数据库的Users表上是否不好?,database-design,Database Design,我开发了两个中小型web应用程序,并且养成了(可能是坏习惯)将用户设置直接存储在Users表上,每列一个设置值。我这样做是因为它很简单,而且似乎是保持事情简单的好方法 由于每个用户总是拥有每个设置,是否有任何理由将这些设置与用户表分开?特别是由于不同的设置将具有不同的类型?根据我的经验,它取决于应用程序、其体系结构以及您期望从用户表中获得的行为。由于数据库规范化以及一段时间后可能会有大量冗余数据,因此最好将其分离到几个表中 有些用户可能具有相似的属性和设置,您可以将它们映射到第二个表上的相同设置

我开发了两个中小型web应用程序,并且养成了(可能是坏习惯)将用户设置直接存储在Users表上,每列一个设置值。我这样做是因为它很简单,而且似乎是保持事情简单的好方法


由于每个用户总是拥有每个设置,是否有任何理由将这些设置与用户表分开?特别是由于不同的设置将具有不同的类型?

根据我的经验,它取决于应用程序、其体系结构以及您期望从用户表中获得的行为。由于数据库规范化以及一段时间后可能会有大量冗余数据,因此最好将其分离到几个表中

有些用户可能具有相似的属性和设置,您可以将它们映射到第二个表上的相同设置,这样可以显著减少冗余数据。此外,数据库不需要为简单的设置修改而更新包含大量列的记录,而是更改第二个表上的一个或两个值

此外,如果您决定在web应用程序中实现基于角色的体系结构,则可以更好地管理用户

我建议阅读更多关于数据库规范化的内容


我看不出有什么不好的原因,但它可能因应用程序而异