IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

InfoSphere Data Architect 在整个数据生命周期中的应用: 第 1 部分

InfoSphere Data Architect 在数据治理与设计阶段的应用

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

刘麒赟 ( liuqy@cn.ibm.com), 软件工程师, IBM

2009 年 6 月 11 日

本文根据具体实例,展示 InfoSphere Data Architect ( 前身是 Rational Data Architect) 在数据生命周期的设计、开发、部署、管理和治理等各个阶段的主要应用。并通过介绍 IDA 的使用经验,使用户对 IDA 产生更全面的认识,并提高用户对 IDA 的使用体验。

InfoSphere Data Architect 简介

InfoSphere Data Architect ( 本文中简称为 IDA) 的前身是 Rational Data Architect (RDA) 。在版本 V7.5.1 中,Rational Data Architect 已被重命名为 InfoSphere Data Architect 。

IDA 是一个基于 Eclipse 构建的综合的开发环境,主要用于进行数据建模、管理及整合数据资产,以及开发数据库应用程序。

IDA 主要提供的建模手段有逻辑、物理、存储、域和集成数据建模。 IDA 可以验证模型和已部署的数据库,包括命名标准、语法和一致性、规范化以及其他最佳实践验证。同时,IDA 还提供了生命周期管理功能,包括模型之间的影响分析以及扩展比较和同步功能。 IDA 独有的映射编辑器,可帮助用户通过发现功能使不同的数据结构彼此相关以检测关系。 此外,在数据开发方面,IDA 拥有用于 SQL 语句、存储过程和用户定义的函数的数据库 CODE 设计器, 并支持在数据库中运行语句,还支持对 DB2 等数据库的存储过程和用户定义的函数进行调试。





回页首


IDA 的应用范围

从 IBM 的观点来看,数据的生命周期主要由设计、开发、部署、管理和治理组成。而其中的治理不是一个单独的阶段,它贯穿了整个数据的生命周期。


图 1. 数据生命周期
图 1. 数据生命周期

IDA 的核心优势在于其强大的建模能力。因此,以一般观点来看,IDA 主要应用于数据生命周期中的设计阶段。事实上,IDA 的强大不仅因为其在数据设计阶段中出色的建模功能,而且还有赖于其在数据的开发、部署、管理等阶段中完善的数据开发、数据部署及管理等能力。因此,在实际应用中,可以在数据生命周期的各个阶段里使用 IDA 。 IDA 在数据生命周期各阶段里的主要应用,以及实现该应用所使用的主要功能模块如下表所示:


表 1. IDA 在数据生命周期各阶段里的主要应用与功能模块
数据生命周期阶段主要应用主要功能模块
设计阶段根据需求制定策略,完成建模等Logical Data Model
开发阶段编写、生成、测试、调优数据等Data Deployment Project
部署阶段持久化数据,将数据部署到数据库等Physical Data Model
管理阶段操作管理、存储管理、恢复管理、变更管理等Logical Data Model,
Physical Data Model
Data Deployment Project
治理阶段制定数据命名规范,自定义数据类型等Glossary Model,
Domain Model

只有充分理解了 IDA 在数据生命周期各阶段的主要应用,才可以更好、更合理地使用 IDA,更大限度地发挥其优势。本系列文章将用一个贯穿整个数据生命周期的简单实例,详细地描述 IDA 在各个阶段的主要应用。

本文主要介绍 IDA 在数据生命周期中的治理与设计阶段的作用。至于 IDA 在数据开发、部署与管理阶段的应用部分,将在本文的系列文章“ InfoSphere Data Architect 在整个数据生命周期中的应用,第二部分”中作详细介绍。





回页首


IDA 在数据治理阶段的应用

数据治理阶段贯穿整个数据生命周期,有着制定规范,统一规则等作用。因此,本文将首先介绍 IDA 在该阶段的应用。

IDA 在数据治理阶段的应用主要是制定数据命名规范与自定义数据类型。

制定数据命名标准

