2016-08-28 145 views
0

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

我想注册不同的公司使用Web服务。

例如:

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

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

请建议最好的设计。

例。

User 3,4 belongs to User A

User 5,6 belongs to User B

+1

是的,你是正确的,你已经与自己管理多对多的关系.. –

回答

0

在一般情况下,我会建议通过识别所有你想坚持的实体开始。这听起来像你在你的问题中有两个不同的实体。一个是“用户”,代表一个人。你的第二个实体是“公司”。 “用户”可以属于公司。

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

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