WEB开发网
开发学院数据库DB2 使用 IBM Rational Data Architect 控制 DB2 数据... 阅读

使用 IBM Rational Data Architect 控制 DB2 数据库

 2010-05-13 00:00:00 来源:WEB开发网   
核心提示:简介在建造房屋时,需要先做大量规划和设计工作,使用 IBM Rational Data Architect 控制 DB2 数据库,然后才能进行实际建造,如果不知道房屋的尺寸、规格以及用途,与设计房屋一样,RDA 可以帮助充分利用信息资产,就开始砌墙和建房间,是很不明智的

简介

在建造房屋时,需要先做大量规划和设计工作,然后才能进行实际建造。如果不知道房屋的尺寸、规格以及用途,就开始砌墙和建房间,是很不明智的。还需要计划在发生意外变化(比如,如果降生了小孩)时扩大房屋空间。在构建数据库时也应该做相同的准备工作。应该先进行数据库的规划和设计,然后才能实际创建数据库和表。数据库应该能够适应未来的业务需求,为未来的增长留出容量。

首先对比一下建造房屋和构建数据库涉及的步骤。然后,使用这一对比帮助理解 RDA 和 DB2 9 如何帮助您建立合理的数据库设计。

表 1. 建造房屋和构建数据库的对比

建造房屋 构建数据库
使用 IBM Rational Data Architect 控制 DB2 数据库
设计和规划需要哪些房间以及尺寸。
使用 IBM Rational Data Architect 控制 DB2 数据库
了解希望捕捉的业务数据,以及如何在数据库结构中正确地布置这些数据。
使用 IBM Rational Data Architect 控制 DB2 数据库
常常需要修改原来的计划来适应设计的变化。
使用 IBM Rational Data Architect 控制 DB2 数据库
计划修改,并在进行任何修改之前评估它对总体设计的影响。
使用 IBM Rational Data Architect 控制 DB2 数据库
需要使用正确的工具建造房屋,并确保房屋具有最好的品质。
使用 IBM Rational Data Architect 控制 DB2 数据库
RDA 提供了构建查询的工具,而且在 DB2 9 中还能够操作 XML 数据。

连接数据库

通过使用 RDA,可以非常简便地连接数据源,而且它已经识别出所有已经编目的数据库。可以在 Database Explorer 窗口中找到这些连接。

图 1. 使用 Database Explorer 窗口连接数据库
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

连接数据库的方法是右击要连接的数据库,然后单击 Reconnect。

输入用户 ID 和密码,完成之后,就会看到与这个数据库相关的所有数据。因为已经连接了一个 V9.1 示例数据库,所以应该能够看到所有表、列、表空间和其他重要的数据库对象。

图 2. Database Explorer 窗口
使用 IBM Rational Data Architect 控制 DB2 数据库

这是 RDA 中非常强大的一个部分,因为可以查看表的内容和做任何必要的修改。

图 3. 直接查看表中的数据
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

您已经看到了如何连接 DB2 V9.1 数据库并查看各种数据库对象。

逻辑数据建模或物理数据建模以及两者之间的所有东西

可以使用 RDA 从头规划设计或者操作现有设计,从而准确地理解执行的操作的含义其对修改的影响。利用 RDA 的数据设计特性并与 DB2 9 相结合,就可以全面控制所有信息资产。

逻辑数据建模

RDA 中的逻辑数据模型对于数据库的意义,就如同设计草图对于建造房屋的意义。在规划房屋的整体蓝图之前,会进行某种类型的设计,以获得要建造的房屋的总体效果。

在 RDA 中创建逻辑数据模型,就可以显示各种实体之间的关系、这些实体的属性和所有这些不同对象之间的关系。通常的做法是,先定义一个逻辑数据模型,然后再把它转换为物理模型。这样就能够在进行任何物理设计之前,让业务用户检验数据模型。这就相当于先查看房屋的总体设计,然后再设计管道等细节。

创建逻辑数据模型的方法是导航到 File > New > Logical Data Model。

图 4. 创建新的逻辑数据模型
使用 IBM Rational Data Architect 控制 DB2 数据库

