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

Mysql 数据库架构更新-多个公司的用户,mysql,sql,Mysql,Sql,我的团队最初为一个特定的客户开发了一个应用程序,其主要目标是让他们的员工通过插入分配给他们的项目的任务来注册他们的工作。所有信息都与用户相关。Tasks表有一个Created_By字段,它是一个用户关系 现在必备条件发生了变化,我们需要改变应用程序,使其能够与多个客户一起工作——让我们在同一实例中称它们为公司。一个用户必须能够属于多个公司 几乎所有关于用户的信息都依赖于公司,除了他的姓名、电子邮件和凭据。我们更改了结构,并有表user、company和company\u user。 compan

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

现在必备条件发生了变化,我们需要改变应用程序,使其能够与多个客户一起工作——让我们在同一实例中称它们为公司。一个用户必须能够属于多个公司

几乎所有关于用户的信息都依赖于公司,除了他的姓名、电子邮件和凭据。我们更改了结构,并有表user、company和company\u user。 company_用户保存用户与公司之间的关系以及依赖于用户公司的数据,如其职务或职务级别

目前,其他表与用户有关系,但由于几乎所有需要的信息都在company\u User表中,我是否应该将该关系更改为company\u 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 id name user_company_id 还是像我现在这样离开

TASK id name user_id
感谢您的帮助。

用户是否可以为不同的公司执行相同的任务?否。该任务也有公司id。用户所做的一切都是针对特定公司的。如果任务已经有了一个有意义的公司id,那么它可以只有一个用户id将其链接到用户。如果任务已经将用户与公司连接起来,为什么需要用户公司呢?我知道,但每次我需要显示任务,或者其他与用户相关的表中的任何内容,我需要显示来自表company_用户的信息,例如该公司的用户jobTitle。对于company\u id和user\u id字段,我总是需要执行额外的查询,以从表company\u user获取该信息。这是我的问题,我应该保持现有的结构还是用公司用户id替换用户id。