【发布时间】:2013-03-23 14:02:07
【问题描述】:
如您所知,当您拥有像博客这样的应用程序时,用户可以发布文章、画廊、创建静态页面、编辑器编辑它们...
你有这样的表:
- 文章
- 作者
- 编辑
- 画廊
- 静态页面 等等。
如果您想创建一个每个用户都可以创建自己的博客的博客服务怎么办?
当我们再次查看上面的示例时,我们必须在每个表上创建一些额外的表和字段。
部分用户可以订阅我们的服务,并创建他们的博客:
订阅者 博客 订阅者 ID 作者 blog_id 编辑 blog_id 画廊 blog_id 静态页面 blog_id
你必须检查每个请求,如果用户拥有该博客,是否被授权等等。
如您所见,这让一个简单的博客软件极其复杂。
除此之外,是否有任何应用程序或云服务可以在我的软件上使用它的 api 并使用应用程序 sql 以及当我的用户注册并开始使用他们的服务时创建一个全新的干净数据库实例?
我现在非常坚持...任何帮助将不胜感激。
【问题讨论】:
-
您仍然可以允许用户使用一个数据库创建自己的博客。如果您想使用单独的 API,则必须管理用户登录该服务的详细信息以及相关的密钥(这可能违反也可能不违反 API 的服务条款)
-
听起来您正在尝试学习如何编程和设计数据库。在这种特殊情况下,可能值得您花时间搜索与您想要的功能相似的开源软件 - 看看他们是如何做到的。一本关于数据库设计/规范化的基础书籍肯定会有所帮助。
标签: php mysql cakephp partitioning multi-tenant