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

developerWorks 中国  >  Information Management | Rational  >

Data Studio Administrator,第 1 部分: 将 Data Studio Administrator 与 Rational Data Architect 集成

创建从设计和建模到数据库变更管理的集成化流程

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

样例代码

英文原文

英文原文


级别: 中级

Carolyn Henry, 信息开发人员, IBM
Leila Johannesen, 可用性工程师, IBM
Don Langworthy, 软件工程师, IBM
Patti Tonello, 信息开发人员, IBM

2007 年 4 月 05 日
更新 2008 年 10 月 13 日

本文重点阐述 Data Studio Administrator(以前称为 DB2 Change Management Expert)与 Rational® Data Architect 的集成。您将学习这两种工具共同的观感、各自的优点,以及将它们结合起来使用的好处。本文包括一个逐步的说明和演示这两种工具之间的触点的示例。

注意:本文是以前发表的文章 “DB2 Change Management Expert” 的更新。本文解释了新的名称 “IBM Data Studio Administrator”,以及其他可用于 Data Studio Administrator Version 1.2 的变更。

概述

将数据库变更管理过程想象成一套彼此相连的拼图。一块拼图是数据建模,另一块是数据库更改。本文将展示将这者结合在一起的 IBM 解决方案。IBM Data Studio Administrator 是一款数据库变更管理工具。它可以单独使用,也可以与 IBM Rational Data Architect 结合使用,后者是用于企业数据建模和集成设计的工具。在物理数据模型方面,这两种工具颇为相似,因而可以集成从设计和建模到数据库变更管理的过程。物理数据模型将数据架构师、开发人员和数据库管理员统一起来,而不是在个人与组之间转换更改。

Data Studio Administrator 和 Rational Data Architect 都使用 Eclipse 框架。同时使用这两个产品的团队可以利用 Eclipse Team 组件来控制信息流。此外,Rational Data Architect 和 Data Studio Administrator 可以同时出现在同一个 Eclipse 框架中(通过 “共享的 shell” 安装来实现)。如果在一人需要完成多个任务,共享的 shell 还可以提供一个单独的用户界面。

场景概述

本文演示客户如何在同一个场景中使用这两种产品。我们将以一家虚构的公司 JK Enterprises 作为示例客户。JK Enterprises 已经开始使用 Data Studio Administrator 和 Rational Data Architect。JK Enterprises 的数据建模师 Tom 正在使用 Rational Data Architect,而公司的 DBA Eric 正在使用 Data Studio Administrator。但是请注意,在某些较小的工作室,可能一个人同时使用这两个工具。

假设 JK Enterprises 决定为项目添加完成代码。他们需要对数据库加以更改,添加一个完成代码表,但是他们还希望在逻辑模型中反映这一更改。由于不确定逻辑模型是否是最新的,因此他们首先根据生产数据库创建一个物理模型。Eric 将在 Data Studio Administrator 中创建这个物理模型,并将它发送给 Tom。然后,Tom 使用 Rational Data Architect 将这个物理模型转换为一个逻辑模型,并指定完成代码实体、所需的关系和适当的属性。然后,通过与 Eric 协商,他在 Rational Data Architect 中将这个逻辑模型转换成一个物理模型。然后,Eric 在 Data Studio Administrator 中使用这个更新后的物理模型,并将变更迁移到一个测试数据库中。图 1 展示了这个过程:


图 1. 场景概述
场景中 3 个主要步骤的图形化表示

本场景分为以下 3 个主要部分:

  1. Eric 使用 Data Studio Administrator 为 HR 数据库 创建一个物理模型
  2. Tom 使用 Rational Data Architect 将物理模型转换为逻辑模型,并更改逻辑模型。
  3. Eric 使用 Data Studio Administrator 将 Tom 的更改迁移至 HR 数据库

如果您具备以下的先决条件,那么可以通过完成以下小节中的步骤来尝试这个场景。

先决条件

本场景使用 Data Studio Administrator Version 1.2 和 Rational Data Architect 7.0。假设数据库管理员已经在计算机上安装了 Data Studio Administrator,并且数据架构师已经在计算机上安装了 Rational Data Architect。(如果一个人既是数据库管理员又是数据架构师,那么应该在同一台计算机上同时安装这两个工具)。

