繁体   English   中英

Sql Server 2008跨数据库表链接(关系)

[英]Sql Server 2008 Cross-database table linking (relationships)

我有一个问题,说实话我不认为有答案,但无论如何我都会尝试一下。

所以我有两个数据库[A] - >公司和[B] - >产品。 两个数据库都有一个Country表,然后将其链接到每个单独数据库中的其他表。 问题是两个Country表之间的数据是完全重复的。 所以,我基本上必须复制每个数据库中的一些关系,而维护之上只是很难......

所以,我很好奇有没有办法在表之间创建跨数据库关系,所以我只能有一组Country + Helper表来管理这两个数据库?

提前致谢!

您不能拥有跨多个数据库的物理关系,以强制执行FK约束。

您仍然可以在一个数据库中拥有核心查找/帮助程序表,但您只需要从其他数据库中的表中对其进行推断的FK约束 - 这是一个逻辑假设,而不是物理上受限制的东西。

那么您可能想要考虑拥有一个事务数据库和两个数据库持久性数据库? 很多工作,但它似乎是最好的可行选项 - 写入中的每个事务都会触发对每个“读取”数据库的写入? 我不确定我完全理解这个问题,也许吧?

你不能用外键约束来做到这一点。 你可以强制执行它与触发器的关系,但这有点痛苦。

保留在第一个数据库表中,并在第二个数据库中从该表创建一个视图

是。 将Country表保留在第一个数据库中,并为database2创建database1的country表的视图。 没有物理数据只有视图,所以不需要恐慌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM