Database Reference
In-Depth Information
The third solution to the problem of slowly changing dimensions, called
type 3, consists in introducing an additional column for each attribute subject
to change, which will hold the new value of the attribute. In our case,
attributes CategoryName and Description changed since when product prod1
changes category from cat1 to cat2 , the associated description of the category
also changes from desc1 to desc2 . The following table illustrates this solution:
Product
Key
Product
Name
Discontinued Category
Name
New
Category Description
New
Description
p1
prod1
No
cat1
cat2
desc1
desc2
p2
prod2
No
cat1
Null
desc1
Null
p3
prod3
No
cat2
Null
desc2
Null
p4
prod4
No
cat2
Null
desc2
Null
Note that only the two more recent versions of the attribute can be
represented in this solution and that the validity interval of the tuples is
not stored.
It is worth noticing that it is possible to apply the three solutions above,
or combinations of them, to the same dimension. For example, we may apply
a correction (type 1) together with tuple versioning (type 2) or with attribute
addition (type 3) for various attributes of a dimension table.
In addition to these three classic approaches to handle slowly changing
dimensions, more sophisticated (although more dicult to implement)
solutions have been proposed. We briefly comment on them next.
The type 4 approach aims at handling very large dimension tables and
attributes that change frequently. This situation can make the dimension
tables to grow to a point that even browsing the dimension can become very
slow. Thus, a new dimension, called a minidimension , is created to store the
most frequently changing attributes. For example, assume that in the Product
dimension there are attributes SalesRanking and PriceRange , which are likely
to change frequently, depending on the market conditions. Thus, we will
create a new dimension called ProductFeatures ,withkey ProductFeaturesKey ,
and the attributes SalesRanking and PriceRange , as follows:
Product
FeaturesKey
Sales
Ranking
Price
Range
pf1
1
1-100
pf2
2
1-100
···
···
···
pf200
7
500-600
As can be seen, there will be one row in the minidimension for each unique
combination of SalesRanking and PriceRange encountered in the data, not one
row per product.
 
Search WWH ::




Custom Search