An archive's catalogue record for a manuscript is re-described over time as scholarship advances: its subject classification changes twice over several years, and curators want reports to be able to show which classification was in effect at the time each past loan or exhibit occurred. Which slowly changing dimension approach supports this?
Select an answer to reveal the explanation.
Short Explanation
Curators want a time machine, not just today's label. A Type 2 dimension gives every reclassification its own row with an effective date range, so a report can show exactly which classification was true when a past loan happened.
Full Explanation
Type 2 slowly changing dimensions preserve history by inserting a new row each time a tracked attribute changes, keeping the prior rows intact and tagging each with effective and expiration dates or a current-row flag. Facts are joined to the dimension row that was active at the time the fact occurred, which is exactly what's needed here: a loan or exhibit from three years ago should join to the subject classification that was in effect three years ago, not today's classification. Type 1 overwrites the attribute in place with no history, which would silently rewrite the past, making a loan from years ago appear to have happened under the manuscript's current classification even though that wasn't true at the time; this contradicts the stated need to see historical classifications. Skipping dimension modeling and storing the classification directly in the fact table might seem to preserve a point-in-time value, but it abandons proper dimensional modeling, duplicates the attribute across every fact row, and makes it much harder to manage conforming, corrections, and reporting on the dimension consistently. Rebuilding the entire dimension table from scratch after each change is unnecessary churn and, done naively, risks losing the very historical rows Type 2 is designed to preserve, since a full rebuild without an explicit history-preserving pattern would simply reflect current-state data. When implementing Type 2, verify the fact table's dimension key is the SCD-aware surrogate key, not a natural key, so each fact correctly binds to the historically accurate dimension version.