Database 从Oracle db生成ER图(缺少外键)

Database 从Oracle db生成ER图(缺少外键),database,oracle,Database,Oracle,是否有任何软件可以从Oracle数据库自动生成ER图 我的问题是db在设计过程中有一些“噪音”,它遗漏了一些强制外键。此外,数据库的大小相当大,不能简单地通过每个表进行手动检查 如有任何帮助或建议,将不胜感激 谢谢:)好吧,如果有“丢失”的mandatry外键,那么从技术上讲,这些外键不是强制性的,也不是丢失的。但我感觉到了你的痛苦 首先,我可能会搜索共享列名且列名显示在表的主键列中的表: select a.table_name, b.table_name, a.column_na

是否有任何软件可以从Oracle数据库自动生成ER图


我的问题是db在设计过程中有一些“噪音”,它遗漏了一些强制外键。此外,数据库的大小相当大,不能简单地通过每个表进行手动检查

如有任何帮助或建议,将不胜感激

谢谢:)

好吧,如果有“丢失”的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

“不能简单地通过每个表格手动检查”。。。为什么不呢?时间不够,或者无法直接访问数据库?我的朋友,表的数量相当多。所以我会说这很费时:)生活有时就是这样:)但至少尝试找到一个更快的解决方案是值得称赞的