我有一個沒有任何外鍵的數據庫。我已經做了一些檢查,並且有一些孤兒記錄很少。將外鍵構建到遺留數據庫的技巧
它是一個相當大的數據庫,500個+表,我期待在建立外鍵回的可能性。
除了隨着時間的推移,雖然每一個表拖網?
以前有沒有人經歷過這個過程,也許可以提供一些見解或提示,如何使過程變得更容易。
任何幫助建議表示讚賞。
我有一個沒有任何外鍵的數據庫。我已經做了一些檢查,並且有一些孤兒記錄很少。將外鍵構建到遺留數據庫的技巧
它是一個相當大的數據庫,500個+表,我期待在建立外鍵回的可能性。
除了隨着時間的推移,雖然每一個表拖網?
以前有沒有人經歷過這個過程,也許可以提供一些見解或提示,如何使過程變得更容易。
任何幫助建議表示讚賞。
我假設你的意思是「沒有任何外鍵限制」......如果沒有外鍵,你根本不知道哪些記錄匹配。
主鍵和外鍵字段的名稱是否相同?如在PK表中有一個「CustomerId」字段和FK表也有一個「CustomerId」字段?如果是這樣,您可以查詢列屬性(可能使用INFORMATION_SCHEMA,您沒有提到RDBMS)來找出某些隱含的關係。只要查詢所有具有名爲「CustomerId」的字段的表不是PK,並且有一個很好的(但不是確定的)賭注,那些表應該對Customer表具有FK約束。你甚至可以使用查詢的輸出來生成DDL來創建約束。
您可以從最大到最小的表格工作,也可以從數據庫的最低性能區域開始。添加密鑰應該會顯着提高你的性能,但你必須先解決孤行問題。您可能需要業務方面的意見。期待他們對發生的事情感到困惑。
這在多數情況下密鑰確實匹配並不是一個壞主意。是的,我的意思是「約束」 – 2010-09-17 16:19:30