Sql 将2个应用程序合并到一个数据库中?

Sql 将2个应用程序合并到一个数据库中?,sql,sql-server-2008,Sql,Sql Server 2008,我正在讨论是否对我的博客和维基使用相同的数据库。由于两者都是开源的,并且都安装了所需的表,这对于这两个应用来说都是非常少的表,所以我考虑只使用一个数据库来表示这两组表 这样做是否常见且安全?我很犹豫,因为我总是为我创建或使用的每个应用程序创建一个新的DB。但在这种情况下,我不想每月再花10美元从我的共享主机上获得另一个SQL 2008 DB来托管wiki。它很小,而且我是唯一一个使用wiki的人。我只想将wiki指向已经运行的现有博客数据库,让wiki向导自动将表生成到该数据库,并将两组表都保存

我正在讨论是否对我的博客和维基使用相同的数据库。由于两者都是开源的,并且都安装了所需的表,这对于这两个应用来说都是非常少的表,所以我考虑只使用一个数据库来表示这两组表


这样做是否常见且安全?我很犹豫,因为我总是为我创建或使用的每个应用程序创建一个新的DB。但在这种情况下,我不想每月再花10美元从我的共享主机上获得另一个SQL 2008 DB来托管wiki。它很小,而且我是唯一一个使用wiki的人。我只想将wiki指向已经运行的现有博客数据库,让wiki向导自动将表生成到该数据库,并将两组表都保存在该数据库中。

一些软件提供了为应用程序所需的所有表设置表前缀的选项。如果您至少有一个应用程序无法使用此功能,则您将面临对象名称冲突的风险。

除非您可以控制这些应用程序。它们现在或将来很可能发生名称冲突。如果他们只使用存储过程,可以想象,您可以控制该层的所有内容,以消除表名的歧义,或确保每个表名都保持其自己的模式


如果您自己设计系统,您可能会使用SQL Server 2005及更高版本的模式功能,以便对数据库对象进行逻辑分组,因此它们不会相互重叠。

使用多个模式是常见的做法。当表未完全限定时,不会发生对象名称冲突

使用多个模式共享资源开销(每个RDBMS实例占用内存和固定磁盘)。如果数据库很小,在同一个机器上运行单独的SQL Server或Oracle实例就太过分了

在一个数据库上有多个“租户”也是很常见的。每个应用程序都有自己的专用模式,有时用于同一个应用程序


研究模式。

感谢对象名称冲突是我说服自己不要尝试这个方法所需要的一切。LOL。使用模式进行分离怎么样?跨架构可以有重复的对象名称。