多个用户站点的数据库设计

时间:2010-04-03 14:45:19

标签: database database-design

我需要处理一个需要数据库来满足多个用户的php项目。通常,这个想法类似于carbonmadebasecamp甚至wordpress mu的含义。他们迎合了多个用户,他们也是他们帐户的所有者。如果他们要取消/终止他们的帐户,页面/数据库上的任何内容都将被删除。

我不太确定我应该如何设计数据库?应该是:

  • 单个用户帐户的表格
  • 单个用户帐户的数据库
  • 或其他?

请告知我这个问题的最佳方法。非常感谢你。

1 个答案:

答案 0 :(得分:1)

我们在谈论多少用户?

副手,我喜欢为每个用户帐户建立一个单独的数据库。有很多好处:

  • 您可以保持架构(和您的应用程序代码)简单
  • 如果用户想要他们的数据库的副本,您可以将其转储并提供给他们
  • 通过将对每个数据库的访问权限限制为给定的用户帐户,您可以轻松地处理安全问题
  • 您可以通过添加更多数据库服务器来更轻松地扩展,因为您使用的是单独的数据库(所有用户都不会使用公共表)。

当然,如果您需要将更新部署到数百个数据库,这对您来说可能会有点痛苦,但这就是自动脚本的用途。

为每个用户设置单独的表的想法似乎是编码的噩梦。每次引用共享表时,都必须修改名称以匹配当前用户的副本。