Hi Shumsuddeen
The purpose of a type 2 record is so that we can record changes in attribute values for a given entity over time. A simple Example is.
In June while living in Canada (Record 1) John buys 1 bike from an online store, in July he moves to Mexico (Record 10) where he buys another bike from the online store.
When we record the sales in a fact table we want the first sales to be linked with record 1 and the second sales to be linked to record 10 this way we can tell where the customer lived when we sold them the bike.
If you update the first sale to link to record 10 then when we report it would look like we sold and shipped two bikes to a customer in Mexico which is not accurate.
For this reason you do not want update past facts but only new facts as they arrive to maintain this historical view. If you do not want this historical view then we use a Type 1 dimension which simply overwrites the dimension with any change.
- Marked as answer by Shamsuddeen 1 hour 34 minutes ago