0

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

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

我现在做的事情如下:

  • 存在一个单独的数据库:用户、身份(user_id、用户名、密码)。
  • 在每个公司的每个数据库中也存在一个用户表,包含关于用户的相同数据(实际上只有 3 个字段:名字、姓氏、时区)。

有没有更好的解决方案?如果您对此问题有疑问:) 请询问。

我正在使用 php + mysql。

4

1 回答 1

2

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

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

一个简单的图像: 关于如何划分用户表的示例

在您的公司数据库中,然后您可以在用户表中拥有其他基于公司的用户数据,但公共数据应在每个存储中仅保留一次...

编辑:ORA 存储只是例如,您也可以使用 MySQL 数据库...

于 2012-05-15T10:38:59.467 回答