Php 用户和公司-数据库方案

Php 用户和公司-数据库方案,php,mysql,Php,Mysql,我正在开发一个项目管理应用程序,每个公司(使用我们的应用程序)都会有一个个人子域:company.domain.com。出于许多原因,我决定为每家公司使用一个单独的数据库 公司可以邀请人们(通过电子邮件)一起参与项目。一个用户可以属于多个公司(因此应该出现在多个数据库中)。但是,用户数据和登录信息存储在单独的数据库中,因为每个公司的用户使用相同的用户名、密码,每个公司的名字和姓氏都相同 我现在做的是: 存在一个单独的数据库,其中包含:用户、标识(用户id、用户名、密码) 每个公司的每个数据库中

我正在开发一个项目管理应用程序,每个公司(使用我们的应用程序)都会有一个个人子域:company.domain.com。出于许多原因,我决定为每家公司使用一个单独的数据库

公司可以邀请人们(通过电子邮件)一起参与项目。一个用户可以属于多个公司(因此应该出现在多个数据库中)。但是,用户数据和登录信息存储在单独的数据库中,因为每个公司的用户使用相同的用户名、密码,每个公司的名字和姓氏都相同

我现在做的是:

  • 存在一个单独的数据库,其中包含:用户、标识(用户id、用户名、密码)
  • 每个公司的每个数据库中都有一个users表,其中包含关于用户的相同数据(实际上只有3个字段:名字、姓氏、时区)
有更好的解决办法吗? 如果您对以下问题有疑问:)请提问


我使用的是php+mysql。

我不认为在更多数据表中包含用户数据是正确的-考虑冗余

如果您有一个包含用户数据的数据库,为什么不将公司数据库链接到此数据库以获取用户数据

一个简单的图像:

在您的公司数据库中,您可以在users表中包含其他基于公司的用户数据,但公共数据应在每个存储中仅保留一次


编辑:ORA存储就是一个例子,你也可以使用MySQL数据库…

没错!冗余是这里的问题。我不想将同一数据存储两次。谢谢你的回答,模式为+1。我将为多个DB选择和交叉DB外键做一些基准测试。老实说,我从未使用过<代码>多数据库< /COD>外键(但从来没有),如果我必须这样做,我会考虑使用MSSQL或更好的Oracle,但是它也应该在MySQL中运行: