Database 应用程序范围关系的用户或用户配置文件模型

Database 应用程序范围关系的用户或用户配置文件模型,database,database-design,architecture,software-design,Database,Database Design,Architecture,Software Design,我最近读到一条tweet,它建议如果你想在未来的应用程序中避免麻烦,就应该让用户表只包含身份验证信息,并为其他所有内容提供一个用户配置文件表。也就是说,如果系统中有自行车和桃子,它们应该通过用户配置文件id链接到拥有它们的用户。tweet没有明确说明使用用户配置文件的后果。尤其是在大型web应用程序中,如果不遵循这一点,是否会对可维护性/可伸缩性产生影响?好吧,不要将其视为教条,尽管它并非毫无价值。依赖关系是一个问题:若您必须有许多不同的数据来表示特定的用户,那个么您将经常更改底层数据库。如果所

我最近读到一条tweet,它建议如果你想在未来的应用程序中避免麻烦,就应该让用户表只包含身份验证信息,并为其他所有内容提供一个用户配置文件表。也就是说,如果系统中有自行车和桃子,它们应该通过用户配置文件id链接到拥有它们的用户。tweet没有明确说明使用用户配置文件的后果。尤其是在大型web应用程序中,如果不遵循这一点,是否会对可维护性/可伸缩性产生影响?

好吧,不要将其视为教条,尽管它并非毫无价值。依赖关系是一个问题:若您必须有许多不同的数据来表示特定的用户,那个么您将经常更改底层数据库。如果所有内容都存储在一个列中,您可能会发现自己在重复“使其工作”类型/ORM以及DB运行时通信中不涉及的内容

这一切都是关于将复杂的任务拆分为更小、更不复杂的子任务:auth是独立的任务,是最重要的任务之一,它绝对值得一些专用空间。但是,您的应用程序可能没有那么大,或者与用户无关,因此将数据拆分为多个列并没有多大帮助。当涉及到软件设计时,您必须培养一种深刻的目的感和度量