我在讨论是否在我的博客和我的wiki中使用相同的数据库。由于两者都是开源的,并且都安装了所需的表,这两个应用程序的表数量非常少,我只想使用一个数据库来表示两组表。
这是常见且安全的吗?我犹豫不决,因为我总是为我创建或使用的每个应用程序创建一个新的数据库。但在这种情况下,我不想每月花费10美元从我的共享主机上获得另一个SQL 2008数据库来托管一个wiki ..它很小,而且我是唯一一个使用wiki的人。我只想将wiki指向已经运行的现有博客数据库,并让wiki向导自动将表格发送到该数据库,并在那里保存两组表。
答案 0 :(得分:1)
由于这个原因,某些软件可以选择为应用程序所需的所有表设置表前缀。如果至少有一个应用程序无法使用此功能,则会存在对象名称冲突的风险。
答案 1 :(得分:1)
除非您拥有对应用程序的控制权。他们非常可能现在或将来都会发生名称冲突。如果他们专门使用存储过程,则可以想象您可以控制该层的所有内容以消除表名称的歧义或确保每个名称保持自己的模式。
如果您自己设计系统,您可能会使用SQL Server 2005及更高版本的SCHEMA功能,以便逻辑地对数据库对象进行分组,因此它们不会相互踩踏。
答案 2 :(得分:0)
通常的做法是使用多个模式。当您的表不完全合格时,没有对象名称冲突。
使用多个模式共享资源开销(每个RDBMS实例占用内存和固定磁盘)。如果数据库很小,在同一个盒子上运行单独的SQL Server或Oracle实例是不合适的。
在数据库中拥有多个“租户”也很常见。每个都有自己的专用架构,有时用于同一个应用程序。
研究模式。