2010-01-25 88 views
3

我有一個有點問題的,而且說實話,我不認爲有一個答案,但我給它一試無妨。SQL Server 2008中跨數據庫表的連接(關係)

所以,我有兩個數據庫[A] - >公司及[B] - >產品。兩個數據庫都有一個國家/地區表,然後將其鏈接到每個單獨數據庫中的其他表。問題是兩個國家/地區表格之間的數據是完全重複的。所以,我基本上是有重複某些關係中的每個數據庫,以及最重要的是維護只是很難...

所以,我很好奇,是有辦法創建表之間的跨數據庫的關係所以我只能擁有一套控制兩個數據庫的Country + Helper表。

在此先感謝!

回答

2

那麼你可能要考慮有一個交易數據庫,兩個數據庫實現數據持久化?很多工作,但它似乎是最好的可行選項 - 寫入中的每個事務都會觸發寫入每個「讀取」數據庫?我不確定我是否完全理解了這個問題,也許?

+0

我在想類似的事情。我正在考慮第三個數據庫[C],這個數據庫將是隻讀的,[A]和[B]將具有仍然基於[C]中的主鍵的「假」關係,我只需要在代碼中進行鏈接。不是很漂亮,但它可以降低兩個數據庫的複雜性。 – Gup3rSuR4c 2010-01-25 23:19:07

+0

嗯,這是一種方式。如果您對分片概念和RAID存儲進行一些研究,您可能會有一些想法。我認爲您希望將事務的複雜性降低到一個數據庫,然後將結果分發到每個存儲數據庫。沿着這些線的東西。 – 2010-01-26 00:34:33

0

你不能用外鍵約束上做到這一點。你可以強制與觸發器建立關係,但這有點痛苦。

4

您不能跨越多個數據庫的物理關係,執行FK約束。

您仍然可以在一個數據庫中擁有核心查找/幫助表,但是您只需從其他數據庫中的表推斷FK約束 - 這是一個邏輯假設,而不是物理約束。

0

請第一個數據庫表&在第二個數據庫中創建此表的視圖

0

是。將國家/地區表保存在第1個數據庫中,並將數據庫1的國家/地區表的視圖創建到數據庫2。沒有物理數據只有視圖,所以不需要恐慌。

相關問題