AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 973
Accepted
Scott
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 6 个回答
  • 16464 Views

6 个回答

  • Voted
  1. Best Answer
    Gary
    2011-01-29T12:41:39+08:002011-01-29T12:41:39+08:00

    Oracle 的数据建模器可以对现有数据库进行逆向工程。他们曾经为它收费,但现在可以免费使用。

    • 21
  2. ScottCher
    2011-02-08T13:56:28+08:002011-02-08T13:56:28+08:00

    尽管我承认,我们正在使用Sybase 的 PowerDesigner,但它对于您想要的东西来说有点矫枉过正。我们用于支持我们的全部软件工程工作,从绘制需求收集用例的图表、捕获这些需求、概念和物理模型(数据库、面向对象的代码、基础设施等)、需求/功能验证矩阵......

    基本上任何面向 UML 的东西都可以帮助我们从 IT 角度发现、架构、跟踪和实施业务解决方案。

    不要被“Sybase”这个名字所迷惑——它支持许多主要的 RDBMS 和 UML 图表格式,并为它们提供了模板。它是一个非常酷的工具。

    • 9
  3. 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”以了解其工作原理的详细信息。

    • 6
  4. jcolebrand
    2011-02-01T06:22:47+08:002011-02-01T06:22:47+08:00

    我知道 SQLServer 与 Visio 一起工作;我不确定 Oracle 是否这样做,从未尝试过,但 Visio 有很多技巧。

    此外,如果您从事的业务相当大,Visio 并不难获得一份副本,尽管许可证可能有点丰富。但是相当大的企业中的专业团队通常已经拥有 Visio,所以这没什么大不了的。

    如果有人可以否认或确认 Visio 会像对 SqlServer 一样为 Oracle 执行此操作,那将是非常棒的。

    • 5
  5. 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 中所有表的图表。

    • 2
  6. 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的产品经理。

    • 1

相关问题

  • 在数据仓库中实现多对多关系有哪些方法?

  • ORDER BY 使用文本列的自定义优先级

  • 舒服的sqlplus界面?[关闭]

  • 如何在数据库中找到最新的 SQL 语句?

  • 如何使用正则表达式查询名称?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve