0

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

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

例如:

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

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

请建议最好的设计。

前任。

User 3,4 belongs to User A

User 5,6 belongs to User B

4

1 回答 1

3

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

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

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

于 2016-08-28T17:49:03.960 回答