还有其他创建逻辑数据模型的方法,但是我们看看使用这种方法时会发生什么。

如果要创建一个新的逻辑数据模型,那么可以使用模板创建一个 “空白逻辑数据模型”。

图 5. 创建新的逻辑数据模型(续)
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

单击 Finish 之后,应该会在 Data Project Explorer 窗口中当前项目下面看到创建的逻辑数据模型的名称。

图 6. 新的逻辑数据模型图
使用 IBM Rational Data Architect 控制 DB2 数据库

现在,试着理解领域的概念以及它在这里的作用。在逻辑数据模型中,要描述一些事物及其属性。RDA 已经定义了一些与逻辑数据模型相关的对象,例如,可以在现有的数据类型中添加属性,这些数据类型包括:

CHAR

VARCHAR

INT

DECIMAL

TIMESTAMP

在定义属性时,必须从业务的角度做出决定。假设公司的业务分析师希望定义公司需要的数据类型。他们并不知道如何用上面这些预定义类型表示他们希望的数据类型。他们使用的术语很可能像下面这样。

一家公司的业务是为家庭用户生产定制的躺椅。家用躺椅具有以下性质:

家用座位的宽度只能是 17.8"。

如果地板是深色的,躺椅的面料就应该是浅色的天鹅绒;如果地板是浅色的,面料就应该是深色的天鹅绒。

为某些客户生产的躺椅有视频屏幕插座,这与常规的躺椅不一样。

一些躺椅配有固定婴儿座位的装置,有的没有。

所以,业务用户定义他们的需求;而且在大多数情况下,这些术语超出了 RDA 中标准预定义类型的范围。例如,无法只用 VARHCAR(20) 描述上面的条件。

这就是领域发挥作用的地方。可以创建一个领域模型,这种模型可以在其他领域模型或其他逻辑数据模型中使用。

在 RDA 中创建领域模型的方法是导航到 File > New > Domain Model。

图 7. 创建新的领域模型
使用 IBM Rational Data Architect 控制 DB2 数据库

还可以右键单击逻辑数据模型中的包,然后导航到 Add Data Object > Atomic Domain。

图 8. 创建领域模型的另一种方法
使用 IBM Rational Data Architect 控制 DB2 数据库

如果要在逻辑数据模型中添加领域,就可以采用图 8 所示的方法。然后,可以添加约束或文档来描述业务分析师提出的规则。

物理数据建模

物理数据建模相当于房屋的蓝图。它描述数据库的所有细节,并根据需要的操作,提供操作模型所需的所有信息。

物理数据建模有多种方式,比如使用 Physical Data Modeling 向导从头创建新的数据模型。还可以从现有的另一个物理模型的元素创建物理模型。这只需在 Data Project Explorer 窗口中拖放元素。

还可以对实际数据库或数据定义语言(DDL)文件进行反向工程,生成物理数据模型。还可以把逻辑数据模型转换为物理数据模型。

下面介绍几种物理数据建模方式的步骤,不过还可以执行其他一些步骤:

从头创建物理数据模型

从 Data Project Explorer 窗口向物理数据模型中添加对象

反向工程

把逻辑数据模型转换为物理数据模型

从头创建物理数据模型的方法是导航到 File > New > Physical Data Model。

这会启动 Physical Data Model 向导。


图 9. 创建一个新的物理数据模型
使用 IBM Rational Data Architect 控制 DB2 数据库

下一个屏幕提示您输入关于要使用的数据库版本的一些基本信息。在选择 DB2 UDB V9.1 时,就使 RDA 能够基于 DB2 9 中的所有新特性进行数据库建模:


图 10. New Physical Data Model 屏幕
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

然后为新模型选择一个模板,在目前情况下,选择包含空白物理模型的模板。


图 11. Physical Data Model 模板
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

单击 Finish 之后,可以看到在 Data Project Explorer 窗口中创建了一个新模型,它带扩展名 dbm,这表示物理数据模型。


图 12. Data Project Explorer 窗口中的物理数据模型
使用 IBM Rational Data Architect 控制 DB2 数据库

从 Data Project Explorer 窗口向物理数据模型中添加对象。

