【发布时间】:2011-12-18 23:28:43
【问题描述】:
我在 mysql 中有一个用户表,其中包含所有用户数据(名字、姓氏、地址等)
但是我应该将身份验证详细信息存储在另一个表中(用户名、密码)并通过用户 ID 链接这两个表吗?
这有什么意义吗?
它更安全吗?
还是只是增加了额外的编码?
【问题讨论】:
标签: database-design database-optimization
我在 mysql 中有一个用户表,其中包含所有用户数据(名字、姓氏、地址等)
但是我应该将身份验证详细信息存储在另一个表中(用户名、密码)并通过用户 ID 链接这两个表吗?
这有什么意义吗?
它更安全吗?
还是只是增加了额外的编码?
【问题讨论】:
标签: database-design database-optimization
这有什么意义吗?
不,一点也不。
它更安全吗?
如果有人可以访问您的用户表,他们肯定可以访问密码所在的任何其他表,所以不能。
还是只是增加了额外的编码?
差不多。如果一开始确实没有理由分割数据,那么您将不得不大量使用 JOINs 来获取密码信息。
【讨论】:
这有什么意义吗?
没有。
它更安全吗?
怎么可能?数据库凭据适用于整个数据库。
只是添加额外的编码?
没错。
【讨论】:
重复使用答案模板来增加我的 2 美分:
这有什么意义吗?
是的!它减少了开销。如果您只需要对用户进行身份验证,则不需要获取他们的个人资料信息。它可以节省带宽并制作高效的表格。
它更安全吗?
没有
还是只是增加了额外的编码?
嗯,它的工作量稍大一些,但值得,因为它是良好的应用程序架构。通过设计一个可以扩展的系统,你正在为你未来的自己一个忙。 此外,如果您使用框架,您将不会感觉到它。
【讨论】: