Step-4: Handling Multi-valued Dimensions?

  • One of the following approaches is adopted:

 

    • Drop the dimension.

 

    • Use a primary value as a single value.

 

    • Add multiple values in the dimension table.

 

Use “Helper” tables.

 

For handling the exceptions in dimensions, designers adopt one of the following approaches:

  • Drop the Maintenance_Operation dimension as it is multi-valued.

  • Choose one value (as the "primary" maintenance) and omit the other values.

  • Extend the dimension list and add a fixed number of maintenance dimensions.

  • Put a helper table in between this fact table and the Maintenance dimension table.

Instead of ignoring the problem and dropping the dimension altogether, let’s tackle the problem.

 

Usually the designers go for the second alternative, as a consequence this will show up as the primary, or main maintenance operation. Such as 20,000 Km maintenance or 40,000 Km maintenance. It is known what would constitute for each mileage based maintenance, and these maintenance are also mutually exclusive i.e. single valued. In many cases, you may actually come across this practice being observed in the OLTP systems. The obvious advantage is that the modeling problem is resolved, but the disadvantage is that  the usefulness of the data becomes questionable. Why? Because with the passage of time or with new models of vehicles coming or because of company policy, what constitutes service at 20,000 Km may actually change. Will need meta data to resolve this issue.

 

The third alternative of creating a fixed number of additional columns in the dimension table is a quick and dirty approach and should be avoided. There is likely to be car that may require more changes then reflected in the table, or the company policy changes and more items fall under the maintenance, and a long list will result in many null entries for a typical car, especially new ones. Furthermore, it is not easy to query the multiple separate maintenance dimensions and will result in slow queries. Therefore, multiple dimensions style of design should be avoided.

 

The last alternative is usually adopted, and a "helper" table is placed between the Maintenance dimension and the fact table, although this adulterates or dilutes the star schema. More details are beyond the scope of this course.

 

     

 

 

Previous

 

 

TOC

 

 

Next