级别: 初级 刘麒赟 ( liuqy@cn.ibm.com), 软件工程师, IBM
2009 年 6 月 15 日 本文根据具体实例,展示 InfoSphere Data Architect (IDA)(前身是 Rational Data Architect) 在数据生命周期的设计、开发、部署、管理和治理等各个阶段的主要应用。并通过介绍作者的 IDA 使用经验,使用户对 IDA 产生更全面的认识。
背景介绍
InfoSphere Data Architect (本文中简称为 IDA)的前身是 Rational Data Architect(IDA)。在版本 V7.5.1 中,Rational Data Architect 已被重命名为 InfoSphere Data Architect 。
IDA 是一个基于 Eclipse 构建的综合的开发环境,主要用于进行数据建模、管理及整合数据资产,以及开发数据库应用程序。
IDA 的优势不仅在于其强大的建模能力。同时还有赖于其在数据的开发、部署、管理等阶段中完善的数据开发、数据部署及管理等能力。因此,在实际应用中,可以在数据生命周期的各个阶段 ( 治理阶段 , 设计阶段 , 开发阶段 , 部署阶段与管理阶段 ) 中使用 IDA 。
在充分理解了 IDA 在数据生命周期各阶段的主要应用后,用户可以更好、更合理地使用 IDA,更大限度地发挥其优势。
本系列文章将用一个贯穿整个数据生命周期的简单实例,详细地描述 IDA 在各个阶段的主要应用。其中,本文将介绍 IDA 在数据开发、部署与管理阶段的应用。而 IDA 在数据治理和设计阶段的应用,请参考本文的系列文章 “ InfoSphere Data Architect 在整个数据生命周期中的应用,第 1 部分” 的内容。
准备工作
请参考本文的系列文章 “ InfoSphere Data Architect 在整个数据生命周期中的应用,第 1 部分” 的内容,并创建本文所需的名为 DataLifecycle 的数据设计项目 (Data Design Project) 。该项目中应当包含一个名为 GlossaryModel 的词汇表模型 (Glossary Model)、一个名为 DomainModel 的领域模型 (Domain Model) 以及一个名为 LogicalDataModel 的逻辑数据模型 (Logical Data Model) 。
IDA 在数据开发阶段的应用
在 IDA 的 Data Development Project 可以较好地完成诸如编写、生成、测试、调优数据等数据开发阶段的应用。在本文中,将介绍如何创建并使用 Data Development Project 来生成本例要用到的数据库 SCHEMA:DAMOSCHEMA 。
首先,通过“ File → New → Data Development Project ”创建一个 Data Development Project,命名为“ DataLifecycle_DDP ”。选择默认选项,但在“ Select Connection ”界面里需要创建一个数据库连接——使 IDA 的 Data Development Project 与实际的物理数据库关联上。
图 1. 创建 Connection
在创建好 Data Development Project 后,就可以在 Data Project Explorer 中看到创建好的 DataLifecycle_DDP 工程,以及在 Data Source Explorer 中看到创建好的 Connection:DEMODB 。
图 2. DataLifecycle_DDP 和 DEMODB
Data Development Project 实际上可以完成诸如创建和执行 SQL script、stored procedures、user-defined functions 的工作,以及实现一些 XML 文件的相关操作,功能十分强大。由于篇幅关系,在本文中仅主要演示如何通过 DataLifecycle_DDP 创建并执行一个 SQL script 来完成 DEMOSCHEMA 的创建工作。
首先,右键点击 SQL Scripts 文件夹,选择“ New → SQL or XQuery Script ”。然后,给要生成的 SQL Script 命名为“ CreateDEMOSchemaScript ”。最后,在生成的文件中添加创建 DEMOSCHEMA 的 SQL 语句,如下图所示。
图 3. CreateDEMOSchemaScript
用户在 IDA 的 SQL Scripts 中编辑 SQL 语句的过程当中,IDA 会进行主动提示。 IDA 也会对 SQL 语句自动地进行动态编译,并即时将结果返回给用户,最大限度地提高用户的开发效率和质量。
图 4. 编辑 SQL 时的提示
执行 SQL Script 的方法也很简单:在 script 上,点击鼠标右键,然后选择“ Run SQL ”即可。随后,执行结果将会显示在 SQL Result 里。
图 5. 执行 script 结果
该结果说明 CreateDEMOSchemaScript 执行成功,并在数据库中生成了 Schema DEMOSCHEMA 。为了对此进行验证,我们可以从之前创建的 Connection 中看到 IDA 的确成功创建了 DEMOSCHEMA 。
到目前为止,我们已经介绍完了如何通过使用 IDA 的 Data Development Project,创建、执行 SQL Script 。事实上,用户可以通过 IDA 的 Data Development Project 完成许多其他数据开发阶段的工作,本文就不一一演示了。
IDA 在数据部署阶段的应用
在完成数据设计阶段的工作后(创建完 Logical Data Model),我们需要完成的是数据的部署。在 IDA 中,为了将所设计的 Logical Data Model 部署到实际的数据库上,我们一般需要经过以下几个步骤:
- 将已有的 Logical Data Model 转化为 Physical Data Model
- 从 Physical Data Model 生成 DDL 语句
- 按需修改 DDL 语句
- 执行 DDL 语句
下面我们就将依次介绍这些步骤。
1. 将已有的 Logical Data Model 转化为 Physical Data Model
点击“ LogicalDataModel.ldm ”后,选择“ Data → Transform → Physical Data Model ”。然后,在弹出的对话框里选中“ Create new model ”并点击“ Next ”。选择目标文件夹为“ DataLifecycle ”,给将生成的 Physical Data Model 命名为“ PhysicalDataModel ”,点击“ Next ”。接受其它的默认设置。最后点击“ Finish ”。随后,IDA 便在 DataLifecycle 工程下生成了一个名为 PhysicalDataModel 的 Physical Data Model 。新生成的 Physical Data Model 遵循 IDA 中所设置的数据命名标准格式。
图 6. 转化而来的 PhysicalDataModel
2. 从 Physical Data Model 生成 DDL 语句
要为 PhysicalDataModel 生成 DDL 语句其实很简单:只需要右键点击 PhysicalDataModel 下的“ Schema ” ( 因为我们只需要这部分对象的 DDL 语句 ),然后选中“ Generate DDL …”,在随后弹出的对话框中选择需要生成 DDL 的模型元素以及模型对象。
图 7. 选择需要生成 DDL 语句的模型元素和对象
点击“ Next ”,然后选择“ Open DDL file for editing ”。最后点击“ Finish ”。此时,在 IDA 中出现了包含生成的 DDL 语句的编辑器并在“ SQL Scripts ”文件夹下生成了对应的“ script.sql ”文件。
图 8. 生成的 DDL 语句
3. 按需修改 DDL 语句
用户可以按照自己的实际需要,对 IDA 生成的 DDL 语句进行修改。在本实例中,我们要将所有的数据库对象部署到上文中创建的 Schema DEMOSCHEMA 中。因此,在生成的 DDL 语句中的数据库对象前,我们添加 Schema DEMOSCHEMA 信息。修改后的 DDL 如下图所示。
图 9. 修改后的 DDL 语句
4. 执行 DDL 语句
执行 DDL 语句的方法是:右键点击 script.sql 文件,选择“ Run SQL ”。在随后弹出的对话框中选择部署 DDL 的目标数据库为“ DEMODB ”。最后点击“ Finish ”。此时,IDA 开始将在数据库上执行 script.sql 。当 script.sql 执行结束后,我们在数据库连接里将看到成功部署的数据库对象。至此,IDA 完成了数据部署阶段的任务。
图 10. 数据库中生成的数据库对象
IDA 在数据管理阶段的应用
操作管理
这里所说的数据管理,是指在数据部署完毕后的使用过程中对数据的操作的管理。对数据的操作不能是无规范、无节制的,应该有着严格、准确的管理,应该有着统一的操作平台。数据的操作平台,一般分为应用程序、数据库自身以及其它数据库管理工具 ( 如 IDA) 。 IDA 对数据操作的管理,主要通过 Data Development Project 来实现。
例如,我们要通过 IDA 来实现在数据库中的 COMP 表里增加一条公司纪录“ '00001' , 'DEMO_CORP' ”。首先,我们需要在之前创建的 DataLifecycle_DDP 工程的“ SQL Scripts ”文件夹下,新建一个 SQL Script,命名为“ COMPScript ”。然后,在打开的 COMPScript 文件中,输入要执行的语句“ INSERT INTO "DEMOSCHEMA"."COMP" VALUES('00001' , 'DEMO_CORP'); ”,然后执行该 COMPScript 。执行方法与本文的第五章节中所介绍的使用 Data Development Project 的方法一致。当执行结束后,可以通过右键点击“ Database Connection ”下的 DEMOSCHEMA. COMP 表,然后选择“ Data → Sample Contents ”来查看该表的内容。
图 11. 数据操作管理结果查看
存储管理
经常性地对数据进行存储管理、及时地备份数据,能够增加数据的历史纪录、加强数据的安全性。 IDA 对数据的存储管理分为两部分:对数据结构的存储管理和对数据内容的存储管理。
对数据结构的存储管理
对数据结构的存储管理,一般通过将数据库中的实际表结构保存为 DDL 文件格式、Physical Data Model 文件格式或者 Logical Data Model 格式。
- 保存为DDL文件格式
可以通过右键点击数据库对象,然后选择“ Generate DDL ”,最后生成需要保存的“ *.sql ”文件。该步骤与本文的“从 Physical Data Model 生成 DDL 语句”章节中所描述的方法类似,这里就不再赘述了。
- 保存为Physical Data Model文件格式
IDA 可以通过逆向工程 (Reverse Engineering),从实际数据库生成其对应的 Physical Data Model 。生成的 Physical Data Model 里保存了数据库对象的数据结构等信息。具体步骤如下所示: 首先,选中一个已存在的 Data Design Project,如本文中的 DataLifecycle 。然后,选择“ New → Physical Data Model ”在弹出的对话框中,输入 Physical Data Model 的名字“ PDM_DEMOSCHEMA_20090509 ”,然后选择“ Create from reverse engineering ”。点击“ Next ”并选中 Source 为“ Database ”。 点击“ Next ”并选中一个 DB Connection, 如之前我们创建的 DEMODB 。 点击“ Next ”。在“ Select Schema ”页面中选择一个 SCHEMA,如“ DEMOSCHEMA ”。 点击“ Next ”。选择需要生成的数据元素并点击“ Next ”。 点击“ Finish ”后,我们就可以在 DataLifecycle 下看到新生成的 PDM_DEMOSCHEMA_20090509.dbm 文件。
- 保存为Logical Data Model文件格式
数据也可以保存为 Logical Data Model 文件格式。其步骤是先由逆向工程生成 Physical Data Model,再将 Physical Data Model 转化为 Logical Data Model 。这两个步骤在本文中都已详细介绍过。
对数据内容的存储管理
对数据内容的存储管理,在 IDA 中可以通过保存数据对象的内容来实现。下面我们通过保存 " DEMOSCHEMA "."COMP" 表中的内容来进行演示。
首先,在“ Data Source Explorer ”中选中 " DEMOSCHEMA "."COMP" 表,右键点击该表。在弹出的菜单中选择“ Data → Extract ”。
图 12. Extract Data
然后,选择导出的文件路径及文件名称,本例中命名为“ DEMOSCHEMA _COMP_20090509 ”。然后,点击“ Finish ”。
此时,可以在指定的文件路径下看到生成了文件 DEMOSCHEMA _COMP_20090509.data 。该文件中就存储了对应的数据内容。将该文件用文本编辑器打开,可以看到其格式与内容。
图 13. Data 文件的格式与内容
恢复管理
对数据结构的恢复管理
IDA 对数据结构的恢复管理,一般通过将保存的 Logical Data Model 格式文件、Physical Data Model 格式文件或 DDL 格式文件持久化为实际数据库中的实际数据对象。
但是,不管哪种数据结构恢复方法,最终都需要通过执行生成的或原有的 DDL 文件来实现。比如,需要先将 Logical Data Model 格式文件转化为 Physical Data Model 格式文件,再将 Physical Data Model 格式文件转化为 DDL 格式文件,最后再执行该 DDL 格式文件。本文之前的部分已分别详细介绍过了这些步骤。
对数据内容的恢复管理
IDA 对数据内容的恢复管理,则主要通过加载 (Load) 原先保存的对应数据对象的“ *.data ”文件来实现。现在以恢复 "DEMOSCHEMA"."COMP" 表的内容来举例说明。
为了演示效果,首先将 "DEMOSCHEMA"."COMP" 表中的内容清空:在“ Data Source Explorer ”中选中 "DEMODB"."COMP" 表,右键点击该表。在弹出的菜单中选择“ Data → Edit ”。然后,再选中表中唯一的一行内容、执行“ Delete ”操作并选择“保存”。
图 14. 删除表中原有内容
这时,就能看到 "DEMOSCHEMA"."COMP" 表中已无内容。
恢复数据内容:在“ Data Source Explorer ”中选中 "DEMOSCHEMA"."COMP" 表,右键点击该表。在弹出的菜单中选择“ Data → Load …”。选择载入的数据文件为文件 DEMOSCHEMA _COMP_20090509.data,并勾上“ Replace existing data ”选项。最后,可以看到 " DEMOSCHEMA "."COMP" 表的数据得到了成功恢复。
变更管理
数据变更管理中的数据主要指数据的结构。数据结构经过设计阶段的设计、部署阶段的持久化而得来,但这并不意味着数据结构是一成不变的。相反,在实际生活中,诸如用户需求等决定数据结构的因素,可能时时在变化。为了应对用户需求改变等情况,数据结构往往还需要通过变更管理来不断更新自己,使自己能在组织的 IT 架构中发挥作用。
IDA 对数据结构的变更管理,主要有以下几个方法:
- 直接在 Data Development Project 中执行 SQL Script 。通过执行 SQL 语句,来进行新旧数据的替换;
- 通过更改 Physical Data Model 文件来达到变更数据的目的。最后,再执行由更改后的 Physical Data Model 文件生成的 DDL 语句来变更数据。
- 通过更改 Logical Data Model 文件来达到变更数据的目的。更该过 Logical Data Model 文件,还须生成其对应的 Physical Data Model 文件,再执行由更改后的 Physical Data Model 文件生成的 DDL 语句来变更数据。
我们在前文中对以上几种方法都进行过详细的说明和演示,这里就不再赘述了。
结束语
作为一款优秀的数据库综合开发工具,IDA 不仅在数据设计阶段有着强大的建模优势,而且在数据生命周期中的其它阶段里也有着许多实用的功能。因此,在全面地了解了 IDA 的各种功能与特性之后,用户就可以更合理、更有效地使用 IDA,使 IDA 更大限度地为用户服务。
本文介绍了 IDA 在数据开发、部署与管理阶段的应用。 IDA 在数据治理与设计阶段的应用部分,在本文的系列文章 “ InfoSphere Data Architect 在整个数据生命周期中的应用,第 1 部分” 中有详细介绍。
参考资料 学习
获得产品和技术
讨论
关于作者  | 
|  | 刘麒赟,软件工程师,于 2008 年加入 IBM 中国软件开发中心 Data Studio QA and Automation team。目前专职于 IDA、DSD 与 DS 的 QA 工作,以及软件自动化测试工具的应用与开发。 |
对本文的评价
|