多用户数据库设计

时间:2016-08-28 11:14:37

标签: database database-design multiple-users

我正在创建一个涉及可以拥有多个用户的用户的数据库模式。

我想注册不同的公司来使用网络服务。

例如:

  • 用户A或B(等)可以注册并创建公司帐户
  • 用户A可以使用其类型创建其他用户的多个帐户,类似用户B

如果用户A或B创建不同的帐户,我怎么知道这个特定用户属于用户A或B公司?我认为用户表与自己有很多很多关系(比如基本的友情设计)。

请建议最好的设计。

实施例

OscListener

User 3,4 belongs to User A

1 个答案:

答案 0 :(得分:2)

一般情况下,我建议首先确定您尝试保留的所有实体。听起来你的问题中有两个不同的实体。一个是"用户,"代表一个人。您的第二个实体是"公司。" A"用户"可以属于一家公司。

数据库设计的一个示例是用户的一个表和公司的一个表。在"用户"表,您可能希望有一个外键列引用用户所属公司的主键(唯一ID)。如果每个用户只能属于一个公司,那么这就变成了一对一的简单关系。

简而言之,我强烈建议将公司帐户与用户帐户分开处理,因为它们是根本不同的实体。