我正在讨论是否对我的博客和维基使用相同的DB。由于两者都是开源的,并且都安装了所需的表,这对于两个应用程序来说都是非常少量的表,所以我在考虑只使用一个数据库来表示这两组表。
这样做是常见且安全的吗?我很犹豫,因为我总是为我创建或使用的每个应用程序创建一个新的DB。但在这种情况下,我不想每月从我的共享主机上再花10美元来让另一个SQL2008DB托管一个维基…它很小,而且我是唯一一个使用维基的人。我只想将wiki指向我已经运行的现有博客数据库,并让wiki向导自动将表生成到该数据库中,并将两组表都保存在那里。
发布于 2010-03-26 11:49:12
出于这个原因,一些软件提供了为应用程序所需的所有表设置表前缀的选项。如果这对于至少一个应用程序不可用,那么您将面临对象名称冲突的风险。
发布于 2010-03-26 11:53:23
除非您能够控制应用程序,否则不会。它们很可能在现在或将来发生名称冲突()。如果他们专门使用存储过程,那么您可以控制该层的所有内容,以消除表名的歧义,或者确保每个表名都符合自己的模式。
如果您自己设计系统,您可能会使用SQL Server 2005及更高版本的架构功能,以便对数据库对象进行逻辑分组,因此它们不会彼此重叠。
发布于 2010-03-26 11:54:25
通常的做法是使用多个模式。当您的表不是完全限定时,不会发生对象名冲突。
使用多个模式共享资源开销(每个RDBMS实例占用内存和固定磁盘)。如果数据库很小,那么在同一机器上运行单独的SQL Server或Oracle实例就太过分了。
此外,在一个数据库上有多个“租户”也是很常见的。每个都有自己的专用模式,有时用于同一个应用程序。
研究方案。
https://stackoverflow.com/questions/2521014
复制相似问题