制定数据命名标准是数据管理的重要内容。使用规范、合理的数据对象命名标准有利于对数据的统一理解,有利于跨组织边界共享数据,以及有利于减少数据的重复冗余。数据命名标准属于企业级别的规范。各个组织和公司都在力图提高效率,他们迫切需要数据管理方面的命名标准并已经开始实施这些标准。随着组织信息化的拓广与深入,许多组织已经认识到了数据命名标准在数据管理中的重要性,并开始实施命名标准。

实施命名标准,那么在为数据对象命名时必须:

  • 在内容上,使用术语表中定义的词汇;
  • 在格式上,符合指定的词汇次序。

IDA 可以通过自身的词汇表模型 (Glossary Model) 帮助用户定义术语表和数据对象命名标准。首先,这便利了用户创建符合命名标准的数据对象名称;其次它有助于在确保符合命名标准的前提下,将逻辑模型对象名称转换为物理名称。

下面我们首先将在 IDA 创建一个数据设计项目 (Data Design Project),来实现本文需要演示的 IDA 的功能。

创建数据设计项目

从“ File → New → Data Design Project ”创建一个数据设计项目 (Data Design Project),命名为“ DataLifecycle ”。


图 2. 创建数据设计项目
图 2. 创建数据设计项目

创建词汇表模型 (Glossary Model)

从“ File → New → Glossary Model ”在 DataLifecycle 中创建一个 Glossary Model,命名为“ GlossaryModel ”。并在“ New Glossary Model ” wizard 中,将“ Add to project properties as project naming standard ”选项选上。


图 3. 创建 Glossary Model
图 3. 创建Glossary Model

在词汇表中创建数据命名标准词汇

数据命名标准在不同的组织的实现有着较大的差异,但是该标准一般的关注点分为内容和格式两方面。

在 IDA 中,在数据命名标准的内容上,词汇类型分为三类:基本单词(prime)、类单词(class)和行业术语 (Business Term) 。这三类词汇类型都可以选择是否成为修饰类型词 (Modifier) 。


图 4. 创建词汇
图 4. 创建词汇

在 IDA 中指定数据命名标准格式

在 IDA 中,用户可以通过配置“ Window → Preference → Data Management → Naming Standard ”上的各种选项,来设置项目所遵循的数据命名标准格式。


图 5. 设置数据命名标准格式
图 5. 设置数据命名标准格式

词汇格式配置针对三种模式:Logical 类型,设置实体和属性对象名称的模式; Physical-Table/Column,设置物理模型中的表和列对象名称的模式; Physical-Other,设置除了表和列之外的物理对象模式。在 Glossary 选项页面上可以指定默认的词汇表模型。我们设置这里指定的词汇表模型应用于本项目中的词汇表模式 GlossaryModel 。

至此,我们完成了在 IDA 中定义数据命名标准的工作。该标准对工程的具体帮助,我将会在后文中介绍。

自定义数据类型

除了使用系统提供的数据类型外,用户还可以根据需要用自定义的数据类型来定义表的列,或者声明变量。对于业务逻辑复杂的系统来说,合理的运用域模型可以提高数据类型的可重用性以及可维护性。用户自定义数据类型是以系统提供的数据类型为基础的。并且为了确保系统的一致性、可重用性以及可维护性,应该在较高层面统一制定自定义数据类型。在 IDA 中可以通过领域模型 (Domain Model) 来实现用户自定义数据类型。

下面通过实例来演示在 IDA 中如何创建并使用 Domain Model 来自定义数据类型。

创建 Domain Model

在之前创建的工程 DataLifecycle 里,通过“ File → New → Domain Model ”创建一个 Domain Model,取名为“ DomainModel ”。


图 6. 创建 Domain Model
图 6. 创建Domain Model

创建 Atomic Domain

在 DomainModel 里创建一个 Atomic Domain,取名为“ salary ”。该类型用来记录员工工资。并设置 salary 的类型为“ Integer ”,最小值不小于 0(Minimum Inclusive = 0)。


图 7. 创建 Atomic Domain
图 7. 创建Atomic Domain

现在,我们就建好了一个 Domain Model,并在其建好了一个 Atomic Domain 。以后,我们就可以在工程里使用这个我们创建的自定义数据类型了。

