joh*_*ack 4 php mysql authentication
我的 Web 应用程序将有两种 100% 不同的用户 - 在网站的领域、功能和目的上。一类用户的目的是发布博客,而另一类用户的目的是阅读博客并“关注”海报。
他们唯一的共同点是需要 ID、电子邮件、密码和其他一些元数据,例如加入日期等。
我应该尝试从同一个帐户表中提取它们,还是为每个表制作一张表?
笔记
- 需要考虑的一个潜在问题是,为了防止用户混淆,我认为这两种帐户之间的电子邮件应该是唯一的。
- 除了正常的“帐户”元数据之外,读者和作者将需要存储不同的数据集。
我会把它们分开。
TABLE User {
id
email
password
salt
created
modified
}
TABLE follower {
user_id
...
}
TABLE author {
user_id
...
}
Run Code Online (Sandbox Code Playgroud)
随着时间的推移,您的应用程序将会增长。也许现在你有两个注定的角色——但它可能会在未来发生变化。您可能有也关注其他作者的作者,或者“升级”为作者的关注者。您可能还开始添加其他“角色”并想要这样的东西:
TABLE user_role {
user_id
role_id
}
TABLE role {
id
name
}
Run Code Online (Sandbox Code Playgroud)