88 Solving Operational Business Intelligence with InfoSphere Warehouse Advanced Edition
Therefore, the dimensional model has to create a relationship between the fact
table and its required dimensional tables. This is achieved by having individual
columns within the fact table assigned to hold the foreign key of each primary key
within the dimensional tables.
A dimensional table might, within your model, also be designed to contain
additional information than that normally included within the associated
production tables related to the business process being modeled. A useful
example is the inclusion of extra columns within the dimension table for storing a
“product type” or “suppliers details. This additonal information will not normally
be part of a sales receipt, upon which you have based your fact table. But by
adding this extra, related information to the dimension table, query performance
can be improved because fewer less table joins are required in answering
business questions related to this additonal information.
In stage three of developing the dimensional model, you must determine which
tables currently implemented within the production 3NF model are actually
required as dimension tables within the star schema dimensional model.
However, this is not a simple process of only copying complete sets of tables
from the 3NF model that represents your production database into your
dimensional model as dimensional tables. Doing so does not produce an
effective and efficient star schema. For performance reasons, the 3NF model,
being based on the OLTP production database, might contain multiple related
tables, with each table only containing a small number of columns from the
complete related subject.
As an example, consider that the 3NF model of your production database has
been implemented to contain a set of product-related tables. Your model
contains a table holding the product names, a separate table for the type of
product, and a final table of the supplier’s details. The reason is that this
information is not critical to the core function of storing a sales transaction, and in
all probability, will only be updated within the production database at infrequent
intervals.
However, if this complete set of tables is copied into your dimensional model as
the basis for the “Product” dimension, the resulting model will d have more in
common with a snowflake schema than the more efficient star schema. It is at
this point that the dimensional model has to move away from that of the 3NF
model and its related set of tables.
To create the desired star schema, it might be necessary to collapse many of the
individual tables in the 3NF logical model into one single table with a larger set of
columns within the dimensional model. A side effect of this process is that the
now larger dimensional table will contain a greater amount of repeating
information and require a larger amount of storage than that given to the original