2012-04-10 77 views
0

是否有任何軟件可以從Oracle數據庫自動生成ER圖?從Oracle數據庫生成ER圖(缺少外鍵)

我的問題是,數據庫在設計過程中有一些「噪音」,它遺漏了一些強制性的外鍵。此外,db的大小非常大,不能簡單地通過每個表來手動檢查。

任何幫助或建議將不勝感激。

謝謝:)

+0

「不能簡單地通過每一個表手動去檢查「...爲什麼不呢?沒有足夠的時間,或沒有直接訪問數據庫? – 2012-04-10 07:38:06

+0

桌子的數量相當大,我的朋友。所以我會說這是很費時間:) – 2012-04-10 08:05:45

+0

生活就是這樣,有時:)但至少試圖找到一個更快的解決方案的榮譽。 – 2012-04-11 01:34:38

回答

2

好了,如果有「失蹤」 mandatry外鍵,然後,從技術上說,這些外鍵不是強制性的,而不是失蹤。但我感到你的痛苦。

也許,作爲一個開始,我會尋找共享列名,列名稱將顯示在該表的主鍵列的表:

select 
    a.table_name, 
    b.table_name, 
    a.column_name 
from 
     all_tab_columns a 
join all_tab_columns b on a.table_name != b.table_name and 
          a.column_name = b.column_name 
join all_tables  u on b.table_name = u.table_name -- Exlude Views! 
join all_constraints p on a.table_name = p.table_name and 
          p.constraint_type = 'P' 
join all_cons_columns c on p.constraint_name = c.constraint_name and 
          c.column_name = a.column_name 
+0

非常感謝:)它確實有幫助:D – 2012-04-10 07:48:51