IBM® Rational® Data Architect 提供了当前市场上很多数据建模工具所没有的独特特性。将 CA ERwin Data Modeler 中创建的已有数据模型迁移至 Rational Data Architect,并探索数据建模师和数据架构师日常使用的一些 Rational Data Architect 特性。
Rational Data Architect 是一种数据建模和集成设计工具,可以帮助数据架构师理解信息资产,建立资产之间的映射,以及创建集成模式。
作为一名数据建模师或数据架构师,不仅需要使用数据建模工具,还需要使用版本控制工具、一些必备工具和多个数据模型。很多数据建模工具,例如 ERwin,都无法像 Rational Data Architect 一样提供高度集成。Rational Data Architect 集成了跨整个软件开发周期的各种应用程序,有了它,就可以降低风险,增加可预测性。而且,Rational Data Architect 中提供了很多企业数据建模特性,例如联邦设计、惟一映射和映射发现功能。要使用 Rational Data Architect 中的这些新特性,第一步是将 ERwin 中创建的已有数据模型迁移至 Rational Data Architect,并了解日常工作中最常用的特性。
Rational Data Architect 的 GUI 基于 Eclipse (Eclipse 是用 java 语言编写的一个开源软件框架)。 如果您使用过 Eclipse 或基于 Eclipse 的其他工具,那么就应该熟悉这种公共界面所提供的用户体验。 Rational Data Architect 可以在 Windows® 和 Linux® 中运行,并且在这两种系统上使用相同的界面,因此当您使用其中任何一种底层操作系统时,都不会感到陌生。
第一次打开 Rational Data Architect 时,它自动为数据透视图设置环境。您可以通过选择图 1 右上角的图标来验证这一点。
图 1. Rational Data Architect 中被选中的数据透视图
下面的图 2 显示了数据透视图模式下 Rational Data Architect 环境概览:
图 2. Rational Data Architect 的环境
在数据透视图中,GUI 有以下 6 个主要区域:
在导入 ERwin 文件之前,需要知道这两种工具之间的主要差别。在 Rational Data Architect 中,可以在同一个工作区打开多个项目,每个项目可以有多个数据模型。这是因为 Rational Data Architect 为每个项目创建一个文件夹或目录,如果进行指定,可以将项目的对象(即数据模型)创建到同一个目录中。
最重要的不同点是,Rational Data Architect 在单独的文件中创建数据模型 —— 逻辑数据模型使用一个文件,物理数据模型使用另一个文件。
如 果您以前使用的是 ERwin,那么数据模型处理方法的不同可能会让您感到头痛,但是 PowerDesigner 也使用了相同的方法。这种方法迫使您在逻辑与物理数据模型之间进行同步,本文后面会讲到。乍一看来,这似乎是件坏事,但是这使您可以从一个逻辑模型生成多 个物理数据模型。那些物理数据模型可用于不同的数据库系统(例如 DB2 和 Informix)和环境。
Rational Data Architect 支持的建模符号有:
术语方面的差异:
表 1. 术语方面的差异
数据图 |
文档 |
在导入数据模型之前,必须创建并至少打开一个工作区,以便能够导入或创建数据模型。
让我们创建一个工作区,以便导入 ERwin 数据模型。
选择 File > Switch Workspace 。 在图 4 中,注意屏幕上没有提示创建工作区,而是切换工作区。但是,如果指定一个不存在的工作区,则 Rational Data Architect 将创建一个工作区。
这样就有了一个可以使用的工作区。现在需要创建一个项目。由于我们要使用数据模型,因此需要指定项目类型为数据设计项目。
要创建一个项目,选择 File > New > Project 。然后可以看到如图 5 所示的向导:
图 6 显示了刚才创建的项目。
导入过程本身非常简单。
要开始导入,选择 File > import 。 这时会打开导入向导(如图 7 所示)。
选择 Data 类别下的 Data Model Import Wizard ,然后选择 Next 。
接下来的屏幕要求提供关于要导入的数据模型的信息。要求的信息有:
输入必要的信息,然后选择 Next 。
图 9 中的屏幕显示可用的导入选项(要了解关于导入选项的更多信息,请参阅 “导入选项 ” 小节)。单击 Next 。
如图 10 所示,接下来的屏幕显示一个概述,同时还显示导入过程中可能出现的错误和警告。 选择 Finish 。
数据模型在数据设计项目下创建,本例中命名为 Migrate,如图 11 所示:
在导入期间,需要选择一些导入选项。我们来仔细研究这些导入选项:
屏幕上的第一部分是 Options 和 Values 表:
屏幕的第二部分内容为:
现在,您已经导入了数据模型。试着通过面板进行导航,并检查对象。本文下一节将讨论数据建模师在日常工作中可能用到的一些特性。
本节讨论数据建模师在日常工作中最常用的特性。
导入和创建数据模型之后,就可以对它进行导航,我们来看看一个数据建模师在日常工作中使用的主要特性。理解这些特性可帮助您在导航和使用工具时感到更加舒适。
如前所述,当更改逻辑数据模型或物理数据模型时,它们中的另一方并不会自动更新。例如,在逻辑数据模型中,假设在雇员实体中创建一个新的属性。如果这个新属性不是 logical-only 属性,那么当您选择转换物理模型中的逻辑模型时,Rational Data Architect 只在物理数据模型中创建该属性。
为了完成转换过程,首先需要选择要转换的数据模型:
然后选择 Data > Transform > Logical Data Model 。 这里只能选逻辑数据模型,因为我们选择了转换物理数据模型。
每当选择执行这个过程时,可以选择创建新的物理数据模型,或者更新已有的物理数据模型。如果选择创建新的数据模型,则 Rational Data Architect 要求提供文件名和目标文件夹(如图 15 所示):
如果选择更新已有的数据模型,那么 Rational Data Architect 要求提供要更新的文件(如图 16 所示):
无论选择创建新的数据模型还是更新已有的数据模型,Rational Data Architect 都要求提供一些附加信息,根据选择的转换的不同,需提供不同的信息:
图 17. 物理到逻辑转换选项
图 18. 逻辑到物理转换选项
选择 Next 之后,转换过程开始运行,并告诉您何时完成(如图 19 所示):
如果要从同一个逻辑模型实现多个目标数据库,那么可以使用创建新模型的选项。如果要对数据模型做简单的版本控制,那么该选项也比较适合。但是请记住,Rational Data Architect 可以使用 CVS,因此您可以拥有健壮的、功能完备的版本控制软件进行版本控制。
Rational Data Architect 已经为您设计了一些示例报告。那些报告的输出可以是 PDF 或 HTML,所以很容易在企业或项目的其他成员之间分发或共享数据模型,他们不需要知道如何使用工具,也不必将它安装在工作站上。
为了生成 HTML 格式的报告,首先选择需要的数据模型,然后 单击 Data > Publish > Web 。 在 Rational Data Architect 中,HTML 输出称作 “Web”。该输出类似于 JavaDoc 工具产生的输出。
在图 20 中,可以看到用于生成报告的选项。请熟悉这些选项,以便选择最适合您要求的选项。
为了生成 PDF 格式的报告,首先选择需要的数据模型,然后 单击 Data > Publish > Report 。 根据所选择的数据模型类型,可用的报告模板有所不同。
在图 21 中,可以看到用于生成报告的选项。您要熟悉它们,仔细分析不同的报告模板,以便选择最适合自己的模板。
可以从已有的数据模型创建一个 DDL。只需选择目标数据库或模式名称,然后单击右键,选择 Generate DDL (如图 22 所示):
现在,您已经选择了要为之生成 DDL 的数据库,接下来必须选择要在 DDL 脚本中包括的内容(如图 23 所示)。
接下来的步骤是选择要为什么对象生成 DDL(如图 24 所示)。
另外还必须选择只在服务器上运行 DDL,还是打开它进行编辑(如图 25 所示)。
接下来的屏幕将显示所有选择了的选项的摘要(如图 26 所示):
很多时候,在开发阶段或更早的阶段,您并没有为数据库创建数据模型,但是这不能作为没有数据模型的借口。
通过使用 Rational Data Architect 的反向工程特性,很容易为数据库创建数据模型。 Rational Data Architect 将检查编目表(在某些数据库系统中也称系统表),并根据该信息创建数据模型。但是根据数据库的编目表创建数据模型并不是惟一的选择。还可以选择根据一个 DDL 文件进行反向工程。
首先,对于要创建反向设计的新数据模型的项目,选择 Data Models ,然后在选项上单击右键,选择 New > Physical Data Model (如图 27 所示):
现在需要提供一些信息:
提供所需的信息,然后选择 Create from reverse engineering 选项,并选择 Next (如图 28 所示):
在接下来的屏幕中,需要指定源。在数据库与 DDL 之间作出选择:
我们先看看数据库选项。(后面会谈到 DDL 脚本选项。)
数据库选项
当选定数据库选项时,接下来的屏幕要求提供连接信息。可以创建新的连接,也可以使用已有的连接。但是要清楚,这里的已有连接是指之前设置的、当时已打开的连接。
这个例子使用已有的连接。 选择 Use an existing connection ,然后指定要使用的连接。 准备好后,选择 Next (图 30)。
在接下来的页面上,可以选择特定的模式名称,以便只将对象导入到那个模式下。 选择 Next (图 31)。
由于这个例子是要从一个 DB2 for z/OS 数据库中导入,因此也可以根据数据库名称进行过滤。选择 Next 图 32)。
选择要导入的元素,然后选择 Next (图 33)。
最后一步 是数据模型选项。选择 Next (图 34)。
选择 next 后,向导将在项目下创建数据模型。
现在我们回到 DDL 脚本选项。
DDL 选项
决定了 DDL 选项后,需要提供文件名和文件的完整路径,以便 Rational Data Architect 能访问到它(图 35)。
如图 36 所示,Rational Data Architect 在创建数据模型之前,会要求提供一些选项。选择 Next ,Rational Data Architect 开始这个过程。
这个过程完成后,Rational Data Architect 显示一个摘要,同时还显示可能出现的警告和错误(图 37)。
至此,您通过对一个数据库或 DDL 脚本的反向工程,创建了一个数据模型。
可以用三种不同的方式进行比较和同步:
所有信息都显示在一个表中,所以很容易看出不同之处,并且可以将更多的时间花在分析信息的正确性方面,从而使之同步。
要进行对象之间的比较,首先需要选择要比较的那两个对象(图 38)。
选择比较后,会生成一个表,其中包含了两个数据模型之间的不同点。本例中,整个表都不同。但是,如果两个模型中都包含同一个表,那么只显示不同的列(图 39)。
在比较面板上,需要选择 6 个选项(图 40):
例如,我们让 PDP 模式等于 DENISV 模式。
选择 Area ,然后选择 copy from right to left (图 41)。
最后,表被从 PDP 模式中删除,并且 generate left delta DDL 选项被启用(图 42)。
图 42. 启用 Generate left delta ddl
如果选择 generate left delta DDL 按钮,则会显示应用更改所需的 DDL(图 43)。
选择 next 时,Rational Data Architect 显示脚本被保存到何处(图 44)。
除了比较同一个项目中的对象外,还可以选择将数据模型与一个数据库或 DDL 脚本进行比较。但是,只有通过反向工程创建的数据模型可以选择该选项。
要执行这种类型的比较,可以选择一个模式或数据库,通过反向工程创建的数据模型存放在该模式或数据库中,然后单击右键,并选择 Compare With > Original Source 。它寻找用于创建数据模型、数据库连接或 DDL 脚本的相同方法,然后执行比较,并在比较面板中显示结果。
本文对 Rational Data Architect 的 GUI 作了概述,并描述了 Rational Data Architect 如何通过一些简单的步骤导入 ERwin 文件,从而使您可以很快地使用这个很棒的工具。本文还演示了数据建模师日常工作中常用的主要特性。
完成迁移后,就可以利用 Rational Data Architect 特有的一些特性和优点。例如:
可以看到,太多的理由支持您迁移至 Rational Data Architect,并使用它独有的特性。