UML软件工程组织

 

 

使用 IBM Rational Data Architect 进行 Oracle 数据库建模
 
2008-4-02 作者:Anson Kokkat 出处:IBM
 
本文内容包括:
IBM® Rational® Data Architect 是针对 IBM 数据库优化的数据库建模工具,但是也为 Oracle 等其他主流数据库提供了建模功能。了解 RDA 如何替代 Oracle Designer 的作用,了解 Oracle 的重要改进如何帮助 RDA 成为与众不同的数据建模工具。

简介

Rational Data Architect 提供了可以显著减少设计和开发时间的工具。这个软件是在开放源码的 Eclipse 平台上构建的,它可以帮助数据架构师对许多信息源中的数据进行建模、发现、映射和分析,在复杂环境中自动进行信息集成。

Rational Data Architect 不只可以用于 IBM 数据库。如果您正在寻找出色的数据建模工具,那么应该研究一下 Rational Data Architect。考虑使用 RDA 有几个原因:

  • 对 Oracle Designer 的支持即将停止,RDA 中基于 Eclipse 的工具是不错的替代工具。
  • RDA 承诺支持主流数据库厂商,在未来的 RDA 版本中支持还会增强。
  • RDA 不但能够执行健壮的数据建模,还允许使用独特的映射功能,对不同类型的模型和模型中的对象进行对比和同步,使用强大的报告特性(通过工具中的 BIRT 集成甚至进一步得到了增强),与环境中现有的 Rational 工具集成(关于 BIRT 的更多信息参见 参考资料)。另外,它与最近发布的 IBM Data Studio 产品有直接关系。

Rational Data Architect 不仅限于 IBM 数据库

Rational Data Architect 的主要特性之一是支持不同的数据库。我们来看一个真实的场景,在一个公司中有用于不同用途的不同数据库:

  1. 销售部门在 IBM DB2® 数据库中记录销售信息。
  2. 市场推广部门在 Oracle 数据库中记录客户数据。
  3. 开发部门使用 SQL Server 数据库为公司开发各种应用程序。

在需要管理这三个部门中的所有数据时,会非常麻烦并且耗费时间。Rational Data Architect 提供了一个能够操作各种数据库中所有数据的工具。

图 1. Rational Data Architect 中的 Database Explorer 视图。它可以连接许多不同的数据源
Rational Data Architect 中的 Database Explorer 视图

我们来看看在 Rational Data Architect 中可以连接哪些数据库:

IBM 数据库:

  • Cloudscape®
  • DB2 for Linux®, UNIX®, and Windows®
  • DB2 for iSeries®
  • DB2 for z/OS®
  • Derby
  • Informix® Dynamic Server

其他数据库:

  • Oracle
  • Microsoft SQL Server Enterprise
  • MySQL
  • Sybase Adaptive Server Enterprise
  • Teradata
  • 一般性 JDBC 连接

因为可以通过 JDBC 连接大多数数据库,所以实际上可以使用 JDBC 驱动程序连接您选择的任何数据库。

对 Oracle 数据库进行建模

正如前面提到的,Database Explorer 中的连接是通过 JDBC 驱动程序实现的。因此,在连接 Oracle 数据库时,首先需要 下载 用于 Oracle 数据库的 JDBC 驱动程序。

可以把它下载到您机器上的任何地方,在第一次连接 Oracle 数据库时,可以指定驱动程序的位置。

下一步是看一下 Rational Data Architect 中的 Database Explorer。

右键单击 Connections > New Connection

图 2. 在 Rational Data Architect 中创建新连接
在 Rational Data Architect 中创建新连接

在 Connection Parameters 页面中,选择 Oracle 驱动程序和适当的 Oracle 数据库版本。

图 3. 用于 Oracle 数据库的 New Connection 向导
用于 Oracle 数据库的 New Connection 向导

然后需要填写图 4 所示的值(以连接 Oracle 10g 数据库为例):

图 4. Oracle 连接信息
Oracle 连接信息
  • Connection Name:给连接指定一个名称。这个名称会显示在 Database Explorer 中。
  • JDBC Driver:选择 Oracle Thin Driver。
  • SID:如果不知道这一信息,可以向管理员询问。
  • Host:如果不知道这一信息,可以向管理员询问。
  • Port Number:如果不知道这一信息,可以向管理员询问。
  • Class Location:这是安装 Oracle JDBC 驱动程序的位置。
  • Connection URL:在填写完以上信息时,应该会自动填写这个字段。
  • User Information:提供用来连接 Oracle 数据库的用户 ID 和密码。

如果在连接时遇到问题,常见的调试技术是在 RDA 之外尝试用用户 ID/密码进行连接,看看连接是否成功。

可以在数据库上执行的操作由连接数据库所用的用户 ID 和密码的权限决定。

图 5. 登录时指定的用户 ID 和密码决定权限
登录时指定的用户 ID 和密码决定权限

连接之后,就可以执行 RDA 提供的所有数据建模活动。

我们来看几个通过 Database Explorer 执行的数据建模活动。

数据可视化

以图形化形式查看数据的功能比大多数人想的重要得多。在处理复杂的数据库环境时,数据库的视图确实很有帮助。它可以帮助您对复杂的环境进一步优化设计和维护。数据可视化可以采用图表形式,可以在数据模型中创建图表,还可以在 Database Explorer 中查看各种信息。

RDA 中的图表很丰富。可以通过图表查看逻辑数据模型中每个实体的细节:

图 6. RDA 中的图表功能
RDA 中的图表功能

可以为 Oracle 和其他数据库生成的图表有很多,甚至可以生成概况图:

图 7. 分组显示实体的概况图
分组显示实体的概况图

在 Database Explorer 中也有一些强大的信息展示功能,可以通过它们了解数据库中数据的情况。可以查看 Oracle 和其他数据库中的数据,甚至可以编辑数据。

按照以下步骤查看 Oracle 数据库中的数据(注意:这些步骤也适用于其他数据库):

  1. 用适当的凭证连接 Oracle 数据库,见图 5。
  2. 展开数据库,显示要操作的模式和数据表。
  3. 右键单击表,选择 Data > Sample Contents。在属性窗口的数据输出中会显示数据。

    图 8. Database Explorer 中的数据示例
    Database Explorer 中的数据示例
     
  4. 通过右键单击表并选择 Data > Edit,还可以编辑数据。在这里,可以用编辑器修改表中的任何字段。

    图 9. 在 Editor 窗口中编辑数据
    在 Editor 窗口中编辑数据

数据建模功能

从头创建数据模型的基本步骤涉及到识别业务需求,这些业务需求最终会转换为数据模型。

图 10. 从业务需求创建数据模型的流程
从业务需求创建数据模型的流程

Rational Data Architect 支持创建逻辑数据模型和物理数据模型。可以从业务需求轻松地创建逻辑数据模型,并把它转换为反映数据库设计的物理数据模型。

这些数据建模活动支持创建:

  • 逻辑数据模型 —— 数据库设计的 “草图”;其中包含实体和属性。
  • 物理数据模型 —— 物理表和列的蓝图。
  • 领域模型 —— 允许为业务定义特定的数据类型。例如,安全号码在您的组织中有一些特殊意义,可以在领域中定义它。

使用反向工程创建数据模型

数据模型常常不是从头创建的,而是从现有的数据库体系结构创建数据模型。可以对 DDL 文件或数据库本身进行反向工程,生成数据模型。

我们来看一个通过反向工程创建 Oracle 数据库的示例。通过使用向导,很容易完成这个任务。

  1. 在创建一个新项目之后,选择 File > New > Physical Data Model,见图 11:

    图 11. 创建新的物理数据模型
    创建新的物理数据模型
     
  2. 填写图 12 所示的值:

    图 12. New Physical Data Model 向导
    New Physical Data Model 向导
    • Destination Folder:指向已经创建的项目的文件夹。
    • FileName:数据模型的名称。
    • Database:选择 Oracle
    • Version:要建模的 Oracle 数据库的版本。
    • 选择 Create from Reverse Engineering
  3. 选择 Next
  4. 如果要从现有的 DDL 文件创建模型,就选择 DDL 脚本。
  5. 浏览到 DDL 文件的位置并选择设置图表外观的选项。
  6. 选择 Next,然后选择 Finish

这时会看到从 DDL 文件生成的新数据模型。

图 13. 通过对 DDL 文件进行反向工程创建新的 Oracle 数据库
通过对 DDL 文件进行反向工程创建新的 Oracle 数据库

Rational Data Architect 提供的特性不只是上面介绍的这些,但是您应该能够体会到 RDA 的特性是多么丰富。它提供了对 Oracle 和其他数据库进行建模所需的各种功能。

Oracle Designer 将要停止支持

Oracle 本身提供了一个专门用于 Oracle 数据库建模的工具 Oracle Designer,但是应该注意,Oracle Designer 网站指出这个工具将要停止支持了。Oracle Designer 网站上列出了替代它的产品,但是没有一种产品真正提供了 Oracle Designer 工具中现有的数据建模功能。推荐的新工具集主要针对开发人员的应用程序开发需求。

尽管 Oracle Designer 和 RDA 有不同之处,但是概念是非常相似的。惟一的差异是执行活动的方式不同。例如,在 Oracle Designer 中可以使用 Database Design Transform 对模型进行转换,在这个过程中可以指定表映射。在进行转换时,RDA 也允许选择表映射和使用向导。

图 14. 在 RDA 中可用的物理数据模型转换选项
在 RDA 中可用的物理数据模型转换选项

还可以在 RDA 工具的 Windows > Preferences 部分中指定其他选项。

请注意数据类型映射中 Oracle 特有的数据类型(通过 Windows > Preferences > Data > Transform > Data Type Map > Logical to Physical 可以看到这些数据类型)。

图 15. Oracle 数据类型的首选项
Oracle 数据类型的首选项

例如,VARCHAR2 数据类型是 Oracle 特有的。在对逻辑数据模型进行转换时,可以让 RDA 把逻辑数据模型中指定的 VARCHAR 数据类型自动转换为物理数据模型中的 VARCHAR2 数据类型。

可以把 Oracle Designer 文件直接导入 RDA。这需要启动一个向导并指定 Oracle Designer 文件的位置。RDA 会替您完成余下的工作,所以只需几次鼠标单击,就能直接生成模型。

Rational Data Architect 提供了强大的数据建模功能,还提供了应用程序开发和与其他软件产品集成的功能。后面一节讨论 RDA 提供的一些 关键特性

未来的 Oracle 支持和改进

工具必须跟上数据库的发展,能够使用数据库中添加的最新特性,这一点很重要。例如,数据库分区特性可以把一个数据库中的表和索引划分成多个部分。RDA 以后会提供 Oracle 分区和子分区支持。RDA 计划实现的 Oracle 分区支持与 RDA 和 DB2 现有的分区支持很相似。

图 16. RDA 中的 DB2 分区支持
RDA 中的 DB2 分区支持
 

正如前面提到的,Oracle Designer 将停止添加 Oracle 10g 之后的任何新特性,但是 RDA 计划在 fixpack 5 中提供对 Oracle 11g 的支持。到那时,也会提供增强的分区支持。

对于支持的主流数据库,RDA 承诺尽可能快地支持新的数据库特性。

RDA 特性

RDA 有许多特性,无法在一篇文章中全面讨论。下面简要介绍一些在进行 Oracle 数据库建模时可能用到的特性。在 developerWorks 上搜索 “Rational Data Architect”,可以找到许多关于这些特性和其他特性的详细信息。请记住,本文针对的是 Oracle 用户,但是列出的特性适用于所有数据库。RDA 确实是一种能够处理各种数据库的产品。它的关键特性包括:

  • Eclipse 平台 —— RDA 是在开放源码的 Rational Software 开发平台上构建的,所以它具备任何 Rational 产品中都有的所有通用 Eclipse 特性。请记住,RDA 是 IBM 信息管理软件的组成部分。
  • 健壮的数据建模 —— RDA 能够进行全面的健壮的数据建模。RDA 可以创建逻辑、物理和领域数据模型。
  • 映射 —— 映射特性只能在 RDA 中找到,可以使用这种技术把一个数据解决方案转换为另一个数据解决方案 —— 把一个模式转换为另一个模式。在许多情况下,都需要这种解决方案转换,比如要开发应用程序的新版本、收购了新公司以及要改进软件包。
  • 对比和同步 —— RDA 提供的一个编辑器可以用来对比两个对象。在对比编辑器中了解要合并的数据对象的差异之后,可以生成 DDL 脚本或者把修改导入 XML 文件。
  • 报告 —— RDA 为逻辑、物理、术语表和映射模型提供 HTML 和 PDF 报告。在 RDA 的 fixpack 3 之后,增加了 BIRT(Business Intelligence Reporting Tool)功能,它提供了定制报告等灵活的报告选项。

现在讨论 RDA 的集成特性,正是这些特性使 RDA 与众不同:

  • IBM Data Studio —— RDA 现在属于 IBM Data Studio 产品集,这是 IBM 最新的数据库工具,支持在一个工具中对所有数据库活动进行设计、部署、管理和治理。因为 IBM Data Studio 也是在 Eclipse 平台上构建的,所以以后会在 IBM Data Studio 和 RDA 之间实现更多更紧密的集成。
  • 与 Rational 工具集集成 —— RDA 是惟一一种完全在 Rational 平台上构建的工具集。这意味着可以实现 shell 共享等操作 —— 在 Rational Software Architect、Rational Application Developer 等产品上安装 RDA。这种集成会让两个产品融为一体。甚至可以把逻辑数据模型(RDA)转换为 UML 模型(RSA)。
  • IBM Information Server —— IBM Information Server 可以帮助客户为数据仓库中存储的分析数据定义和描述一个统一的视图。Information Server 帮助组织理解现有的数据源,对信息进行清理、纠正和标准化,从而实现分析解决方案。
  • Industry Models —— IBM Industry Models 为许多行业提供了结构化的可部署的业务内容,包括银行业、保险业、金融市场、健康计划、电信和零售业。这些数据模型是用 Rational Data Architect 定义的。

RDA 提供的标准特性非常丰富,而且提供了其他工具集不具备的多种集成方式。

结束语

您现有的数据库环境包含多种数据库吗?如果是这样,Rational Data Architect 正好适合您,它支持各种数据库。

  • 在对 Oracle 数据库(实际上是任何数据库)进行建模时,RDA 使用 JDBC 驱动程序建立底层数据库连接。在连接数据库之后,可以在 RDA 中创建健壮的逻辑、物理、领域和术语表模型。
  • Oracle 提供的数据库设计工具 Oracle Designer 将要停止支持了,而且没有替代产品,RDA 可以填补这一空白,满足您的数据库设计需求。可以轻松地把现有的 Oracle Designer 文件导入 RDA。
  • RDA 会及时支持 Oracle 的所有新功能,提供分区和子分区支持,还支持 Oracle 11g。
  • RDA 有许多独特的特性,比如以 Eclipse 为基础、健壮的数据建模、映射、对比和同步以及集成,这些特性使 RDA 成为众多数据建模产品中的佼佼者。如果您已经在使用这些产品,或者打算购买它们,那么可以通过与 RDA 集成获得最大的收益。RDA 属于 IBM Data Studio 产品集,这个工具集可以满足所有数据库工具需求。RDA 还与 Rational 工具集、Information Server 和 Industry Models 集成。

Rational Data Architect 绝不仅仅是一种数据建模工具。请考虑用它满足您的数据建模需求。

参考资料

学习 获得产品和技术 讨论
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号