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

时间:2014-10-22 19:14:12

标签: mysql database-design relational-database

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

单独的组织表

在此设计中,将有一个organizations表和一个users表。 users将通过外键连接到organizations,共享数据将使用组织的外部ID。

用户集团

此处users表中的其他字段将指向表中的另一行(父级),该行代表组织的主要帐户并链接到所有共享数据。

在这种情况下哪种方法会更优秀?

1 个答案:

答案 0 :(得分:1)

这两种方法看似合理且可行,但我倾向于为组织单独设置一个表格,最终构建一个“组织”的理念。与“用户”不同。您可能需要为组织提供与用户不同的属性(例如,您可能需要在某个阶段为组织提供多个超级用户),因此将这些数据放在单独的表中将使(a)更容易编码(b)更具可扩展性和面向未来(c)更高效和存储规范化。