我有一個公司表,它包含我公司與公司開展業務的所有公司,並且它駐留在公司數據庫中。創建與外部SQL Server數據庫的關係
我想創建一個與該表和另一個表(人員表)之間的關係,這是一個完全不同的數據庫(人員數據庫)。
這兩個數據庫都在同一臺服務器上。
我該如何做到這一點? 「
我有一個公司表,它包含我公司與公司開展業務的所有公司,並且它駐留在公司數據庫中。創建與外部SQL Server數據庫的關係
我想創建一個與該表和另一個表(人員表)之間的關係,這是一個完全不同的數據庫(人員數據庫)。
這兩個數據庫都在同一臺服務器上。
我該如何做到這一點? 「
要使用公共密鑰,你可以創建一個包含三部分限定一個視圖中選擇數據。下面我假設每個人員條目都有一個將它們連接在一起的CompanyID字段,並且dbo是模式。如果這樣的字段不存在,則需要創建並填充一個:
CREATE VIEW vCompanyPersonnel AS SELECT * FROM tblCompany t1 JOIN dbPersonnel.dbo.tblPersonnel t2 ON t1.ID = t2.CompanyID
同樣,爲了進行更新,無論是桌子和維護參照完整性,您將需要創建存儲過程和只允許應用程序使用這些特效來更新數據(無論如何,這是最佳實踐)。您還應該確保personnel表中的CompanyID字段不允許空值。有些過程要考慮:
」雖然在這種情況下你不能使用外鍵,但有一些解決方法 - 你可以使用包含在檢查約束中的觸發器或UDF。無論哪種方式,你的數據完整性並不完全是水密的:如果數據庫與父表崩潰並且你從備份中恢復它,你很容易就會被孤兒所困擾。「數據庫架構表: