相同或多个表中的用户管理

时间:2017-03-10 05:47:59

标签: database

请就以下问题提出自己的看法。

我们有一个应用程序,包括管理员面板,Web服务和用户前端。

因此,我们正在设计一个用于用户管理的数据库。

前端用户将登录(使用用户名和密码),并且在成功登录后,我们将在会话中具有以下值 - 显示名称 - 电子邮件

Web服务用户将使用(Username + api_key或auth_hash)登录,不会创建任何会话

前端/ Web服务用户可以添加以下详细信息: 名字 姓 电话 个人资料Pic ...更多

这个

的完美数据库设计是什么

1)一个表用于存储所有信息,如:

id username password auth_key / hash display_name email first_name last_name phone profile_pic etc ..

问题: - 对于登录功能,我们在表中有额外的列。 - 为了再次获取详细信息,我们在表格中添加了额外的列。

2)两张桌子

USER_LOGIN

id username password auth_key display_name email

user_details

first_name last_name phone profile_pic

问题:

登录功能和显示详细信息都需要一些像电子邮件和名称这样的列。 如果我们将它们保存在一个表中,我们需要在获取时添加JOIN,这是我们应该避免的。 如果我们在两个表中保留电子邮件,那么这是一个安全问题。

请建议最好的方法。或者其他一些方法来实现这一点。

- 谢谢

0 个答案:

没有答案