将用户身份验证详细信息存储在单独的表中的优点

时间:2011-12-18 23:28:43

标签: database-design database-optimization

我在mysql中有一个包含所有用户数据(名字,姓氏,地址等)的用户表

但是我应该将身份验证详细信息存储在另一个表(用户名,密码)中,并通过用户ID链接这两个表吗?

这有什么意义吗?

更安全吗?

还是只是添加额外的编码?

3 个答案:

答案 0 :(得分:5)

  

这有什么意义吗?

没有

  

更安全吗?

怎么可能?数据库凭据适用于整个数据库。

  

只需添加额外的编码?

正。

答案 1 :(得分:5)

  

这有什么意义吗?

不,完全没有。

  

更安全吗?

如果有人可以访问您的用户表,他们肯定可以访问密码所在的任何其他表,所以没有。

  

还是只是添加额外的编码?

差不多。当真正没有理由首先划分数据时,你需要花费大量的JOIN来获取密码信息。

答案 2 :(得分:0)

重复使用答案模板添加我的2美分:

  

这有什么意义吗?

YES!它减少了开销。如果您只需要对用户进行身份验证,则无需获取其个人资料信息。它可以节省带宽并提高效率。

  

更安全吗?

都能跟得上

  

还是只是添加额外的编码?

嗯,它的工作稍微多一些,但值得一提,因为它是一个很好的应用程序架构。通过设计可扩展的系统,您将为自己的未来做好准备。 此外,如果您使用框架,您将感觉不到它。