【发布时间】:2015-04-20 06:02:15
【问题描述】:
我想知道在下一个场景中如何在数据库中设计表的最佳方式是:
我的公司、客户和员工有一些共同的领域,而另一些则完全不同。最重要的是他们都有一个用户名、电子邮件和密码,以便能够登录管理系统。然后我想知道在表格中组织所有数据的最佳方法。此刻我在想
- 用户(id、role_id、电子邮件、用户名、密码)
- user_role (id, parent_id, name) -- company|client|employee
- user_role_link (user_id, role_id)
- 公司(id、user_id、姓名、...)
- 客户端(id、user_id、first_name、last_name、...)
- 员工(id、user_id、first_name、last_name、start_date、end_date、...)
这样我只需要在用户登录时检查表用户,但我不知道是公司、客户还是员工(我必须检查所有表)。
我对此有点困惑,然后我不知道该怎么做......
感谢您的帮助。
【问题讨论】:
-
如果你有一个 user_role 表(这似乎是一个合理的想法),那么我真的看不出在 user 表中有一个 role_id 列有什么意义。
标签: mysql database database-design database-schema