此外,必须在 DB2 Universal Database™ V8 (DB2 UDB) 或 DB2 V9.1 数据库中创建 JK Enterprises 的 HR 数据库。可以使用 Data Studio Administrator 来创建这个数据库。完成以下步骤,以创建并填充该数据库:

  1. 下载 DSARDADemo.zip package 到一个临时目录,并解压缩这个包。
  2. 使用 Data Studio Administrator 创建一个新的数据设计项目。
  3. 将 createDSARDADemo.chx 从临时目录复制到刚才创建的数据设计项目中的 SQL Scripts 文件夹中。
  4. 展开 SQL Scripts 文件夹。
  5. 右键单击 createDSARDADemo.chx 文件,然后单击 Run SQL。这时会弹出 Deploy Change Commands 向导。
  6. 完成 Deploy Change Commands 向导中的步骤,创建和填充 HR 数据库:
    1. 确认选择了适当的数据库版本。
    2. 输入用户名和密码。
    3. 取消复选框 Create Deployment Project and Script file 并单击 Finish

场景步骤

A 部分:创建 HR 数据库的物理模型

在本场景的第一部分,Eric(数据库管理员)创建一个新的部署脚本,它是一个跟踪变更管理进程的 Data Studio Administrator 资源。当他为 HR 数据库创建部署脚本时,会创建该数据库的两个物理模型。第一个模型是基本模型,表示数据库的当前状态。第二个模型是目标模型,您要编辑这个模型,以指定更改后数据库的样子。

Eric 会将基本模型发送给 Tom。之后,Eric 将 Tom 在本场景第二部分进行的更改应用到目标模型。

如果您处于 Eric 的位置,请完成以下步骤来创建部署脚本和物理模型。

  1. 从主菜单栏中,单击 File --> New --> Deployment Script。这时会弹出 Deployment Script 向导。
  2. 完成 Deployment Script 向导中的步骤:
    1. 输入 “DSARDADemo” 作为项目名称,然后输入 “DSARDADemo_HR” 作为部署脚本的名称。单击 Next
    2. 选择 Use Existing Connection,然后选择 JKENT。单击 Next
    3. 选择 Change in Place 作为过程,然后取消 Migrate table data 复选框。单击 Next
    4. 如果提示,则输入用户 ID 和密码。单击 Next
    5. 选择 HR 作为模式。单击 Next
    6. 确认选择了所有元素。单击 Next
    7. 确认基本模型的默认名和 HR 模式的目标模型。单击 Finish。在这个场景中,默认名称为 DSARDADemo_HR_base.dbm 和 DSARDADemo_HR_target.dbm。

      Data Studio Administrator 创建部署脚本和 HR 模式的基本模型及目标模型。图 2 展示了当展开 Data Models 和 SQL Scripts 文件夹时出现的模型和脚本:



      图 2. Data Project Explorer
      Data Project Explorer

  3. 此时,通过电子邮件将基本模型发送给 Tom,Tom 是数据建模师和数据架构师,他安装了 Rational Data Architect。或者,也可以将它签入到一个版本控制系统中,这样 Tom 就可以通过 Rational Data Architect 查看它。

B 部分:将物理模型转换成逻辑模型,并更改逻辑模型

插入版本控制
通过 the Eclipse Team 功能,用户可以在 Eclipse 工作台中访问版本控制系统。欲了解更多信息,请参阅关于该主题的 developerWorks 文章,见 本系列中的更多文章

在本场景的第二部分中,Tom 将从 Eric 那里收到的 HR 数据库的物理模型添加到一个数据设计项目中。他将该物理模型转换成一个逻辑模型,然后使用一个数据图对逻辑模型作出以下更改:

  • 添加一个新实体 COMPLETION_CODES,它有两个属性:COMP_CODE 和 DESCRIPTION。
  • 将一个新属性 COMP_CODE 添加到 PROJECT 实体。
  • 创建 COMPLETION_CODES 和 PROJECT 实体之间的一个外键关系,其中 COMPLETION_CODES 是父实体。
  • 删除 ORGANIZATION 实体的 DEPTNAME 属性,因为 ORGANIZATION 中的 DEPTNAME 与 DEPARTMENT 实体中的 DEPTNAME 是重复的。

更改逻辑模型之后,Tom 将逻辑模型转换成物理模型,并将这个更改过的物理模型发送给 Eric。

