如何最好地规范人事数据库,已给出 table 个选项

How to best normalize a personnel database, table options given

我有一个应用程序,我在其中仅使用他们的电子邮件和密码注册用户。然后,他们填写个人资料,其中包括他们的个人信息,例如电话号码、地址、一周的工作时间等。

我现在很困惑是将所有数据存储在同一个 table 中还是具有以下内容:

users(用于身份验证),persons(用于配置文件),address(用于嗯,地址),numbers(你明白了要点)。

我想知道 DBA 对此的意见。您将如何为 500 人的用户群设计此数据库,给予或接受。如果我将所有字段(现在大约 30 个)保留在同一个 table 中,长 运行 会不会有问题?

将站点使用的数据与发票数据分开是个好主意。

当您在用户登录后显示主页时,您通常希望显示用户名和头像。此外,您还可以使用电子邮件和其他帐户信息进行登录。这可能是您希望始终随身携带的一些东西。然后把它移到一个table。

地址(发票、送货等)和 phone 号码通常分开存储,因为您只有在下订单时才需要这些。

经验法则:将列数控制在 30 以下,尽可能少地阅读 table。当然你应该正确设计(永远不要混合实体等),但这个规则是一个简单的检查你没有创造糟糕的东西。