sql-server - "FirstName"和 "LastName"存储在数据库 USER 或 USER_PROFILE 表中?

标签 sql-server oracle database-design

目前我将用户的“FirstName”和“LastName”存储在 USER 表中,但我也有一个 USER PROFILE 表(它提供有关用户的附加信息),拥有用户的“FirstName”和“LastName”是有意义的在 USER PROFILE 表中也是如此。

那我该怎么办?制作两份“FirstName”和“LastName”?

USER 表,包含用户用于登录其帐户控制面板的用户凭据,即用户名、密码、注册日期、安全问题等

USER_PROFILE 表,包含有关用户的信息,例如地址、电话号码、出生国、国籍国等

关系

用户 1.* USER_PROFILE

最佳答案

将名字和姓氏放在用户配置文件中,除非在登录过程中需要它们。这样处理的数据就少了,而且它们比帐户信息更属于那里。仅在需要时才将登录数据留给他们,这将加快查询速度。

正如其他人所说,不要复制数据。您可以在需要时加入表格。您的用户表上应该有一个主键(最好不是用户名,他们可以更改),它是从用户配置文件表中引用的。如果您不这样做,请在考虑做其他事情之前立即添加一个。

关于sql-server - "FirstName"和 "LastName"存储在数据库 USER 或 USER_PROFILE 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672491/

相关文章:

oracle - SQL*Plus - 如何隐藏 SET ECHO OFF?

sql-server - 更改 SQL Server 中的当前数据库路径

sql-server - SignalR 使用背板横向扩展

sql - 与 "join with temp table "相比,使用 "IN clause with constant values"时会出现性能损失

sql - 跨数据库链接在 oracle 中调用存储函数(返回用户定义类型的数组)

oracle - 在oracle中创建空间数据库时无法更新user_sdo_geom_metadata

mysql - 具有多种用户类型的数据库用户场景

mysql - 哪个数据库用于存储文件路径?

database - Mysql自动增量替代方案

mysql - 如何从sql中的sql查询结果中过滤数据