本教程将介绍如何在数据库表和列的名称更改时创建替代数据模型以在 Impact Manager 中使用。
15 分钟
本教程包括下列主题:
| 概述 | ||
| 情景 | ||
| 前提条件 | ||
| 使数据模型与数据库同步 | ||
| 总结 | ||
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
本教程将介绍如何在数据库表和列的名称更改时创建用于 Impact Manager 的替代数据模型供 Interactive Reporting 文档使用。为此,您必须对原始数据模型进行三次更新。首先,您必须更改数据模型中受影响主题后面的物理表名称。然后,您必须使数据模型与数据库同步。最后,您必须更改数据模型中受影响项目的显示名称。
数据模型存储在名为 BMV Datamodel.bqy 的 Interactive Reporting 文档中。它包含代表 BMV 产品日常店铺销售的五个主题:
Products 主题代表数据库中的 PRODUCTS 表。最近,数据库中的 PRODUCTS 表被重命名为 BMV_PRODUCTS。同时,PRODUCTS 表中的两列也被重命名:将 PRODUCT_LINE 重命名为 BMV_PRODUCT_LINE 并将 PRODUCT_FAMILY 重命名为 BMV_PRODUCT_FAMILY。您需要更新原始数据模型来适应这些更改。您计划以后使用该更新的数据模型来替换 Workspace 中受影响的 Interactive Reporting 文档中的数据模型。
开始本教程之前,您应该:
| 1. | 在计算机上安装 Interactive Reporting Studio。 |
| 2. | 在 Oracle 数据库中创建名为 trnadmin 的用户(口令为 oracle)。从命令行运行 IMP,并将 BMV.DMP 加载到 Oracle 中以创建 Bookmart 示例数据。确保在加载数据时使用 trnadmin(口令为 oracle)用户连接。接下来,创建一个名为 Bookmart Sample Database.oce 的连接文件以连接到 Oracle 中的 Bookmart 数据。指定 trnadmin 作为用户名,oracle 为口令。在数据库中,将 PRODUCTS 表名更改为 BMV_PRODUCTS。将 PRODUCTS 表中的两列 PRODUCT_LINE 和 PRODUCT_FAMILY 重命名为 BMV_PRODUCT_LINE 和 BMV_PRODUCT_FAMILY。 |
| 3. | 在您的桌面上保存一个 BMV Datamodel.bqy 的副本。 |
在本主题中,您将更改数据模型中 Products 主题的物理表名称。您需要更改数据库中物理表的名称以与新表名称相匹配,新表名称是 BMV_PRODUCTS。目前,Products 主题指向的是一个已不存在的数据库表 (PRODUCTS)。如果不更改,包含来自 Products 主题的项目的查询将不再有效。
| 1. | 在 Interactive Reporting Studio 中,打开 BMV Datamodel.bqy。 |
| 2. | 在状态栏中,双击连接图标。
|
| 3. | 在 Host User 框中,输入 trnadmin。在 Host Password 框中,输入 oracle。单击 OK。
您现在已经连接到 Bookmart 示例数据库,并且将看到 Query 部分。将在内容窗格显示数据模型。 |
| 4. | 在 Content 窗格中,右键单击 Products 主题标题并选择 Properties。
|
| 5. | 在 Physical Name 框中,将 TRNADMIN.PRODUCTS 更改为 TRNADMIN.BMV_PRODUCTS,并单击 OK。
|
Interactive Reporting Studio 提供一个 Sync with Database 选项,使您能够使用当前数据库表和列信息自动更新文档中的数据模型。该操作检测与数据库的不一致、更新数据模型并提供所做更改的逐项列表。您需要执行 Sync with Database 操作来更新数据模型。
项目列于数据模型主题中,代表数据库表中的列。Query 部分中的项目名称是纯语义的,不需要和数据库中的物理列名称相匹配。您不能像编辑主题一样手动编辑项目的物理列名称。这就是您需要执行 Sync with Database 操作的主要原因之一。
注意下列事实是很重要的:
| 项目的基础物理列名称不只在同步期间会重命名。项目删除和新项目添加,表面上看起来是项目被重命名了。 | ||
| 在您从 DataModel 菜单选择 Sync with Database 命令时,没有 Cancel 选项。因此,在您选择前,您应该保存一份您数据模型的备份副本。 | ||
执行 Sync with Database 操作:
| 1. | 在打开 BMV Datamodel.bqy 并显示 Query 部分的情况下,选择 DataModel > Sync with Database。
将执行同步操作,并出现 Data Model Synchronization 对话框。 |
| 2. | 选择 Show Detail Information 查看同步详细信息。
|
| 3. | 单击 OK。 您将看到 Products 主题名称仍然未变。这是因为这些主题是一个语义层。您还将看到 Product Line 和 Product Family 项目已删除,显示两个新的项目 Bmv Product Line 和 Bmv Product Family。
|
曾经在原始数据模型中可用的项目名称必须在更新的数据模型中仍然可用。因为使用数据模型的其他文档中的查询可能引用原始项目名称。如果项目丢失,您将不能使用 Impact Manager 完成 Workspace 中的数据模型更新。因此,在 Products 主题中,您必须将 Bmv Product Line 重命名为 Product Line,将 Bmv Product Family 重命名为 Product Family。
更改项目名称:
| 1. | 在 Products 主题中,右键单击 Bmv Product Line 并选择 Properties。
|
| 2. | 更改项目名称为 Product Line,并单击 OK。
|
| 3. | 在 Products 主题中,右键单击 Bmv Product Family 并选择 Properties。
|
| 4. | 将项目名称更改为 Product Family,并单击 OK。
|
| 5. | 保存 BMV Datamodel.bqy。 您已经成功更新原始数据模型。您现在可以在 Impact Manager 中使用它,将其作为存储在 Workspace 中的其他 Interactive Reporting 文档的替换数据模型。 |
在本教程中,您学习了如何执行以下任务:
| 更改 Interactive Reporting 数据模型中主题后面的物理表名称 | ||
| 使用 Interactive Reporting Studio 将数据模型和数据库同步 | ||
| 更改 Interactive Reporting 数据模型中的项目名称 | ||
要了解有关 Impact Manager 更多的信息,您可以参考 OTN Web 站点上本系列的其他 OBE:
| OBE 1:采集文档中的元数据 | ||
| OBE 2:适应数据库表和列名称的更改(当前显示) | ||
| OBE 3:适应数据库表的非规范化 | ||
| OBE 4:适应数据库中已删除的列(即将推出) | ||
| OBE 5:识别受影响的文档(即将推出) | ||
| OBE 6:替换受影响文档中的数据模型(即将推出) | ||
将鼠标置于该图标上可以隐藏所有的屏幕截图。