簡體   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