数据库架构更新 - 具有多个公司的用户

时间:2014-08-22 18:35:50

标签: mysql sql

我的团队最初为特定客户开发了一个应用程序,其主要目标是让员工通过为他们分配的项目插入任务来注册他们的工作。所有信息都与用户相关(任务表有一个Created_By字段,这是一个用户关系)。

现在,必要条件发生了变化,我们需要更改应用程序并使其能够在同一实例中与多个客户端(让他们称之为公司)合作。用户必须能够属于多个公司。

除了他的姓名,电子邮件和凭据外,几乎所有关于用户的信息都依赖于公司。我们更改了结构并使用表user,company和company_user。 company_user保存用户和公司之间的关系以及用户公司相关数据,例如他的jobTitle或jobLevel。

目前其他表与User有关系,但由于几乎所有需要的信息都在company_user表中,我是否应该将该关系更改为company_user而不是User?这就是我现在所拥有的:

USER
id
name
company_id

TASK
id
name
user_id

现在我想为用户提供多家公司,因此我将其更改为

USER
id
name

USER_COMPANY
id
user_id
company_id

TASK
id
name
user_id

问题是,我应该将TASK表更改为

TASK
id
name
user_company_id

或者像我现在一样离开它?

TASK
id
name
user_id

感谢您的帮助。

0 个答案:

没有答案