4

データウェアハウスとディメンションモデリングに関するラルフキンボールの本を読んでいます。ケーススタディの1つを読んでいます。これは、注文システムのディメンションモデリングに関するもので、注文から履行、出荷までの注文ライフサイクルをキャプチャすることが要件です。

ですから、トランザクションタイプがFKの複数の行をトランザクションディメンションに含めることを提案するのではないかと考えていました。ただし、この本では、代わりに「ロールプレイング」ディメンションを作成することを提案しています。複数の日付ディメンションテーブルを作成します(1つは注文日用、1つは履行用、もう1つは出荷用)。それぞれがファクトテーブルへの外部キーを持っているため、ファクトテーブルにはこれに関連する3つの列があります。

このような制限はありませんか?トランザクションごとの行がより良い選択ではないでしょうか?

4

1 に答える 1

2

多くの場合、設計にはトレードオフが伴います。システム全体の詳細がわからなければ、どの設計が最適かを判断するのは困難です。

しかし、これについての私の見解: 3 つの別々の列を持つ本からのテーブルは、クエリを高速化する可能性があります。データ ウェアハウスは、多くの場合、このように非正規化されてクエリのパフォーマンスが向上しますが、入力の単純さと汎用性が犠牲になります。

私には良い答えのように思えます.トランザクションごとの行は、日々のトランザクションデータを保存するデータキャプチャテーブルには適していますが、分析には適していません.

于 2011-04-22T01:08:30.387 に答える