至此,IDA 在数据治理阶段的制定数据命名规范与自定义数据类型功能就介绍完了。在随后的内容中,我们将会使用到我们自定义的词汇规则与数据类型,并体会到其优势。





回页首


IDA 在数据设计阶段的应用

数据模型是信息模型的抽象。通过数据模型的创建,可以实现信息模型的抽象化。数据建模往往作为数据设计阶段的核心工作,在数据的整个生命周期里起着纲领性的作用。

IDA 的主要优势就在于其强大的、多层次的建模能力。因此,IDA 可以使数据设计阶段的建模工作变得高质、高效。

一般情况下,IDA 在数据设计阶段的数据建模工作是从逻辑数据模型 (Logical Data Model) 开始的。在 IDA 中,Logical Data Model 是独立于具体数据库的“实体 - 关系模型” (Entity-Relationship Model) 。其主要构成元素有实体、实体属性 ( 数据 ) 以及实体之间的关系。

Logical Data Model 的创建可以有四种途径:

  • 创建新的 Logical Data Model ;
  • 将已有的物理数据模型 (Physical Data Model) 转化为 Logical Data Model ;
  • 将已有的 UML 文件转化为 Logical Data Model ;
  • 将已有的 XML Schema 文件转化为 Logical Data Model 。

以下我们就将通过分别介绍这四种途径来共同学习如何使用 IDA 在数据设计阶段进行数据建模工作。

创建新的 Logical Data Model

创建 Logical Data Model

在之前创建的工程 DataLifecycle 里,通过“ File → New → Logical Data Model ”创建一个 Logical Data Model,取名为“ LogicalDataModel ”。


图 8. 创建 LogicalDataModel
图 8. 创建LogicalDataModel

在图中可以看出,新建的 LogicalDataModel 的文件类型是“ *.ldm ”。生成 LogicalDataModel 的同时也在其下生成了一个 Diagram1 画板。逻辑数据设计、建模可以在该画板上完成。

现在我们开始在 LogicalDataModel 里实现一个简单的模型的建模。


图 9. 创建实例模型
图 9. 创建实例模型

不难看出,我们创建的这个模型里的各个实体及其它们之间的关系:一个公司拥有多个部门;一个部门拥有多个员工,其中一个是部门经理;每个员工都有一张工资纪录。需要说明的是:由于部门实体 (DEPARTMENT) 需要用公司实体 (COMPANY) 外键 (COMPANY_ID) 与自己的主键 (DEPARTMENT_ID) 才能对自身进行唯一标示,因此在本模型中公司实体与部门实体之间使用的关系类型是标示类型 (Identifying) 。本实例中其它的关系类型选择也同此理。

使用 Domain Model 里的自定义数据类型

在前面的章节里,我们在自己创建的 DomainModel 里定义了一个数据类型 salary 类型。现在,我们就可以将该类型应用于 LogicalDataModel 中:在 PAYMENT 实体中增加 salary 类型的属性 EMPLOYEE_WAGE 。


图 10. 在 PAYMENT 实体中增加 salary 类型的属性 PAYMENT_WAGE
图 10. 在PAYMENT实体中增加salary类型的属性PAYMENT_WAGE

使用 Glossary Model 校验数据命名规范

到目前为止,我们完成了数据设计阶段的 Logical Data Model 的创建工作。但是,若要保证我们的设计符合公司的数据命名标准,则还需要对我们设计的 Logical Data Model 进行校验工作。在 IDA 里,这个校验工作可以在我们之前创建的 GlossaryModel 的帮助下轻松完成。

使用 GlossaryModel 来完成校验工作的方法很简单。首先,右键点击 Logical Data Model 下的“ package1 ”,选择“ Analyze Model ”选项。然后,在弹出的“ Model Analyze Rules ”里勾选上“ Naming Standard ”选项,点击“下一步”。最后,在“ Glossary Models ”里导入我们之前所创建的 GlossaryModel,点击“完成”。这时,IDA 就开始对 LogicalDataModel 进行命名规范的校验工作了。


图 11. 选择 GlossaryModel
图 11. 选择GlossaryModel

随后,如果 LogicalDataModel 中有不符合命名规范的地方,IDA 会将校验结果返回到“ Problem ”选项卡上。


