数据库设计 – 多用户Web应用程序数据库设计

我正在开发一个Web应用程序,它将在完成后成为托管的多用户解决方案.我正在试图找出处理我的应用程序的数据库设计的最佳方法.具体来说,我需要弄清楚如何处理多个独立的帐户.

我看到它的方式,有几个选择:
1)有一组数据库表.在每个表中,包含一个“用户”列或类似的列,将每行映射到正确的用户帐户.
2)为每个用户创建一个完全独立的数据库.出于性能原因,这似乎不是一个非常好的主意.
3)为单个数据库中的每个用户创建单独的模式.每个模式将包含每个用户的表.

你会如何处理这个问题?有没有我错过的选择?我正在使用PostgreSQL作为我的数据库,如果这对你如何处理这个问题有任何不同.

最佳答案
我几乎总是选择#1选项.如果你设计得恰到好处,你可能只需要几个作为入口点的关键表中的“用户”列,然后其他所有内容都可以从这些关键表中加入.

转载注明原文:数据库设计 – 多用户Web应用程序数据库设计 - 代码日志