データウェアハウスとディメンションモデリングに関するラルフキンボールの本を読んでいます。ケーススタディの1つを読んでいます。これは、注文システムのディメンションモデリングに関するもので、注文から履行、出荷までの注文ライフサイクルをキャプチャすることが要件です。
ですから、トランザクションタイプがFKの複数の行をトランザクションディメンションに含めることを提案するのではないかと考えていました。ただし、この本では、代わりに「ロールプレイング」ディメンションを作成することを提案しています。複数の日付ディメンションテーブルを作成します(1つは注文日用、1つは履行用、もう1つは出荷用)。それぞれがファクトテーブルへの外部キーを持っているため、ファクトテーブルにはこれに関連する3つの列があります。
このような制限はありませんか?トランザクションごとの行がより良い選択ではないでしょうか?