图 12. 返回校验结果
图 12. 返回校验结果

返回的结果中有两个警告信息。从中可以看出,我们定义的 LogicalDataModel 中有两个不符合命名规范的地方:属性“ NAME ”的命名中缺少“ prime word ”;属性“ PAYMENT WAGE ”里的单词“ WAGE ”在词汇表中的词库中不存在。

根据 IDA 返回的这些校验信息,我们将 LogicalDataModel 作相应的修正。


图 13. 修改后的实例模型图
图 13. 修改后的实例模型图

这时再对修改后的 LogicalDataModel 进行校验。


图 14. 返回无非规范命名的结果
图 14. 返回无非规范命名的结果

IDA 返回的结果再无错误提示。这说明现在的 LogicalDataModel 已符合命名规范。

至此,我们已经利用 IDA 完成了对 LogicalDataModel 进行命名规范校验。相信您已能够体会到 IDA 在这方面的强大与易用。同时,我们也完成了一个新的 Logical Data Model 的创建工作。

将物理数据模型 (Physical Data Model) 转化为 Logical Data Model

正如前文中所介绍的那样,除了从头创建一个新的 Logical Data Model 外,还可以通过其它方法来创建它。现在,我们将介绍如何将已有的物理数据模型 (Physical Data Model) 转化为 Logical Data Model 。例如,我们现在有如下一个 Physical Data Model 。


图 15. Physical Data Model
图 15. Physical Data Model

要将该 Physical Data Model 转化为 Logical Data Model,只需要在 Data Project Explorer 中选中该 Physical Data Model,然后选中“ Data → Transform → Logical Data Model ”就可以进入配置页面。接受默认选项,将转化后的 Logical Data Model 命名为“ Tran_ LogicalDataModel ”。在点击“ Finish ”按钮后,就可以生成新的 Logical Data Model 。


图 16. 由 Physical Data Model 转化的 Logical Data Model

将 UML 文件转化为 Logical Data Model

Logical Data Model 除了可以由 Physical Data Model 转化而来,也可以由 UML 文件转化得到。因此,用户可以先在类似 IBM 的建模工具 Rational Software Architecture(RSA)中进行应用程序建模,得到 UML 文件。然后,再将 UML 文件在 Rational Data Architect(RDA)中转化为 Logical Data Model,以完成数据建模。

用户可以从“ Data → Transform → New Configuration ”中选择将已有的 UML 文件转化为 Logical Data Model 文件。


图 17. 选择将已有的 UML 文件转化为 Logical Data Model 文件
图 16. 由Physical Data Model转化的Logical Data Model

将 XML Schema 文件转化为 Logical Data Model

XML Schema 文件也可以转化为 Logical Data Model 文件。除了源文件格式不同外,该种转换方法和 4.3 节中所介绍的“将 UML 文件转化为 Logical Data Model ”类似,本文就不再赘述。





回页首


结束语

作为一款优秀的数据库综合开发工具,IDA 不仅在数据设计阶段有着强大的建模优势,而且在数据生命周期中的其它阶段里也有着许多实用的功能。因此,在全面地了解了 IDA 的各种功能与特性之后,用户就可以更合理、更有效地使用 IDA,使 IDA 更大限度地为用户服务。

本文介绍了 IDA 在数据治理与设计阶段的应用。 IDA 在数据开发、部署与管理阶段的应用部分,将在本文的系列文章“ InfoSphere Data Architect 在整个数据生命周期中的应用,第二部分”中介绍。



参考资料

学习

获得产品和技术
  • 现在可以免费使用 DB2 。下载 DB2 Express-C,这是为社区提供的 DB2 Express Edition 的免费版本,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。

  • 下载 InfoSphere Data Architect 试用版,试用本文中描述的特性。

  • 使用可直接从 developerWorks 下载的 IBM 产品评估试用软件 构建您的下一个开发项目。


讨论


关于作者

刘麒赟

刘麒赟,软件工程师,于 2008 年加入 IBM 中国软件开发中心 Data Studio QA and Automation team。目前专职于 IDA、DSD 与 DS 的 QA 工作,以及软件自动化测试工具的应用与开发。




对本文的评价








IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款