当业务或机构更改时,需要修改数据库轮廓来反映这些更改。如果对 数据库轮廓作了很小的更改,如更改成员名,则可能会需要重新计算或重构 多维数据库。如果作了较大的更改,如更改成员公式,则必须重新计算 数据库。如果所作的更改影响存储数据的方式,必须重构数据库。
表 10显示在重构期间影响数据值和表结构的 操作。第一列标识您执行的操作。第二列描述 DB2 OLAP 服务器对数据库的事实表执行什么操作, 第三列描述 DB2 OLAP 服务器对该数据库的键标表执行什么操作。
发生重构时,可能会重构 DB2 视图。而且,可能需重新计算数据库, 并且要重新联编以前与任何 DB2 表或视图联编的任何用户应用程序。
如果您执行以下操作: | DB2 OLAP 服务器在事实表中执行以下操作: | DB2 OLAP 服务器在键标表中执行以下操作: |
---|---|---|
添加紧凑维 | 添加新维列,或重新使用现存的列并更新带基础成员 ID 的所有行 | 更新所有行 |
添加稀疏维 | 添加新维列或重新使用现存的列, 并更新带基础成员 ID 的列单元。卸下并重建索引。如果有多个事实表,则大多数行将 不得不移动到另一个事实表中 | 更新所有行 |
删除紧凑维 | 从表中除去除基础成员 ID 的那些行以外的所有行 | 更新所有行 |
删除稀疏维 | 从表中除去除基础成员 ID 的那些行以外的所有行。卸下并重建索引。如果有多个事实表,则大多数行将不得不移动到另一个事实表中 | 更新所有行 |
添加亮点维 | 为指定维中的每个成员添加一列 | 清空该表,因为添加亮点维时不能装入数据 |
更改亮点维 | 如果方块中有数据,则返回错误。 | 如果方块中有数据,则返回错误。 |
删除亮点维 | 如果方块中有数据,则返回错误。 | 如果方块中有数据,则返回错误。 |
移动维 | 无操作。 | 更新所有行。 |
将一个维从紧凑更改为稀疏或从稀疏更改为紧凑 | 卸下并重建索引。如果有多个事实表,则大多数行将不得不移动到另一个事实表中 | 为每个块创建一个新的键标表并插入新行 |
重新命名维 | 无操作 | 无操作 |
以任何其他方式更改维 | 无操作 | 无操作 |
将成员添加至稀疏维 | 无操作 | 为每个块创建一个新的键标表并插入新行 |
将成员添加至紧凑维 | 无操作 | 更新所有行 |
从稀疏维中删除成员 | 删除该成员的行 | 为每个块创建一个新的键标表并插入新行 |
从紧凑维中删除成员 | 删除该成员的行 | 更新所有行 |
将成员添加至亮点维 | 添加列或重新使用现存的列,并将该列初始化为空值 | 更新所有行 |
从亮点维中删除成员 | 无操作 | 更新所有行 |
在稀疏维中移动成员 | 无操作 | 为每个块创建一个新的键标表并插入新行 |
在紧凑维中移动成员 | 无操作 | 为每个块创建一个新的键标表并插入新行 |
在所有维中移动成员 | 执行与删除成员和添加成员相同的操作 | 执行与删除成员和添加成员相同的操作 |
更新要共享的非共享成员 | 删除与要共享的成员相对应的行 | 更新所有行 |
改变成员的虚拟存储器状态 | 删除与要改变的成员相对应的行 | 更新所有行 |
所有其他成员的更新 | 无操作 | 无操作 |
重新命名成员 | 无操作 | 无操作 |
所有其他轮廓更改 | 无操作 | 无操作 |
注意: “无操作”项仅表示没有对表(事实表或键标表)进行更改。将进行一些重构以确保已保存对轮廓的更改。 |