有了空白物理数据模型之后,就可以以这个模型为起点做许多工作。如果希望添加另一个图中的某些元素,那么只需将元素从 Data Project Explorer 窗口中拖放到刚才创建的物理数据模型中。也可以把鼠标放在图的空白区域中,RDA 会向您提示要做的操作,比如添加表。

反向工程

上面的示例演示了如何创建空白物理数据模型,但是如果已经定义了数据库,希望修改设计,那么应该怎么办?这称为 “反向工程”。可以通过一个向导对数据库或 DDL 文件进行反向工程,生成物理模型。

把逻辑数据模型转换为物理数据模型。

我们看看在已经定义了逻辑数据模型的情况下,如何创建物理数据模型。

看一下 Data Project Explorer 窗口中的 HOME.ldm 以及描述这个数据库的表和数据。


图 13. 逻辑数据模型到物理数据模型的转换
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

把逻辑数据模型转换为物理数据模型有两种方法。下面使用 Data Transformation 向导完成这个任务。

首先,单击 Home.ldm。然后导航到 Data > Transform > Physical Data Model。


图 14. 将逻辑数据模型转换为物理数据模型
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

Transform to Physical Data Model 向导打开。

选中 Create New Data Model。


图 15. 转换为物理数据模型选项
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

单击 Finish 把逻辑数据模型转换为物理数据模型。

现在可以展开 Data Models 下面的物理数据模型,查看所有表。

图 16. Data Project Explorer 窗口中转换产生的物理数据模型
使用 IBM Rational Data Architect 控制 DB2 数据库

为了看到物理数据模型中的图,右键单击 Diagrams Folder 并选择 New Overview Diagram。

选择要查看的所有元素。其他元素保持默认设置并单击 OK。

单击 Show Key 和 Show non-key,可以进一步显示图中的元素。

图 17. 新的物理数据模型图
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

到目前为止,已经介绍了逻辑数据模型、领域模型和物理数据模型的概念。现在看看如何修改物理数据模型,并从物理数据模型创建 DDL。

修改物理数据模型需要展开要修改的对象,进行修改,然后保存模型。

我们以在 CUSTOMER 表中添加索引为例。

通过展开 Data Models > Home.dbm > Database > Home_schema > 展开 BuildHome 项目。右键单击 CUSTOMER 并导航到 Add Data Object > Index。

图 18. 在 customer 表中添加索引
使用 IBM Rational Data Architect 控制 DB2 数据库

这会创建 CUSTOMER_IDX,可以在 customer 表的下拉菜单中看到这个索引。

如果希望指定要创建的索引的类型,只需单击创建索引并查看 Properties 视图的 Details 部分。

图 19. 索引细节
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

可以为索引指定以下选项:

惟一

可以指定 Key Columns 并用工具栏上的箭头指定次序。

可以指定索引中包含哪些非键列并用箭头指定次序。

如果需要,可以指定 PCTFree 值。

保存 Home.dbm 物理数据模型及其更改。

从物理数据模型创建 DDL

如果要创建新数据库,就可以使用这种方式。否则,可以使用对比和同步特性生成 DDL。

为项目生成 DDL 的方法是右键单击 Home_schema 并选择 Generate DDL。

图 20. 从 Explorer 生成 DDL
使用 IBM Rational Data Architect 控制 DB2 数据库

在 Options 页面上保持默认设置。在 Objects 页面上,只选择 Tables 和 Indexes,因为我们只有表和索引。

最后,应该会看到 Save and Run DDL,可以通过它预览 DDL。还能够在服务器上运行 DDL。

图 21. Generate DDL 窗口
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

单击 Finish 之后,应该会在 Data Project Explorer 窗口中 SQL Scripts 下面看到 DDL 脚本文件。SQL Scripts 文件夹在当前操作的项目下面。可以在任何时候查看或编辑这个文件。

图 22. DDL 在 SQL Scripts 文件夹中的位置
使用 IBM Rational Data Architect 控制 DB2 数据库

本文已经讲解了如何在 RDA 中操作表,但是可做的事情不只如此。数据建模功能可以在以下方面扩展模型对象:

