Dimensions are usually hierarchical and they can change.
Tuple-versioning – Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/Tuple-versioning.
Slowly changing dimension …
Methods to handle situations where dimension data changes.
http://en.wikipedia.org/wiki/Slowly_changing_dimension
Type 0: Never update
Type 1: Update existing record
Type 2: Create new record with new surrogate key
Type 3: Update existing record but keep one previous history
Type 4: 2 tables with each dimension record previous versions stored in history table.
Type 6: New record with same surrogate key but different effective dates. Fact table will have natural key.