Dimensional Data Modelingを初めて使用しました。私は1つのディメンションと2つのファクトテーブルを持っています:1つのディメンションを異なるグレインの複数のファクトテーブルに結合する
サロゲートキーを使用して、1つのファクトテーブル(ファクト1)がディメンションに結合されます。ここに問題はありません。ディメンションを2番目のファクトテーブル(fact2)に結合する最善の方法は何か分かりません。リレーショナルデータベース設計の場合は、fact2テーブルのNaturalKey2を使用しています。 (NaturalKey1 + NaturalKey2はディメンションテーブルでレコードを一意にします)。
すなわち
DIMENSION
SurogateKey | NaturalKey1 | NaturalKey2 | Current
1 | a1 | b1 | 0
2 | a1 | b2 | 1
3 | a2 | b3 | 1
FACT1
(fk to Dimension)
1
2
3
FACT2
a1 ?
a2 ?
私だけNaturalKey2を持つブリッジディメンションを使用してfact2し、その次元からSKを使用していますか?その
DIMENSIONのようなもの2
SurogateKey | NaturalKey2
1 | a1
2 | a2
これは、次のような質問をするときに最も効果的です。ビジネスでは、「fact2」データは、それが属する次元データをどのように知っていますか?共通のビジネスキーは何ですか?複雑さを軽減するためにファクトテーブルを1つだけ持つ方法はありますか?両方に共通のキーがあるようですから?ディメンションにサロゲートキーがあるのはなぜですか?これはビジネスで何を表しますか(ディメンションに一致する他のルールはありません)。 – tobi6
DWに外部キーは必要ありません。 「ホットスワップ可能なディメンション」を参照してください。 –