多用户数据库设计

multiple users Database design

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

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

例如:

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

请提出最佳设计方案。

例如

User 3,4 belongs to User A

User 5,6 belongs to User B

一般来说,我建议首先确定您要保留的所有实体。听起来您的问题中有两个不同的实体。一个是 "user,",代表一个人。您的第二个实体是 "company." A "user" 可以属于一家公司。

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

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