如果您处于 Tom 的位置,请完成以下步骤:

  1. 启动 Rational Data Architect。
  2. 确认设置了首选项,以去掉模型转换期间 ROWID(作为逻辑数据类型)与 CHAR(作为物理数据类型)之间的数据映射。为了检查首选项设置,完成以下步骤:
    1. 单击 Window --> Preferences,以显示 Preferences 窗口。
    2. 单击 Data --> Transform --> Data Type Map,以显示 Data Type Map。
    3. 如果有一行中 Logical Data Type 为 ROWID,则删除该行。
    4. 单击 OK
  3. 复制 Eric 通过电子邮件发来的物理模型,将其粘贴到一个数据设计项目中。
  4. 完成以下步骤,将物理模型转换成逻辑模型:
    1. 在 Data Project Explorer 中,在数据设计项目的 Data Models 文件夹下,选择物理模型 DSARDADemo_HR_base.dbm,然后从主菜单栏中单击 Data --> Transform --> Logical Data Model。这时会弹出 Transform to Logical Data Model 向导。
    2. 完成向导中的步骤:
      1. 在 Target Logical Model 页面上,单击 Create new model,然后单击 Next
      2. 在 Logical Data Model File 页面上,接受用于逻辑模型的默认数据设计项目和逻辑模型的默认名称。单击 Next
      3. 在 Options 页面上,指定 “HR” 作为包名。单击 Next
      4. 在 Output 页面上,可以看到物理模型已经被转换成逻辑模型,单击 Finish 保存逻辑模型。

      这时会打开 Logical Data Model Editor,显示关于该逻辑模型的信息。逻辑模型 DSADEMO_HR_base.ldm 在 Data Models 文件夹中创建并显示,如图 3 所示:



      图 3. Data Project Explorer
      Data Project Explorer

  5. 为逻辑模型创建一个数据图。您将使用数据图更改逻辑模型。
    1. 在 Data Models 文件夹中展开逻辑模型。
    2. 右键单击 Diagrams(在 HR 下),然后单击 New Overview Diagram
    3. 选择 HR 模式,以包括所有相应的元素,然后单击 OK。该图在 Data Diagram Editor 中打开,如图 4 所示:


    图 4. HR 模式的实体图
    HR 模式的实体图

  6. 将用于完成代码的名为 COMPLETION_CODES 的实体添加到模型中。
    1. 右键单击 Data Diagram Editor 的背景,然后单击 Add Data Object -> Entity。这样将添加一个实体到图中。
    2. 在 Properties 视图中,单击 General 选项卡。将实体重新命名为 COMPLETION_CODES。
    3. 单击 Attributes 选项卡,然后使用 New 按钮添加两个新的属性。将第一个属性重新命名为 COMP_CODE,将它指定为主键,并确保它的数据类型为 CHAR(5)。将第二个属性重新命名为 DESCRIPTION,并将它的数据类型改为 VARCHAR(1024)。

    图 5 显示了更改后的 Data Diagram Editor 和 Properties 视图:



    图 5. HR 模式的实体图
    HR 模式的实体图

  7. 创建 COMPLETION_CODES 与 PROJECT 之间的一个外键关系,其中 COMPLETION_CODES 是父实体,PROJECT 是子实体。
    1. 从 Data Diagram Editor 中的 Palette 中,选择 Data --> Non-Identifying Optional。然后选择作为主键和父实体的 COMPLETION_CODES 实体,将其拖放到作为子实体的 PROJECT 实体上。

    在 PROJECT 中会自动创建一个外键属性 COMP_CODE。

  8. 从 ORGANIZATION 实体中删除 DEPTNAME 属性。
    1. 选择 ORGANIZATION属性。
    2. 在 Properties 视图中,单击 Attributes 选项卡。选择 DEPTNAME,然后单击 Delete 将它删除。
  9. 保存对模型的所有更改。
  10. 将逻辑模型 CMERDADemo_HR_base.ldm 转换成名为 CMERDADemo_HR_changes.dbm 的物理模型。
    1. 在 Data Project Explorer 中,进入逻辑模型所在的 Data Models 文件夹。
    2. 选择逻辑模型 DSARDADemo_base.ldm,然后单击 Data --> Transform --> Physical Data Model。这时弹出 Transform to Physical Data Model 向导。
    3. 完成 Transform to Physical Data Model 向导中的步骤:
      1. 单击 Create New Model,然后单击 Next
      2. 在 Physical Data Model File 页面上,接受数据设计项目的默认值,指定 CMERDADemo_HR_changes 作为物理模型的名称,然后指定数据库类型。单击 Next
      3. 在 Options 页面上,检查用于转换的选项。确保 HR 被指定为模式名称。单击 Next
      4. 单击 Finish 保存物理数据模型。
  11. 此时,将有更改的物理模型通过电子邮件发回给数据库管理员 Eric。或者,也可以将它签入到版本控制系统中,以便 Eric 通过 Data Studio Administrator 查看它。

