有两个单独的用户表还是一个更好?

joh*_*ack 4 php mysql authentication

我的 Web 应用程序将有两种 100% 不同的用户 - 在网站的领域、功能和目的上。一类用户的目的是发布博客,而另一类用户的目的是阅读博客并“关注”海报。

他们唯一的共同点是需要 ID、电子邮件、密码和其他一些元数据,例如加入日期等。

我应该尝试从同一个帐户表中提取它们,还是为每个表制作一张表?

笔记

- 需要考虑的一个潜在问题是,为了防止用户混淆,我认为这两种帐户之间的电子邮件应该是唯一的。

- 除了正常的“帐户”元数据之外,读者和作者将需要存储不同的数据集。

Xeo*_*oss 5

我会把它们分开。

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)