缓冲池

分区组

表空间

索引

触发器

我们看看如何使用存储图设置这些元素。存储图显示表中的所有物理数据保存在哪里。可以从 RDA 直接构建存储图。

图 23. 模型存储图
使用 IBM Rational Data Architect 控制 DB2 数据库

在右键单击 Add Storage Overview Diagram 时,选择需要的元素。

然后会看到存储图,其中包含前面选择的所有元素。

图 24. 模型表空间属性
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

假设您有一个分区的数据库,这意味着它是一个数据库的一部分,它包含自己的数据、索引、配置文件和事务日志。Data Partioning Feature(DPF)是 DB2 9 中的新特性,可以用来操作这些分区的数据库。

在查看 DB2 9 中的存储图时,还应该会看到分区组,因为它是 DB2 9 的 DPF 的组成部分。

如果单击上面的表空间,就可以看到这个表空间的属性并可以修改各种属性。

如果希望查看表空间中所有表的列表,那么单击 Tables。

图 25. 表空间中表的列表
使用 IBM Rational Data Architect 控制 DB2 数据库

对 DB2 9 中的所有数据元素进行建模的用途并不仅限于此。如果希望向相关人员展示此图,那么可以使用调色板生成需要的形状和线条。

逻辑数据模型用来创建设计数据库所需的蓝图。领域模型用来扩展模型中对象的深度和广度。物理数据模型可以提供数据库实体的视图,您可以做出设计决策,然后在当前的数据库模型中实现这些决策。

对 DB2 进行对比和同步及影响分析

可以对模型或数据库中的对象进行对比,了解不同对象之间的差异。可以对比:

数据库与数据库

模型与模型

模型与数据库

数据库与模型

掌握了这些信息之后,用户就可以决定要做哪些修改,还可以通过影响分析了解这些修改如何影响整个系统。RDA 可以清楚地展示修改如何影响系统,甚至可以生成分析报告,以便查看和与其他人分享。

我们来详细讨论一下 RDA 中的对比和同步及影响分析功能。

先看一个使用 RDA 对比和同步特性的示例。作为组织中的 DBA,经常要考虑的一个问题是变化。用户经常要求在现有的基础结构中添加新信息,而且越快越好。RDA 让您能够轻松地理解并实现这些变化。

下面对一个物理数据库模型和一个已经实现的数据库进行对比。

我们仍然以 BuildHome 项目为例。假设这个项目中有一个 CUSTOMER 表,但是还有另一个表,其中包含来自另一个部门的另一个项目的其他信息。如果希望对比这两个表,可以使用对比编辑器查看差异。

右键单击 BuildHome 项目中的 CUSTOMER 并导航到 Compare With > Another Data Object。

图 26. RDA 中的对比特性
使用 IBM Rational Data Architect 控制 DB2 数据库

然后,只需展开另一个数据库,显示要对比的表。在这个示例中,要与 SAMPLE 数据库中的 STAFF 表进行对比。

假设希望把 BuildHome CUSTOMER 表的 Cust_Id 列中的修改与 STAFF 表中的 ID 列合并。

图 27. 对比图
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

在对比和同步菜单中,可以看到这两个表中的列。可以使用 Copy from Left to Right 或 Copy from Right to Left 菜单项执行修改。这些修改会立即实现。

在此之后,可以创建进行这些修改所需的 DDL,可以在服务器上直接运行这些 DDL,也可以将其保存为 SQL 脚本供以后执行。

图 28. 从对比输出生成 DDL
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

图 29. 执行对比之后的新图
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

可以查看模型中受到影响的其他表,然后决定是否进行修改。

如果要修改 XML 列等实体并分析修改的影响,这个特性尤其有帮助。在 DB2 9 中,处理 XML 数据与处理关系数据同样简单。在 RDA 中,对比和同步及影响分析也同样简单。

在 RDA 中查看 XML 数据类型与查看其他数据类型同样容易。

图 30. XML 建模
使用 IBM Rational Data Architect 控制 DB2 数据库

您可以看到,可以像对待其他数据库对象一样,在 Database Explorer 中操作 XML 数据。

