在多个数据库之间保持参照完整性

13 sql sql-server database-design

在多个数据库中保持参照完整性的最佳实践是什么?因为没有内置功能

或者分区单个数据库更好?

更新 请参阅下面的kevin示例.那是我的情况.我的库存数据库具有引用employees数据库中employeeId的表.

这些数据库目前维护在不同的位置(不同的服务器)

kem*_*002 5

对于2k05/2k08,分区单个数据库肯定更好.您可以将数据存储在多个数据库中,同时还可以使用单个数据库的功能(如外键).

话虽这么说,你不应该把所有东西都放在一个数据库中.逻辑上,当组表不适合时,我通常将它们分成它们自己的数据库.例如,我不一定将订单系统数据库和员工管理数据库放在一起.我想可能有理由这样做,但我确信你在适当的时候在逻辑上分离数据存储.

你应该看看两个数据库的交互程度.如果有很多字段可以跨数据库连接,那么我会说这可能是一个好主意.如果它可能是一个或两个链接到employee表的字段,那么它可能不值得做.另一个选择是,如果连接数很少,则将必要的表复制到清单数据库中,特别是如果它是一个表并且两个现有数据库很大且相当复杂.