我有一个问题,说实话我不认为有一个答案,但我还是会试一下。 我有两个数据库[A]->公司和[B]->产品。这两个数据库都有一个Country表,然后链接到每个单独的数据库中的其他表。问题在于两个Country表之间的数据是完全重复的。因此,我必须在每个数据库中复制一些关系,并且在此基础上进行维护非常困难... 因此,我很好奇是否有一种方法可以在表之间创建跨数据库关系,以便我只能拥有一个Country+Helper表集合来管理两个数据库?谢谢!
如果要强制执行外键约束,就不能跨多个数据库进行物理关联。
您仍然可以在一个数据库中拥有核心查找/辅助表,但您只需要在其他数据库中的表上有一个推断的FK约束-这是一个逻辑假设,而不是物理约束。
你可能需要考虑拥有一个交易数据库和两个数据持久化数据库?这是很多工作,但似乎是最好的可行选项——每个写操作都会触发对“读”数据库的写入?我不确定我完全理解问题,也许?
将数据保留在第一个数据库表中,并在第二个数据库中创建一个视图。
你不能使用外键约束来实现这个。你可以通过触发器来强制关系,但这有点麻烦。
是的。将Country表保留在第一个数据库中,并创建一个视图,将database1的country表连接到database2。没有实际数据,只有视图,所以不需要担心。