构建查询

在开发应用程序时,需要使用工具帮助您使用数据库中的信息。SQL Builder 是一个图形工具,用来构建针对关系数据或 XML 数据的查询。在 DB2 9 中,XML 数据存储为原生形式,可以像操作关系数据一样轻松地操作 XML 数据。

访问 SQL Builder 的方法是导航到 File > New > SQL Statement。

这会启动 SQL Builder。

图 31. 创建新的 SQL 语句
使用 IBM Rational Data Architect 控制 DB2 数据库

可以给这个 SQL 语句提供一个名称,这样就可以将它以 .sql 为扩展名保存,可以在以后执行或编辑。

然后,一个窗口提示您选择连接。输入数据库的名称并单击 Reconnect。输入用户 ID 和密码。

这时会打开 SQL Builder 窗口。

图 32. SQL Builder
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

如果要在中间面板中添加表,应该右键单击空白区域并选择 Add Table,然后选择要添加的表。

可以使用底部面板设计 SQL 语句中要包含的内容。还可以使用 SQL Expression Builder 设计更复杂的 SQL 语句。

在使用 SQL Builder 时,还可以把特定表中的元素拖放到 SQL Builder 面板中。完整的说明参见 DB2 9 Information Center 文档中的 SQL Builder 部分。

因为 XML 数据是 DB2 9 中的重要特性,我们看看如何在 RDA 中查看 XML 数据。仍然以 BuildHome 公司为例。假设公司中有另一个组(暑期学生雇佣组),他们负责雇佣学生参加暑期建筑工程。但是,他们的数据并未保存在任何数据库中,而是使用一种 XML 格式记录学生的信息。

可以通过 File-> Import 轻松地导入 XML 文件。

图 33. 导入 XML 文件
使用 IBM Rational Data Architect 控制 DB2 数据库

在此之后,这个文件就会出现在项目的 XML Schemas 文件夹中。

图 34. XML schemas 文件夹
使用 IBM Rational Data Architect 控制 DB2 数据库

如果双击 Student_details.xml,就可以看到这个 XML 文件和它的值,还可以展开数据元素,查看每个元素的值。在这个示例中,记录了学生 ID、学生姓名和学生的电子邮件地址。

图 35. RDA 中显示的 XML 文件
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

如果希望生成 SQL 或 XML 查询,那么最简单的方法是使用映射编辑器。可以为生成 SQL 或 XML 查询指定一个源和目标。在这个示例中,源是您的关系数据库,目标是一个包含 XML 文档结构的 XML 模式定义(XSD)文档。

在 RDA 中创建映射模型的方法是导航到 Mappings > New > Mapping Model。

图 36. 映射模型
使用 IBM Rational Data Architect 控制 DB2 数据库

给映射文件指定名称。

图 37. 映射编辑器
使用 IBM Rational Data Architect 控制 DB2 数据库

单击 Finish 在编辑器中创建一个新的映射(msl)文件。现在,可以把物理数据模型拖到源框中,把 XML 模式文档拖到目标框中。

为了创建映射,右键单击源中要映射的对象和目标中要映射到的 XML 元素。右键单击目标 XML 元素并选择 CREATE MAPPING。

图 38. XML 映射编辑器
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

为了生成实际的 SQL 或 XML,只需使用工具栏中的 Generate Script 图标。

图 39. 生成 SQL 或 XML
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

采用默认的 Generate Script 选项,就会看到映射这些元素所需的 SQL 或 XML。

单击 Finish 之后,SQL 或 XML 脚本出现在编辑器中,可以查看或编辑这个脚本。

图 40. 生成的 SQL 或 XML 脚本
使用 IBM Rational Data Architect 控制 DB2 数据库

查看原图(大图)

建造房屋需要做大量规划和设计工作。构建数据库,或者跟踪组织中的所有信息,也需要做大量规划和设计工作。RDA 不但为所有信息资产提供了规划和设计工具,还提供了根据设计构造数据库的能力。与设计房屋一样,RDA 可以帮助充分利用信息资产,让数据充分发挥作用。

Tags:使用 IBM Rational

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接