【问题标题】:Tool to generate data dictionary from SQL file [closed]从 SQL 文件生成数据字典的工具 [关闭]
【发布时间】:2011-03-19 04:33:13
【问题描述】:

好的,所以我被骗为我工作的 Oracle 数据库做一些数据库设计。问题是,我不是一个数据库人:-)。我目前正在使用 Rational Application Developer (RAD) 对我的数据库模式进行建模。我最想做的是生成一系列 Word 文档,其中包含来自我的 DB 架构的信息(主要是表/列信息、约束和触发器,作为 Word 文档中的表)。

我似乎找不到任何使用 RAD 的方法,所以我想知道是否有人知道可以获取 SQL DDL 脚本文件(包含架构的 CREATE 命令)并生成 Word-输入报告?

非常感谢任何指针。

谢谢...

【问题讨论】:

  • 您在 ER 设计中使用什么?许多(大多数?)ERD 工具将为您生成此输出。当然,如果你是用笔和纸来做设计,那你就不走运了。
  • 您希望这些报告中的哪些信息?什么风格的布局?
  • 我正在使用 Rational Application Developer 进行 ERD 设计。它能够开发 ERD 并生成 DDL 和 Java 代码,但它没有任何报告工具。理想情况下,我希望能够生成包含数据库设计中每个表的列信息的报告。

标签: sql oracle database-schema


【解决方案1】:

直接对 Oracle 数据字典表本身运行命令可能最简单,而不是尝试解析包含 create 语句的 SQL 文件。

例如,要获取架构 X 中的所有表,您可以这样做:

SELECT table_name FROM all_tables  WHERE owner = 'X'

要获取表“T”、所有者“U”的所有列,您可以这样做:

SELECT column_name FROM all_tab_columns WHERE table_name = 'T' AND owner = 'U'

完整示例

这是一个完整的示例,它允许您为“所有者”拥有的所有表取回所有表及其列。只需一条 SQL 语句即可完成:

SELECT t.table_name
     , c.column_name
  FROM all_tables t
     , all_tab_columns c
 WHERE t.TABLE_NAME = c.TABLE_NAME
   AND t.OWNER      = c.OWNER
   AND t.OWNER      = 'owner'
ORDER BY t.TABLE_NAME
       , c.COLUMN_NAME

至于将数据导入 Word 文档,我只是先将数据导入文本文件,如果需要,您可以使用其他方式将其导入 Word。要将其放入文本文件,您只需在sql*plus 中运行上述命令,然后在运行SQL 语句之前将其假脱机到文本文件(即在sql*plus 中发出spool file.txt 命令)。然后你的输出将被写入一个文件。

【讨论】:

  • 很遗憾,我的数据库中还没有任何内容。我仍在使用 ER 设计工具。
  • @Steve - 您知道您可以完全免费地运行自己的 Oracle 实例吗?它被称为 Oracle Express Edition,您可以在这里获得它:oracle.com/technology/products/database/xe/index.html 我强烈推荐它,它非常适合做您现在正在做的事情,因为您不必等待 DBA 来创建您的模式,您可以在您的沙盒数据库上执行此操作。另外,这使您可以对您的设计进行所有调整等,并在打扰 DBA 之前得到您想要的。如果这样做,您将能够使用上述解决方案。
  • @Steve,您可以将 DDL 导入 Oracle SQL Developer 的姊妹工具 - Oracle Data Modeler 并获取关系模型报告,尽管我不知道这些报告是否有用。
【解决方案2】:

Table reports 等,可从 Oracle SQL Developer 获得。但是,需要访问模式才能获取相关信息。

如果您正在对数据库进行建模,因此无法访问工作模式,则可以将 DDL 文件加载到由 Oracle Data Modeler 维护的模型中(您可能需要先检查此许可证)和然后得到关系模型报告(大部分反映物理数据库模型的报告)。

【讨论】:

  • 此时,我仍处于 ER 设计模式。管理员还没有创建 Oracle 数据库,所以我没有要处理的实例。
  • 是的,我从其他评论中发现了这一点。我已经编辑了我的答案以反映相同 - 您可以尝试使用 Oracle Data Modeler。
  • +1:我自己只看到了 Oracle Designer 所需的输出,虽然我不记得它是 Word 还是文本文件。
  • @OMGPonies - 设计师没有使用开箱即用的 Word,尽管我记得有一些第三方销售将 Des2K 输出转换为 Word 文档的插件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-12
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多