
Silverston c09.tex V2 - 11/21/2008 3:16am Page 528
528 Chapter 9 ■ Using the Patterns
obvious to the business or the application development team. The data model
patterns can help develop star schemas in the following ways:
Patterns may be used to develop an initial data model before the star
schema design in order to show how various types of common data
may be modeled. Allowing the data modeler to pick from various pat-
terns and incorporate the appropriate amount of flexibility in the data
model provides clues regarding an effective structure for the dimen-
sions. For example, if there is a strict hierarchy where a product is within
a product line, which is within a product family, it may be more suited
to put them in as levels (‘levels’ is used here as a star schema term)
within the same dimension. If products may be in multiple categories
and they don’t roll up neatly in a hierarchical fashion, it is still possi-
ble to put them in the same dimension; however, it may be more clear
to have separate dimensions for PRODUCT and PRODUCT
CATEGORY because there is a many-to-many relationship between
them.
We can get hints about how to structure dimensions from the patterns.
Dimensions tend to usually resemble level 1 patterns and sometimes
level 2 patterns (for example, when we showed the customer status
pattern). The complexity that resides in a logical data model is often
‘flattened out’ in order to ...