有什么更好的方法来管理用于多个产品/环境的相同数据库表?

时间:2019-04-23 06:50:11

标签: mysql sql sql-server postgresql database-design

我有多种产品/环境,例如Google有云端硬盘,文档等。 那里有一个普通的Auth服务器,其中将包含users表。

但是我有与每个产品相关的角色表,其中包含相应产品的用户角色。

现在如何管理此角色表? 我有以下几种方法可以做到这一点,哪一种更好,为什么呢?

  1. 在主架构中创建公用表roles,并具有产品ID来链接表中的记录。
  2. 在同一模式中具有前缀为product_name的其他表。例如。 prod1_roles,prod2_roles。
  3. 例如,在同一数据库中具有不同的架构。 product1模式包含product1角色表,等等。

我应该使用哪种上述方法?为1个表创建其他数据库对我来说不可行。因此,我想采用上述任何一种方法或任何其他更好的方法,将不胜感激。

1 个答案:

答案 0 :(得分:3)

如果您所有的表都可以具有相同的列,则最好使用product_id在中央模式中只有一个。您将使用相同的模式登录所有使用不同产品的用户。这使您的安全层更易于控制。这是一个重要功能。