Scott Asked: 2011-01-29 06:43:38 +0800 CST2011-01-29 06:43:38 +0800 CST 2011-01-29 06:43:38 +0800 CST Oracle 创建 ER 图和数据字典 772 我是 Oracle 数据库的新手,想为我们现有的数据库开发数据字典和 ER 图。你有任何提示、脚本和工具吗? oracle database-design 6 个回答 Voted Best Answer Gary 2011-01-29T12:41:39+08:002011-01-29T12:41:39+08:00 Oracle 的数据建模器可以对现有数据库进行逆向工程。他们曾经为它收费,但现在可以免费使用。 ScottCher 2011-02-08T13:56:28+08:002011-02-08T13:56:28+08:00 尽管我承认,我们正在使用Sybase 的 PowerDesigner,但它对于您想要的东西来说有点矫枉过正。我们用于支持我们的全部软件工程工作,从绘制需求收集用例的图表、捕获这些需求、概念和物理模型(数据库、面向对象的代码、基础设施等)、需求/功能验证矩阵...... 基本上任何面向 UML 的东西都可以帮助我们从 IT 角度发现、架构、跟踪和实施业务解决方案。 不要被“Sybase”这个名字所迷惑——它支持许多主要的 RDBMS 和 UML 图表格式,并为它们提供了模板。它是一个非常酷的工具。 user918 2011-02-16T07:43:09+08:002011-02-16T07:43:09+08:00 免费的 oracle sql 开发人员数据建模器运行良好。请注意,这是一个单独的下载,而不是与 sql developer 捆绑的下载。sql developer中的数据模型工具没有那么多功能。 http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html 它有一些视频演练。 文件-> 导入-> 数据字典。您添加到数据库的连接并决定要逆向工程的内容。 请注意,模型部分将是一团糟,并且需要您花时间使它足够整洁以供阅读。当 oracle 进行逆向工程时,它会为您提供物理模型而不是 ERD。您可以将物理模型更改为 ERD。但是,大多数人不知道 ERD 是什么,并认为 ERD 是物理模型。ERD 在您的数据模型存在的阶段具有最小的价值。没有充分的理由保留物理模型(开发人员更容易阅读)和 ERD。 至于数据字典...这通常意味着有关您的数据模型的文档。最好的方法是使用该工具并使用“评论”命令。Oracle 允许您为所有表、列和对象创建注释并将它们存储在数据库中。这样您就可以在数据库中获得可查询的文档。Sql Developer 数据建模器可以查询这个。 您可以在 GUI 中执行此操作,但我发现使用“注释”命令并将其从 sql 脚本放入数据库中,然后将其拉出,而不是单击每个对象,它会更快。谷歌“oracle sql comment”以了解其工作原理的详细信息。 jcolebrand 2011-02-01T06:22:47+08:002011-02-01T06:22:47+08:00 我知道 SQLServer 与 Visio 一起工作;我不确定 Oracle 是否这样做,从未尝试过,但 Visio 有很多技巧。 此外,如果您从事的业务相当大,Visio 并不难获得一份副本,尽管许可证可能有点丰富。但是相当大的企业中的专业团队通常已经拥有 Visio,所以这没什么大不了的。 如果有人可以否认或确认 Visio 会像对 SqlServer 一样为 Oracle 执行此操作,那将是非常棒的。 Atilla Ozgur 2011-11-17T02:20:23+08:002011-11-17T02:20:23+08:00 我在https://stackoverflow.com/questions/8140387/oracle-extract-graphical-database-representation/8149947#8149947中回答了同样的问题, 见下文。 对于免费工具,我推荐模式间谍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 中所有表的图表。 Bad Pitt 2015-05-09T14:17:01+08:002015-05-09T14:17:01+08:00 我们使用Dataedo为我们所有的数据库(Oralce 和 SQL Server)生成数据字典和 ERD。您只需连接到数据库,将架构导入存储库,您可以使用 UI 描述每个元素。该工具可以将大型数据库拆分为逻辑模块、定义缺失的 FK 和 UK、使用富文本和粘贴图像。使用物理和逻辑 FK 工具创建简单的 ERD。 每次数据库架构更改时,您都可以导入这些更改,它们会自动反映在存储库中。 带有 ERD 的数据字典导出为 PDF 或交互式 HTML。 我是Dataedo的产品经理。
Oracle 的数据建模器可以对现有数据库进行逆向工程。他们曾经为它收费,但现在可以免费使用。
尽管我承认,我们正在使用Sybase 的 PowerDesigner,但它对于您想要的东西来说有点矫枉过正。我们用于支持我们的全部软件工程工作,从绘制需求收集用例的图表、捕获这些需求、概念和物理模型(数据库、面向对象的代码、基础设施等)、需求/功能验证矩阵......
基本上任何面向 UML 的东西都可以帮助我们从 IT 角度发现、架构、跟踪和实施业务解决方案。
不要被“Sybase”这个名字所迷惑——它支持许多主要的 RDBMS 和 UML 图表格式,并为它们提供了模板。它是一个非常酷的工具。
免费的 oracle sql 开发人员数据建模器运行良好。请注意,这是一个单独的下载,而不是与 sql developer 捆绑的下载。sql developer中的数据模型工具没有那么多功能。
http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html
它有一些视频演练。
文件-> 导入-> 数据字典。您添加到数据库的连接并决定要逆向工程的内容。
请注意,模型部分将是一团糟,并且需要您花时间使它足够整洁以供阅读。当 oracle 进行逆向工程时,它会为您提供物理模型而不是 ERD。您可以将物理模型更改为 ERD。但是,大多数人不知道 ERD 是什么,并认为 ERD 是物理模型。ERD 在您的数据模型存在的阶段具有最小的价值。没有充分的理由保留物理模型(开发人员更容易阅读)和 ERD。
至于数据字典...这通常意味着有关您的数据模型的文档。最好的方法是使用该工具并使用“评论”命令。Oracle 允许您为所有表、列和对象创建注释并将它们存储在数据库中。这样您就可以在数据库中获得可查询的文档。Sql Developer 数据建模器可以查询这个。
您可以在 GUI 中执行此操作,但我发现使用“注释”命令并将其从 sql 脚本放入数据库中,然后将其拉出,而不是单击每个对象,它会更快。谷歌“oracle sql comment”以了解其工作原理的详细信息。
我知道 SQLServer 与 Visio 一起工作;我不确定 Oracle 是否这样做,从未尝试过,但 Visio 有很多技巧。
此外,如果您从事的业务相当大,Visio 并不难获得一份副本,尽管许可证可能有点丰富。但是相当大的企业中的专业团队通常已经拥有 Visio,所以这没什么大不了的。
如果有人可以否认或确认 Visio 会像对 SqlServer 一样为 Oracle 执行此操作,那将是非常棒的。
我在https://stackoverflow.com/questions/8140387/oracle-extract-graphical-database-representation/8149947#8149947中回答了同样的问题, 见下文。
对于免费工具,我推荐模式间谍http://schemaspy.sourceforge.net/。它需要 Java 运行时。查看http://schemaspy.sourceforge.net/sample/relationships.html以查看它生成的图表。
下面给出了 oracle hr 模板的简单用法。
第一个将为您提供以 EMP 开头的表格的图表。第二个将为您提供 hr schema 中所有表的图表。
我们使用Dataedo为我们所有的数据库(Oralce 和 SQL Server)生成数据字典和 ERD。您只需连接到数据库,将架构导入存储库,您可以使用 UI 描述每个元素。该工具可以将大型数据库拆分为逻辑模块、定义缺失的 FK 和 UK、使用富文本和粘贴图像。使用物理和逻辑 FK 工具创建简单的 ERD。
每次数据库架构更改时,您都可以导入这些更改,它们会自动反映在存储库中。
带有 ERD 的数据字典导出为 PDF 或交互式 HTML。
我是Dataedo的产品经理。