我有 3 个用户角色,ADMIN、GURDIAN、STUDENT。我有使用 uniqueID(即 GurdianID、StudentID)链接的 GurdianProfile 和 StudentProfile 表。这是连接“gurdianLogin”表和“studentLogin”表的链接。
我的问题是:构造“用户登录”表的标准方法是什么?我应该使用一张表来存储不同类型的用户(即所有 3 种类型的用户)吗?还是使用 3 个不同的表在单个数据库上使用不同类型的用户更好?
最佳实践和策略或建议是什么?
注意:我使用的是 ColdFusion、MySQL
最佳答案
如果您只有一个登录点,我认为将凭据分布在 3 个不同的表中是一个缺陷,因为如果您添加了第 4 种用户类型,那么您将不得不更新您的登录系统以合并新的用户类型。因此,我会使用单个用户表,然后如果您的监护人/学生/管理员配置文件需要单独的表,请将它们链接到用户表。
_User_
id
email
username
password (this better not store the password in plain text..)
_GuardianProfile_
id
userid (links to user table)
(GuardianProfile fields)
_StudentProfile_
id
userid (links to user table)
(StudentProfile fields)
_AdminProfile_
id
userid (links to user table)
(AdminProfile fields)
如果三种配置文件类型中的列相同,则将其压缩到一个带有类型列的表中可能有意义。
关于mysql - 在数据库中存储登录详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28329532/