As your business or organization changes, you need to modify your database outlines to reflect these changes. If you make a minor change to a database outline, such as changing a member name, the multidimensional database might need to be recalculated or restructured. If you make a more significant change, such as changing a member formula, your database must be recalculated. If you make a change that affects how your data is stored, you must restructure your database.
Table 10 shows operations that affect data values and table structures during restructuring. The first column identifies an action that you perform. The second column describes what DB2 OLAP Server does to the fact table for the database, and the third column describes what DB2 OLAP Server does to the key table for the database.
When a restructure occurs, the DB2 views might get rebuilt. Also, you might need to recalculate the database and rebind any user applications that previously were bound to any DB2 tables or views.
Table 10. Actions that affect data values and restructuring
If you perform this action: | DB2 OLAP Server performs these actions in the fact table: | DB2 OLAP Server performs these actions in the key table: |
---|---|---|
Add a dense dimension | Adds a new dimension column or reuses an existing one and updates all rows with the base member ID | Updates all rows |
Add a sparse dimension | Adds a new dimension column or reuses an existing one, and updates column cells with a base member ID. Drops and rebuilds the index. If there are multiple fact tables, then most rows will have to be moved to a different fact table | Updates all rows |
Delete a dense dimension | Removes all rows from the table except those for the base member ID | Updates all rows |
Delete a sparse dimension | Removes all rows from the table except those for the base member ID. Drops and rebuilds the index. If there are multiple fact tables, then most rows will have to be moved to a different fact table | Updates all rows |
Add an anchor dimension | Adds a column for each member in the specified dimension | Empties the table because data cannot be loaded when an anchor dimension is added |
Change the anchor dimension | Returns an error if there is data in the cube. | Returns an error if there is data in the cube. |
Delete the anchor dimension | Returns an error if there is data in the cube. | Returns an error if there is data in the cube. |
Move a dimension | No action. | Updates all rows. |
Change a dimension from dense to sparse or sparse to dense | Drops and rebuilds the index. If there are multiple fact tables, then most rows will have to be moved to a different fact table | Creates a new key table and inserts new rows, one for each block |
Rename a dimension | No action | No action |
Change a dimension in any other way | No action | No action |
Add a member to a sparse dimension | No action | Creates a new key table and inserts new rows, one for each block |
Add a member to a dense dimension | No action | Updates all rows |
Delete a member from a sparse dimension | Deletes rows for the member | Creates a new key table and inserts new rows, one for each block |
Delete a member from a dense dimension | Deletes rows for the member | Updates all rows |
Add a member to the anchor dimension | Adds a column or reuses an existing one, and initializes the column to nulls | Updates all rows |
Delete a member from the anchor dimension | No action | Updates all rows |
Move a member within a sparse dimension | No action | Creates a new key table and inserts new rows, one for each block |
Move a member within a dense dimension | No action | Creates a new key table and inserts new rows, one for each block |
Move a member across dimensions | Performs the same actions as for deleting a member and adding a member | Performs the same actions as for deleting a member and adding a member |
Update a non-shared member to be shared | Deletes rows corresponding to the member to be shared | Updates all rows |
Alter a member's virtual storage status | Delete rows corresponding to the member being altered | Updates all rows |
All other member updates | No action | No action |
Rename a member | No action | No action |
All other outline changes | No action | No action |
Note: The term "No action" means only that no change is made to the table (fact table or key table). Some restructuring will take place to ensure that changes to the outline are saved. |