DWH システムに SCD type2 履歴ディメンション テーブル (または、SCD type2 属性を持つテーブルと言うべきか) を実装したいとします。これは、今のところnatural key
+ primary surrogate key
+ datefrom
+ dateto
+iscurrent
列を追加した「通常のテーブル」として実装しています。
どこ
- これ
primary surrogate key
は、すべてのファクト テーブルで外部キーとして使用するために必要です。 datefrom
+dateto
+iscurrent
列は履歴を追跡するために必要です。
ここで、ファクト ディメンション DWH 設計でシステム バージョン管理されたテンポラル テーブルを使用したいと考えていますが、MSDNは次のように述べています。
現在のテーブルと履歴テーブルの間でレコードを関連付けるためには、テンポラル テーブルに主キーを定義する必要があります。履歴テーブルに主キーを定義することはできません。
したがって、「オンザフライ」または別のETLプロセスを生成するビューを使用する必要があるように見えますがprimary surrogate key
、両方のアイデアが好きではありません...
たぶん別の方法がありますか?