我为不久前经营飞盘联盟的本地团队构建了一个应用程序。我想要构建它,并使其成为我可以提供给其他组的东西。
Jist:人们注册游戏,app创建团队,app创建日程表,每个团队都有管理员可以管理他们的联赛
问题是,我有一个数据库,它最初设置为只处理一个组的联赛。我将如何重新设计架构,以允许多个组能够登录并仅修改自己的联赛。
我的想法是创建一个“帐户”表,并将“account_id”添加到每个表中。这是一个好方法吗?我附上了架构,所以你应该能够看到我到目前为止的内容!
注意:我在Codeigniter(php)和MySQL中构建它。
答案 0 :(得分:5)
多个客户;一个托管应用程序您正在描述多租户数据库。
构建多租户数据库时,需要考虑
多租户解决方案的范围从每个租户一个数据库(无共享)到每个租户一行(共享所有内容)。
“无共享”,“单独数据库”或每个租户一个数据库
“共享所有内容”,或“共享架构”,或“每个星球上的一个数据库”
“无共享”和“共享所有内容”之间是“共享模式”。
“共享架构”
微软在multi-tenant architecture上发表了一篇很好的文章,详细介绍了这些文章。 (该链接仅适用于多页文档的一页。)