使用 Rational Data Architect 和 Informix Dynamic Server 进行

来源:岁月联盟 编辑:zhuzhu 时间:2009-03-06

  开始之前

  本节解释本教程讲授什么内容,以及如何从中获得最大的收益。

  关于本教程

  本教程介绍 RDA 中的各种特性,讲解如何对 IDS 使用 RDA。学习如何通过反向工程从数据库生成物理模型、把业务需求转换为(逻辑和物理)模型以及关联领域元素,从而帮助识别 IDS 数据库中的重要和机密信息。

  目标

  在本教程中,学习如何:

  连接 IDS 服务器

  通过反向工程从现有的数据库生成新的物理模型

  从逻辑模型创建物理数据库模式

  修改现有的逻辑模型并把修改应用于数据库

  通过连接领域模型和数据库,保持数据的一致性和质量

  先决条件

  本教程假设读者了解 Informix 数据库服务器的基本知识,并且基本了解如何使用基于 Eclipse 的工具。如果希望了解基于 Eclipse 的工具的背景知识,可以阅读 RDA 欢迎页面包含的 Eclipse 平台概述。

  系统需求

  需要一个运行 Windows® XP 或 Windows Vista® 的系统,系统应该有大约 1GB 磁盘空间以便安装 RDA 和 IDS。在本教程中,我使用 Informix Dynamic Server version 11.10.TC2 和 RDA version 7.5。本教程使用 superstores_demo 数据库,这是通过 INFORMIXDIRbin 目录中的 dbaccessdemo9 脚本创建的。

  对 Informix Dynamic Server 使用 RDA

  Rational Data Architect 简介

  IBM Rational Data Architect (RDA) 是一个协作式数据设计解决方案,可以发现各种分散的数据资产并对其进行建模、关联和标准化。在任何企业数据环境中,RDA 都是一种基本工具。它具有以下优点:

  通过提供以下功能提高数据质量和一致性:

  建立和重用逻辑数据模型,以逻辑模型作为企业体系结构的语义基础。

  自动执行某些数据设计任务,比如能够根据逻辑设计生成数据源的物理设计;RDA 支持多种数据环境,包括 DB2、Informix、Oracle、Microsoft、Sybase 和 mySQL。

  通过反向工程从现有的数据库模式生成物理模型,对比和同步数据模型。

  分析和实施企业命名和数据元素定义标准。

  通过创建规则生成符合标准的名称。

  导入业务术语表或与 WebSphere Business Glossary 集成。

  通过支持以下任务简化和加快数据集成设计:

  显示现有的各种数据源的结构。

  根据数据的性质或列元数据了解这些数据源的关系。

  通过鼠标操作定义现有数据资产之间的关系。

  通过以下功能更好地调整、控制和加快软件开发过程:

  与其他 Rational Software Development 工具集成,包括 Rational RequisitePro、WebSphere Business Modeler、Rational Software Modeler、Rational Software Architect 和 Rational ClearCase。

  简化业务分析师、架构师、开发人员和管理员之间的协作。

  把各种工具组合在同一个 Eclipse 实例中,以便在与数据相关的不同团队之间转移或共享对象。

  启动 RDA

  通过 Start->All Programs->IBM Software Delivery Platform->IBM Rational Data Architect 7.5->IBM Rational Data Architect 启动 RDA,见图 1。

  图 1. 启动 RDA

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  在此产品启动时,它会询问默认的工作空间位置。接受默认位置或指定一个合适的目录位置,然后单击 OK。这会启动此产品并打开默认的透视图。

  连接 IDS 实例

  在启动 RDA 之后,首先应该连接一个 Informix 数据库实例。为此,要确保已经打开了 Data 透视图,见图 2。Data 透视图的左上角显示 “Data Project Explorer”,左下角显示 “Data Source Explorer”。

  图 2. Data 透视图

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  如果 Data 透视图没有打开,那么选择 Window-> Open Perspective->Data,或者选择 Window->Open Perspective->Other 并选择 Data,见图 3。

  图 3. 切换透视图

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  找到屏幕左下角的 Data Source Explorer 视图,见图 4。

  图 4. Data Source Explorer 视图

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  在 “Data Source Explorer” 视图中,右键单击 Databases->New。一个向导打开;在左边选择 Informix 并输入数据库服务器的其他详细信息,见图 5。

  图 5. 连接 Informix

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  注意:要想添加 JDBC 驱动程序的位置,应该在 New Connection 向导中单击 JDBC Driver 下拉框旁边的三角形(图中以红色突出显示)。可以使用 Informix JDBC 驱动程序或者能够连接 Informix 和 DB2 的 JCC 驱动程序。注意,JCC 驱动程序可以连接 IDS 11.0 或更高版本。

  单击 Test Connection 以确认连接参数是正确的,然后单击 Finish。这会对后面的所有步骤使用默认设置并连接到数据库。然后可以单击数据库并查看各种数据库对象,见图 6。

  图 6. 查看 Informix 对象

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  通过反向工程从数据库生成模型

  本节讲解如何从现有的数据库模式创建模型。如果您希望开始使用模型记录数据库更改并与团队的其他成员交流,那么执行以下步骤。

  选择 File->New->Data Design Project。

  把项目命名为 “storesModel” 并单击 Finish。应该能够在 Data Project Explorer 中看到此项目,见图 7。

  图 7. Data Project Explorer

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  展开 storeModel 项目,右键单击 Data Models 并选择 New-> Physical Data Model。

  在 New Physical Data Model 向导中执行以下步骤,从而从现有的数据库创建物理模型。

  在 Database 下拉列表中,选择 Informix。

  图 8. Physical Model 向导的步骤 1

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  确保选择 Create from Reverse engineering 单选按钮,然后单击 Next。

  选择连接 superstores_demo(图 9)并单击 Next。

  图 9. Physical Model 向导的步骤 2

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  在 Select Schema 页面上,选择一个模式并单击 Next。在图 10 所示的示例中,选择了 vgopal。

  图 10. Physical Model 向导的步骤 3

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  在 Database Elements 页面中,取消除了 “Tables” 和 “Indexes” 之外的所有数据库元素,见图 11。(可以为多个元素创建模型。对于本教程,只希望为数据库中的所有表创建模型)。

  图 11. Physical Model 向导的步骤 4

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  单击 Finish。

  恭喜,我们已经从现有的数据库创建了一个物理模型。展开 Data Project Explorer 中的 Data Models,就可以看到创建的模型对象,见图 12。

  图 12. superstores_demo 的物理模型

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  还可以看到此模型中元素的概况图。可以选择所有元素,也可以显式地选择要查看的元素。

  我们来看看表的概况图:

  在 Data Project Explorer 中,通过选择 storesModel->Data Models->Database Model.dbm->superstores_demo->vgopal->Diagrams 找到刚才创建的数据模型。右键单击 Diagrams 并选择 New Overview Diagram。

  确保选中 Infer Implicit relationships 复选框。

  选择 Customer、Orders 和 Items 表。

  单击 Finish。因为在前一步中选中了 “Infer Implicit relationships” 框,所以可以看到图中也选择了 Stock 和 Location 表,这是因为它们与您选择的表之间存在外键关系。

  在左边进行导航或单击图本身中的对象,就可以看到表定义、主键、外键和用户定义的类型。例如,如果单击 Customer 对象,就可以在屏幕底部的 Properties 视图中看到它的属性。Orders 表的属性见图 13。只需在图中单击 Orders 表并查看 Properties 视图中的各个选项卡。

  图 13. 表的 Properties 视图

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  现在可以做什么?

  本节讨论可以利用新的物理模型完成的几个任务:

  分析模型,检查它是否符合企业标准

  为 Informix Dynamic Server 等目标数据库生成适当的 DDL

  发布物理模型

  转换为逻辑数据模型

  与原来的物理模型做比较

  检查模型是否符合企业标准

  通过分析模型,可以检查模型是否符合某些数据库设计规则、命名标准等。

  右键单击模型(见图 14)并选择 Analyze Model。

  图 14. 分析模型

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  选择分析所用的规则,见图 15。程序会执行详细的分析。

  图 15. 分析模型

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  生成 DDL

  右键单击模型并选择 Generate DDL。这会打开图 16 所示的向导。(注意,可以在模式级生成 DDL,也可以为整个数据库物理模型生成 DDL)。选择要为其生成 DDL 的模型元素,在向导的第三步中可以选择 Run DDL on Server 复选框。这样就可以在生成脚本之后直接在数据服务器上运行 DDL。在默认情况下,脚本存储在项目目录中。

  图 16. Generate DDL 向导

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  发布物理模型

  发布物理模型的方法是,在 Data Project Explorer 中突出显示模型文件(.ldm、.dbm 或 .ddm 文件),然后在主工具栏中单击 Data->Publish->Web 并指定一个目标文件夹,见图 17。然后,打开在目录文件夹中创建的 index.html 文件,就可以看到此模型。

  图 17. 发布模型

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  转换为逻辑模型

  创建逻辑模型可以保存数据模型的记录,而且模型架构师通常使用逻辑数据模型而不是物理模型。

  在 Data Project Explorer 中单击物理模型(Database Model.dbm),然后单击图 18 中突出显示的主工具栏按钮。

  图 18. 把物理模型转换为逻辑模型

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  对物理模型做比较

  可以在数据库级或表级对物理模型和数据库做比较。假设在模型中的 Orders 表中添加了一个 deliver_date 列。通过右键单击 Orders 表并选择 Compare with -> Original source,与源数据库做比较。

  在中间的编辑器中会弹出一个比较窗口,见图 19。

  图 19. 比较物理模型和数据库

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  可以通过这个比较窗口对比物理模型和数据库之间的任何差异。还可以分析修改的影响、复制修改和生成差异 DDL。

  通过单击 图 20 中最左边突出显示的按钮,把修改从左边复制到右边。

  然后单击 图 20 中最右边突出显示的按钮,生成 ALTER DDL。

  这个功能非常强大,允许用户有选择地管理修改。

  图 20. 比较物理模型和数据库

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  从逻辑模型开始自顶向下的开发

  逻辑建模过程收集业务需求并把这些需求转换为模型。逻辑模型体现业务的需求而不是数据库,尽管要使用业务需求建立数据库需求。建模架构师负责进行逻辑建模。当模型设计已经满足必要的需求时,把逻辑模型转换为物理模型,最终作为物理工件部署到数据库。这是新应用程序通常采用的开发流程。下面看看具体步骤。

  右键单击 storesModel project 并选择 New->Logical Data Model。指定模型名称 storesLogicalModel 并单击 Finish。在屏幕右边会打开一个新的编辑器,见图 21。

  图 21. 创建新的逻辑模型

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  注意:因为这是在逻辑模型级上,所以我们要使用逻辑模型级元素而不是数据库级元素。因此,在这个模型中,要添加实体、属性和关系等。在把此模型转换为物理模型时,实体被映射到表,属性映射到列,等等。

  我们来为书店创建一个简单的逻辑模型,见图 22。此模型中的实体是 Book、Author 和 BookCategory。对于每个 Book 实体,可以有多个 Author;每个 Book 属于一个或多个 BookCategory 实体。因此,在 Book 与 Author 实体和 BookCategory 实体之间存在一对多关系。

  图 22. 我们将创建的模型

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  使用图 23 所示窗口右边的 Palette 设计器创建实体和属性。

  图 23. 创建实体

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  可以在实体中添加元素,方法是右键单击实体(或把鼠标停留在实体上),使用图 24 所示的两个按钮添加主键或属性。也可以在底部的 Property 对话框中添加属性。

  图 24. 添加属性

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  按照以下步骤创建所有三个实体以及它们的主键和关系:

  创建 Book 实体

  添加主键 BookID

  添加属性 ISBN、DatePublished、BookTitle 和 BookComments

  按照图 25 设置类型

  图 25. Book 实体的属性

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  创建 BookCategory 实体

  添加主键 BookID

  添加属性 CatCode 和 CatDes

  按照图 26 设置类型

  图 26. BookCategory 实体的属性

使用 Rational Data Architect 和 Informix Dynamic Server 进行数据建模

  创建 Author 实体

  添加主键 BookID 和 AuthorID

  添加属性 AuthorName 和 AuthorBio