![]() 前へ |
![]() 次へ |
タイプ3の緩やかに変化するディメンション(SCD)には、選択した特定のレベル属性の値について2つのバージョンが格納されます。各レコードには、バージョン管理された属性について元の値と現行の値が格納されます。バージョン管理されたいずれかの属性の値が変更されると、現行の値は古い値として格納され、新しい値が現行の値となります。各レコードには、現在の値がアクティブになった日付を識別する有効日が格納されます。これにより、バージョン管理された属性の列数は2倍になるため、タイプ3のSCDはほとんど使用されません。
各レベルについて、バージョン管理する属性を指定します。つまり、現行の値だけでなく元の値も格納する属性を指定します。
バージョン管理する各属性について、元の値を格納する属性を指定します。
元の値を保持する属性には、次の制約があります。
元の値として指定された属性は、その値よりもさらに前の値は保持できません。
サロゲート識別子は元の値を保持できません。
バージョン管理する各レベルについて、有効日を格納する属性を指定します。
タイプ3のSCDのビジネス識別子には、元の値の属性を指定しないことをお薦めします。
「ディメンションの例」に記載されているPRODUCTSディメンションは、タイプ3のSCDとして作成できます。ProductレベルのPACKAGE_TYPE属性とPACKAGE_SIZE属性をバージョン管理します。Productレベルで、元の値を格納するPREV_PACK_SIZEとPREV_PACK_TYPEという2つの追加属性を定義します。PACKAGE_TYPE属性の値が変更されると、この属性の現行の値がPREV_PACK_TYPE属性に格納され、新しい値がPACKAGE_TYPE属性に格納されることになります。有効日属性は、現在のシステム日付または他の指定した日に設定できます。