C 部分:应用发送到 HR 数据库的更改

在本场景的最后一部分,Eric 将 Tom 发回的对物理数据模型的更改迁移到 HR 数据库的目标模型上。然后,Eric 生成将这些更改应用到实际的 HR 数据库时所需的更改命令,并将更改命令部署到数据库。

如果您处于 Eric 的位置,请完成以下步骤:
  1. 启动 Data Studio Administrator。
  2. 复制 Tom 发回的物理数据模型(CMERDADemo_HR_changes.dbm),在 Data Project Explorer 中将其粘贴到 CMERDADemo 数据设计项目的 Data Models 文件夹中。
  3. 双击 DSARDADemo_HR.deployxml 在 SQL Scripts 文件夹中打开部署脚本。部署脚本会显示在 Deployment Script Editor 中。

    图 6 显示了 Deployment Script Editor:



    图 6. Deployment Script Editor
    Deployment Script Editor

  4. 将 Tom 发回的物理数据模型(CMERDADemo_HR_changes.dbm)中的更改迁移到 HR 数据库的目标模型(CMERDADemo_HR_Target.dbm)上:
    1. 单击 Deployment Script Editor 的 Data Models 选项卡,在 Data Models 页面上,单击 Add
    2. 在 Source Models 选择对话框中,通过下钻选择有更改的模型(DSARDADemo_HR_changes.dbm),然后单击 OK。该模型显示在 Define Source Models 字段中,如图 7 所示:

      图 7. Data Models 页面
      Data Models 页面

    3. 选择这个模型,并单击 Migrate。Comparison Editor 的左边显示已更改的模型,右边显示 HR 目标模型。
    4. 使用工具条中的上下箭头,在这两个模型中的各个差别之间进行切换。

      在这个演示中,Comparison Editor 表明要迁移的变更是从 ORGANIZATION 表中删除 DEPTNAME 列,在 PROJECT 表中添加新的外键 COMPLETION_CODE_PROJ_FK,以及增加新表 COMPLETION_CODES。

      当转移外键时,外键列 COMP_CODE 将自动转移。如果在转移 COMPLETION_CODES 表之前转移 PROJECT 中的外键,则 COMPLETION_CODES 表将自动转移。

    5. 当选中差别时,单击向右箭头,将这些更改转移或应用到目标 HR 模型上。
    6. 单击 File --> Save 保存所有更改。
    7. 关闭 Comparison Editor。
  5. 单击 Problems 视图,更正目标 HR 模型的所有错误。

    DB2 UDB V8.2 用户注意:您将收到错误消息,即 Rational Data Architect 为新的主键和外键创建的标识符太长。在 DB2 V8.2 中,这些标识符不能超过 18 个字符。图 8 显示了一个例子:



    图 8. Problems 视图
    Problems 视图

    为了检查和修正这种错误:

    共享的 shell 提示

    提示:如果您将 Data Studio Administrator 和 Rational Data Architect 安装在相同的 Eclipse IDE 中,那么需要确保关闭 Design Suggestion 验证,以免步骤 5 中收到很多警告。

    为了关闭该选项,进入 Windows > Preferences > Model Validation > Constraints > Physical data model,取消复选框 design suggestions。然后,要么关闭并重新打开该模型,要么进入到 Data Project Explorer 中,单击目标模型数据库,右键单击 Analyze Model

    1. 为了使 Problems 视图中显示的问题仅限于所选择的元素(目标 HR 模型),单击 Filters 图标(Filters 图标),单击 On selected element only,然后单击 OK
    2. 双击显示的第一个错误。单击 Properties 选项卡,将主键的名称改为 COMP_CODES_PK。
    3. 单击 Problems 视图,然后双击显示第二个错误。单击 Properties 选项卡,将外键的名称改为 COMP_PROJ_FK。
    4. 保存对目标模型的更改。
    5. 再次单击 Problems 视图,确认错误已修正。

  6. 生成更改命令,以实现这些更改。单击 Deployment Script Editor 的 Overview 选项卡,然后单击 Generate。这时弹出 Generate Change Commands 向导。
  7. 在该向导中完成以下步骤:
    1. 如果提示,则在 User Information 页面上指定您的用户 ID 和密码。单击 Next
    2. 在 Command Generation Options 页面上,查看最初生成的命令,并保证进行正确的更改。单击 Next
    3. 在 Specify Data Unload 和 Reload Information 页面上,为导出和导入命令指定一个数据文件位置。这里必须指定完整的路径。指定数据文件格式,接受默认的导出和导入文件名。单击 Next
    4. 在 Unload 和 Reload Information 页面上,显示了应该从中导出数据然后再将数据导入其中的表。单击 Next

      在本场景中,为了删除 ORGANIZATION 表中的 DEPTNAME 列,需要先导出数据,以确保数据不会丢失。使用 Data Studio Administrator,可以导出数据,删除表,重新创建一个新表,然后将数据导入到那个新表。还可以使用一个文件,将数据从该文件中导入到新表中。

    5. 在 Customize Export Commands 页面上,单击 Default Query,确保要删除的列 DEPTNAME 不在 SELECT 列表中。单击 Next
    6. 在 Customize Reload Commands 页面上,检查导出列与 ORGANIZATION 表的导入列之间的映射。单击 Next
    7. 在 DB2 Maintenance Command 页面上,检查是否要生成一些命令,用于重组表、重新绑定包、生成 runstats 或刷新包缓存。

      如果选择重新绑定包,则在 Select Schema 页面上,需要为之重新绑定包的模式是默认选中的。

    8. 在 Review Generated Change Commands 页面上,参看命令并单击 Finish
    9. 如果提示查看更改报告,您可以选择查看它。Summary of Changes 报告描述将要对数据库进行的更改、这些更改的影响,以及更改后需要采取的措施。有一个禁止该提示的选项,因此,如果提前禁用了它,在这里将不出现提示。您可以从 Data Project Explorer 查看 Summary of Changes Report。
    10. 现在,可以在 Deployment Script Editor 的 Change Commands 页面上查看生成的更改命令。
  8. 将更改部署到 HR 数据库。在 Deployment Script Editor 的 Overview 选项卡上,单击 Deploy。这将弹出 Deploy Change Commands 向导。
  9. 在 Deploy Change Commands 向导中完成以下步骤。
    1. 在 Deploy Steps 页面上,输入用户 ID 和密码。选中复选框。单击 Next
    2. 在 Check Base Model 页面上,单击 Next
    3. 在 Change Commands 页面,查看将要部署到数据库的更改命令。单击 Finish

    Data Output 视图包含对 HR 数据库进行的更改的状态。

