【发布时间】:2011-12-29 17:39:42
【问题描述】:
如何提取(逆向工程)Oracle 数据库(表及其关系;具有列和数据类型...)的图形(模式)表示。是否有(免费)工具可以做到这一点?
我认为 Oracle SQL Developer 没有这样的功能...
【问题讨论】:
-
这里可能有更多的主题:dba.stackexchange.com
-
在this so post更好地讨论
如何提取(逆向工程)Oracle 数据库(表及其关系;具有列和数据类型...)的图形(模式)表示。是否有(免费)工具可以做到这一点?
我认为 Oracle SQL Developer 没有这样的功能...
【问题讨论】:
有一个相关的 Oracle 工具,SQL Developer Data Modeler,它可以进行逆向工程,它是免费的。 Find out more.
【讨论】:
Sql Developer 会执行此操作(检查 SQL Modeller 选项)以及更多其他功能。一个非常好的工具!
【讨论】:
对于免费工具,我推荐架构间谍http://schemaspy.sourceforge.net/。 它需要 Java 运行时。 查看 http://schemaspy.sourceforge.net/sample/relationships.html 以查看它生成的图表。
这个工具也更适合自动构建脚本。
下面给出了oracle hr模板的简单用法。
SET JDBC_ORACLE_JAR=C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.jar
SET CONNECTION_USERNAME=hr
SET CONNECTION_PASSWORD=hr
SET TNS_DATABASE_NAME=orcl
SET SCHEMA_NAME=HR
SET TABLE_NAME='EMP'
SET OUTPUT_NAME=HR_EMP
java -jar schemaSpy_5.0.0.jar -dp %JDBC_ORACLE_JAR% -db %TNS_DATABASE_NAME% -o schemaOutput%OUTPUT_NAME% -u %CONNECTION_USERNAME% -p %CONNECTION_PASSWORD% -i %TABLE_NAME%.* -schemas %SCHEMA_NAME% -hq -noviews -loglevel severe
java -jar schemaSpy_5.0.0.jar -dp %JDBC_ORACLE_JAR% -db %TNS_DATABASE_NAME% -o schemaOutput%OUTPUT_NAME% -u %CONNECTION_USERNAME% -p %CONNECTION_PASSWORD% -schemas %SCHEMA_NAME% -hq -noviews -loglevel severe
第一个将为您提供以 EMP 开头的表格的图表。 第二个将为您提供 hr schema 中所有表的图表。
【讨论】:
Adminer 是一个很棒的 PHP 单一文件,应该能够满足您的要求。我只尝试了 MySQL,但 Oracle 也支持它。
【讨论】: