2013-03-23 37 views
0

正如你知道,当你有一个像博客的应用程序,用户可以发表文章,画廊,创建静态页面,编辑编辑他们...如何在每个用户的应用程序上创建新的数据库或数据库实例?

你有一个像表:

  • 文章
  • 作者
  • 编辑
  • 画廊
  • 静态页 等

如果你想创建一个博客服务,每个用户都可以创建他们自己的博客,该怎么办?

当我们再看上面的例子时,我们必须在每个表上创建一些额外的表和字段。

一些用户可以订阅我们的服务,并建立自己的博客:

用户 博客 subscriber_id 作者 blog_id 编辑 blog_id 画廊 blog_id 静态页面 blog_id

而且你必须检查每个请求,如果用户有该博客,被授权等等。

正如您所看到的,这是一个非常复杂的简单博客软件。

取而代之,是否有任何应用程序或云服务可以在我的软件上使用它的api,并使用apps sql和我的用户注册并开始使用其服务时创建新的干净数据库实例?

我现在很坚持这一点...任何帮助将不胜感激。

+0

您仍然可以允许用户使用一个数据库中创建自己的博客。如果你想使用一个单独的API,你将不得不管理用户登录的详细信息到该服务和相关的密钥(这可能会或可能不会违反API的服务条款) – acutesoftware 2013-03-23 14:08:08

+0

这听起来像你正在试图学习编程和设计数据库。在这种特殊情况下,您可能值得花时间搜索开源软件,它可以完成类似于您想要的任何操作 - 了解它们是如何实现的。关于数据库设计/规范化的基本书肯定是有益的。 – 2013-03-28 02:37:40

回答

2

我有点困惑。

  1. 你想拥有一个博客服务,人们可以注册并获得有自己的博客网站?
  2. 你想把每个新的博客用户放在一个单独的数据库上?

除非您打算拥有数十万用户您真的只需要1个数据库即可启动。

我不认为你需要创建额外的表或字段。所有链接到作者的表都应该有一个author_id字段或一个连接表。

所以.. 博客们在注册时会被放入作者。

作者将包含那里ID。

所有其他表将通过id字段或连接表与该id相关联。所以如果你从文章,画廊等选择... 你会简单地做

SELECT * FROM文章的WHERE AUTHOR_ID = 1234

+0

这是最好的方法。基本上你想要的就是创建它们的用户限制了对帖子的访问权限。即只允许当前登录的用户编辑他/她自己的帖子。这样,您仍然可以分配允许从* any *用户编辑/删除帖子的'admin'用户,例如,调整职位。要*仅查看特定用户的帖子,您可以通过网址(例如www.mydomain.com/posts/user1/article123)传递博客用户,或者为每个用户使用一个“子域名”,并将其用于过滤(例如user1.mydomain.com,user2.mydomain.com) – thaJeztah 2013-03-23 14:46:50

相关问题