SCD
データウェアハウスで、時間とともに変化するディメンションデータを扱うパターン。ラルフ・キンボールが体系化したもので、過去のレポートが正しくなるか否かを左右する問題の一つ。
問題はこうだ。顧客がヨーテボリからマルメに引っ越したとき、昨年の売上を今度はマルメに計上すべきだろうか。タイプ1は古い値を単純に上書きする。簡単だが履歴は消え、過去のレポートが遡って変わってしまう。タイプ2は、有効期間と現行バージョンのフラグを付けた新しい行をその顧客に追加するので、各注文は当時有効だったバージョンに結び付く。最も一般的な解決策であり、ディメンションテーブルが代理キーを持つ理由でもある。タイプ3は、追加の列に直前の値だけを保持する方式で、「前と後」さえ分かればよい場合には十分である。