结束语

本文演示了如何结合使用 Data Studio Administrator 和 Rational Data Architect。这两种工具之间可以共享相同的物理模型,从而允许从设计和建模到数据库变更管理的集成过程。本文这个逐步操作说明可以帮助新用户学会结合使用这两种工具。






回页首


下载

描述名字大小下载方法
创建本文但示例数据库DSARDADemo.zip5KBHTTP
关于下载方法的信息


参考资料

学习

获得产品和技术

讨论


作者简介

Carolyn Henry 的照片

Carolyn Henry 是加利福尼亚州圣何塞市 IBM 硅谷实验室 DB2 and IMS Tools 小组的一名信息开发人员。她从 2004 年开始在 DB2 Change Management Expert 小组工作。


Leila Johannesen 的照片

Leila Johannesen 是加利福尼亚州圣何塞市 IBM 硅谷实验室的一名可用性工程师。她致力于 DB2 Tools 家族的易用性方面的研究。


Don Langworthy 的照片

Don Langworthy 是加利福尼亚州圣何塞市 IBM 硅谷实验室的一名软件工程师。他从 2004 年起从事 DB2 Change Management Expert 方面的工作。在从事 DB2 Change Management Expert 之前,Don 担任高中棒球比赛的裁判。


Patti Tonello 的照片

Patti Tonello 是加利福尼亚州圣何塞市 IBM 硅谷实验室 DB2 and IMS Tools 小组的一名信息开发人员。她从事 DB2 Tools 产品方面的工作,为数据库管理和变更管理提供方便,其中就包括 DB2 Change Management Expert。




对本文的评价










回页首


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