分离弱链接的数据库模式

时间:2010-04-27 19:24:55

标签: sql-server database-design foreign-keys schema

我的任务是重新审视我们设计的数据库架构,并在内部用于各种票证和报表系统。目前,在一个Oracle数据库模式中存在大约40个表,可能支持六个Web应用程序。

然而,他们之间有一个统一的关系:描述房间的房间表。房间名称,目的和其他数据将被投入到每个应用程序的共享表中。我最初的想法是将每个应用程序拉入一个单独的数据库,并在给定的数据库和房间数据库之间执行连接。但我发现这个解决方案可以防止SQL Server 2005中的外键约束。为每个应用程序复制一个表并保持这些多个副本同步似乎很愚蠢。

我应该把所有东西放在一个大型数据库中,还是还有其他东西可以分开表而不会丢失FK约束?

3 个答案:

答案 0 :(得分:2)

实现内置引用完整性的唯一方法是将表放在引用它的数据库中。您可能能够使用触发器实现相等的参照完整性,但它可能会非常慢。

答案 1 :(得分:0)

您可以使用SQL Server复制,在其“事务复制”模式/表单中。 http://msdn.microsoft.com/en-us/library/ms151176.aspx

答案 2 :(得分:0)

如果所有应用真正使用并依赖于房间 - 那么将它们全部保存在一个数据库中。 您仍然可以正确设置表的权限,并正常管理非重叠区域中的数据集 - 是否有任何你认为在事情发生时你将无法执行的任务?