Mysql 每个组织有多个用户的数据库设计

Mysql 每个组织有多个用户的数据库设计,mysql,database-design,relational-database,Mysql,Database Design,Relational Database,我正在设计一款主要供小型组织使用的产品。其想法是让组织的每个成员都有自己的帐户(称为子帐户)。同时,需要有任何组织的人都可以访问的数据。我正试图在两种行动方案之间做出决定 各组织的单独表格 在这个设计中,将有一个组织表和一个用户表。用户将通过外键连接到组织,共享数据将使用组织的外部id 用户集团 此处,users表中的另一个字段将指向表中的另一行(父行),该行表示组织的主帐户,并链接到所有共享数据 在这种情况下,哪种方法更好?这两种方法似乎都是合理可行的,但我倾向于为组织建立一个单独的表格,因为

我正在设计一款主要供小型组织使用的产品。其想法是让组织的每个成员都有自己的帐户(称为子帐户)。同时,需要有任何组织的人都可以访问的数据。我正试图在两种行动方案之间做出决定

各组织的单独表格 在这个设计中,将有一个
组织
表和一个
用户
表。
用户
将通过外键连接到
组织
,共享数据将使用组织的外部id

用户集团 此处,
users
表中的另一个字段将指向表中的另一行(父行),该行表示组织的主帐户,并链接到所有共享数据


在这种情况下,哪种方法更好?

这两种方法似乎都是合理可行的,但我倾向于为组织建立一个单独的表格,因为最终“组织”的概念不同于“用户”。对于一个组织,您可能需要具有与用户不同的属性(例如,在某个阶段,对于一个组织,您可能需要有多个“超级用户”),因此,将这些数据放在单独的表中,将使(a)更容易根据(b)更具可扩展性和未来证明(c)进行编码存储效率更高,标准化程度更高。

这确实让您受益匪浅。如果主用户已更改,则在organizations表中只需更改一件事。