自定义附加软件的数据库对象放置

时间:2009-01-15 11:50:19

标签: sql-server database-design

每个人对于在何处放置自定义附加组件的数据库对象(表,过程,视图等)的建议是什么 到另一个应用程序的数据库?

它们应该像这样分开:

ErpInventoryAccountingWare.dbo
CustomIntegratedPortal.dbo

或者,附加组件对象是否可以放在同一个数据库中。对象将被恰当地命名,并将采用相同的权限。

只要您准备好更改脚本以容纳其他数据库名称,将对象保留在同一服务器上但位于不同数据库中对我来说就像是一个干净的解决方案。

我正在使用SQL 2000,SQL 2005。

2 个答案:

答案 0 :(得分:1)

如果将它们放在不同的数据库中,那么应用程序数据库的备份将会遗漏它们,因此它会为应用程序的运行维护提供一个难题。

在SQL Server 2005上,如果应用程序的开发人员决定添加一个名称与您的一个名称冲突的表,那么创建自己的模式将有助于防止命名空间污染。

在SQL Server 2000上,使特定应用程序用户拥有的表将为您提供模式的一些好处,同时允许它们在同一个数据库中共存。

答案 1 :(得分:0)

取决于供应商;一些供应商在他们的数据库中不喜欢外国的东西;我见过供应商代码,删除任何不属于他们的东西。升级过程中的事情也会消失。

但如果它是一个非常稳定的表现良好的应用程序,将所有内容保持在一起是我的一个优势。只需在所有内容前加ABC_MyProc,ABC_MyTable,因此可以识别它们。