在本课程中,您将学习如何将新表添加至缺省模式以及如何将两个表关联。
先决条件:在对数据目录和数据仓库进行任何更改之前,请创建备份。要备份数据目录,请使用 Data Manager 目录备份实用程序。要备份数据仓库,请参阅用于数据仓库的数据库的文档。
在本课程中,将执行以下操作:
- 将新的事实表添加至缺省模式
- 将新的维表添加至缺省模式
- 将新的事实表与新的维表相关联
- 保存对表结构的更改
在本课程中,您将使用 IBM® InfoSphere™ Data Architect。
- 为您的数据库安装样本物理数据库模型。该样本模型可在安装 IBM Rational® Insight 时自动安装。
该样本模型的缺省位置为 C:/Program Files/IBM/Rational Insight/datawarehouse/dw。抽取样本模型。
- 启动 IBM InfoSphere Data Architect。如有提示,请选择缺省工作空间。
- 为您的教程创建新数据设计项目:
- 单击。
- 指定名称 RISDW 并接受缺省位置。
- 单击完成。如有提示,请选择显示缺省视图。
通过为数据对象提供容器,创建了新数据设计项目。
- 在 Windows® 资源管理器中,浏览到您在步骤 1 中下载样本数据模型的目录。将样本数据模型复制到缺省位置(步骤 b)。
- 返回到 IBM InfoSphere Data Architect,右键单击 RISDW 项目,然后单击刷新。
现在该数据设计项目将显示物理数据模型样本。
- 在数据项目资源管理器视图()中,展开数据模型以显示物理数据模型(具有 dbm 扩展名的节点)。双击该数据模型以将其展开。
概念: 树结构中的第一个节点指定数据库别名。要查看数据库的组件(例如模式、表空间和缓冲池),请展开该物理模型。
在本课程中,将使用缺省模式名称。如果更改了数据库中模式的名称,那么本课程中使用的名称可能与数据库中的模式名称不匹配。
缺省名称为 CONFIG、RIODS 和 RIDW。CONFIG 模式是静态模式,不应进行更改。RIODS 模式是指定的运作数据存储。将为数据集市(事实和维)指定 RIDW 模式并可重命名该模式以符合 Rational Insight 数据仓库的模式命名约定。
在本课程中,将修改 RIDW 模式。
- 右键单击 RIDW,然后单击。
- 指定表属性:
- 将表名称指定为 F_DEFECT_METRICS。
- 在表的“属性”视图中,单击表空间,对于常规选择 VSTR_32K,对于索引选择 VSTR_IDX。
概念: - 在数据集市中命名事实表时,该约定是名称前加 F_ 前缀。
- VSTR_32K 是为数据集市指定的表空间。
- VSTR_IDX 是为数据集市的索引指定的表空间。
- 对表添加列:
概念: 您的表将包含按两个维(即“日期”和“组件”)列出的缺陷总数的度量。您将从名为 D_DATE 的现有维表获取“日期”维。对于“组件”维,您将创建一个新维表。
您的事实表将有五列:TOTAL_DEFECTS、DEFECT_METRICS_ID、REC_DATETIME、COMPONENT_ID 和 DATE_ID。
您将把 DEFECT_METRICS_ID 列指定为主键并使用它来唯一标识事实行。
- 在“数据项目资源管理器”视图中,选择 F_DEFECT_METRICS 表,右键单击并单击。
- 将名称指定为 TOTAL_DEFECTS。在“属性”视图中,单击类型,并指定以下属性:将“数据类型”指定为 INTEGER,将“缺省值”指定为 0,选中“非空”。
- 重复步骤 (a)。将名称指定为 DEFECT_METRICS_ID。在“属性”视图中,单击类型,并指定以下属性:将“数据类型”指定为 INTEGER,选中“主键”和“非空”。
将自动创建名为 F_DEFECT_METRICS1 的主键。
- 重复步骤 (a)。将名称指定为 REC_DATETIME。在“属性”视图中,单击类型,并指定以下属性:将“数据类型”指定为 TIMESTAMP,将“缺省值”指定为 CURRENT_TIMESTAMP,选中“非空”。
- 重复步骤 (a)。将名称指定为 COMPONENT_ID。在“属性”视图中,单击类型,并指定以下属性:将“数据类型”指定为 INTEGER,选中“非空”。
- 重复步骤 (a)。将名称指定为 DATE_ID。在“属性”视图中,单击类型,并指定以下属性:将“数据类型”指定为 INTEGER,选中“非空”。
此时已创建名为 F_DEFECT_METRICS 的新事实表并已对该表添加主键。在接下来的几个步骤中,将对此表添加外键。
缺省情况下,数据仓库中将强制实施引用完整性。因此,在下一步骤中,将实施事实表和在事实表中引用的维之间的引用完整性。
- 对 F_DEFECT_METRICS 表添加外键:
- 右键单击 F_DEFECT_METRICS 表,并单击
- 将父表指定为 D_DATE 表。
单击确定。
概念: D_DATE 是在数据仓库中使用的日期维表。
- 将外键名称指定为 DATE_ID。
- 选择 DATE_ID,并在“属性”视图中单击详细信息。在父代部分的唯一约束或索引列表中,选择 D_DATE_PK 主键。如有提示,请选择使用现有子代/属性列。
概念: D_DATE_PK 是此表(F_DEFECT_METRICS)的外键引用的另一个表(D_DATE 表)中的主键。
将为 F_DEFECT_METRICS 事实表创建名为 DATE_ID 的外键。通过此外键,已创建与现有表 D_DATE 的关系。
在下一步中,将在数据集市中添加新维表。该维表将由您创建的事实表 F_DEFECT_METRICS 引用。
- 右键单击 RIDW,然后单击。
- 指定表属性:
- 将表名称指定为 D_COMPONENT_LABEX。
概念: 在数据集市中命名维表时,将使用在名称前加前缀 D 的约定。
- 在表的“属性”视图中,单击表空间,对于常规选择 VSTR_32K,对于索引选择 VSTR_IDX。
- 对表添加列:
概念: 您的表将有两列:NAME 和 COMPONENT_ID。
您将把 COMPONENT_ID 指定为主键并使用它来唯一标识维行。
- 右键单击 D_COMPONENT_LABEX 表,并单击。
- 将列名指定为 NAME。在列的“属性”视图中,指定以下属性:将“数据类型”指定为 VARCHAR,将“长度”指定为 255,选中“非空”。
- 重复步骤 (a)。将列名指定为 COMPONENT_ID。在列的“属性”视图中,指定以下属性:将“数据类型”指定为 INTEGER,选中“主键”和“非空”。
将自动创建名为 D_COMPONENT_LABEX1 的主键。
此时已创建名为 D_COMPONENT_LABEX 的新维表并已对该表添加主键。在接下来的几个步骤中,将使用此主键以将它链接到您在之前创建的 F_DEFECT_METRICS 事实表。
- 将 F_DEFECT_METRICS 事实表链接到 D_COMPONENT_LABEX 维表:
- 右键单击 F_DEFECT_METRICS,并单击。
- 将父表指定为 D_COMPONENT_LABEX。
单击确定。
- 将外键名称指定为 COMPONENT_ID。
- 选择 COMPONENT_ID,并在“属性”视图中单击详细信息。在父代部分的唯一约束或索引列表中,选择 D_COMPONENT_LABEX1 主键。如有提示,请选择使用现有子代/属性列。
您已将 F_DEFECT_METRICS 事实表链接到两个维表:日期属性对应的 D_DATE 表和组件属性对应的 D_COMPONENT_LABEX 表。
您现在将为您添加的新表生成模板。要执行此操作,将需要把这些表导出到 DDL 脚本并运行该脚本。
- 为 D_COMPONENT_LABEX 表生成 DDL 脚本:
- 右键单击 D_COMPONENT_LABEX 表,并单击生成 DDL。
- 在选项页面中,选择:
- 标准名称
- CREATE 语句
- COMMENT ON 语句
- IN TABLESPACE 子句
单击下一步。
- 在对象页面中,选择:
单击下一步。
- 选择在服务器上运行 DDL,并单击下一步。
切记: 对于教程,您将使用样本数据库(RIDW)。
使用
在服务器上运行 DDL 选项对实时数据库运行 DDL 脚本时请小心。使用 IBM InfoSphere Data Architect 时,将无法使用迁移功能;因此将无法保留现有表的数据。该表将被创建,或是先被删除然后再被创建。
可以选择仅保存生成的 DDL 脚本并在以后运行该脚本。
- 在连接页面中,选择使用现有连接,选择 RIDW,然后单击下一步。
- 输入数据库管理员的用户名和密码,单击下一步,然后单击完成。
- 保存模型。
- 为 F_DEFECT_METRICS 表生成 DDL 脚本:
- 右键单击 F_DEFECT_METRICS 表,并单击生成 DDL。
- 在选项页面中,选择以下选项:
- 标准名称
- CREATE 语句
- COMMENT ON 语句
- IN TABLESPACE 子句
单击下一步。
- 在对象页面中,选择以下选项:
单击下一步。
- 选择在服务器上运行 DDL,并单击下一步。
- 在连接页面中,选择使用现有连接,选择 RIDW,然后单击下一步。
- 输入数据库管理员的用户名和密码,单击下一步,然后单击完成。
- 保存模型。
此时已应用更改,因而已修改您的表结构。
在本课程中,您学习了:
- 创建 F_DEFECT_METRICS 事实表
- 创建 D_COMPONENT_LABEX 维表
- 将 F_DEFECT_METRICS 事实表映射至新 D_COMPONENT_LABEX 维表以及现有 D_DATE 维表
- 生成 DDL 脚本以构建和修改表结构