2011年5月25日水曜日

第9回:ディメンショナルモデリング:ファクト設計:ファクトレスファクトテーブル

 前回、3つのファクト設計トランザクション、スナップショット、アキュムレーションスナップショットについて説明しましたが、今回はトランザクションの派生設計となるファクトレスファクトテーブルについて説明します。

ファクトレスファクトテーブル

 では、ファクトレスファクトテーブルって何でしょうか。日本語に訳せば、ファクトがないファクトテーブルとなります。
そうです、ファクトがないのがファクトテーブルなのです。ファクトって何のことでしたでしょうか。そうです、売上高など分析する数値にあたる部分でした。
 この数値部分がないのがファクトレスファクトテーブルなのです。具体例をあれば、会員数などです。売上高データのように登録された会員数のデータには数値は含まれていませんよね。
もちろん、SQLなどのcountを使えば、件数は確認できますが。

 ということで、実際数値情報が入っていないが、件数などの情報をファクトして扱うものをファクトレスファクトテーブルと呼びます。
 では、どのように設計するのでしょうか。基本はトランザクションと同様にそのままデータを挿入していきます。しかし、ファクトデータがないので、設計をシンプルにするためにあえて、ファクト値のフィールドを作成して1を入力しておきます。このフィールドがなくても、SQLの集計関数を使えば、計算できるのですが、設計とシステムをシンプルにするために1を追加します。
 具体例は、下記の図をご覧ください。


 短いですが、以上でファクトレスファクトテーブルの説明は終わりです。これでディメンショナルモデリングについて一通り説明が終了しました。
 次回よりETL4回にわたって、ETLについて説明をしたいと思います。

0 件のコメント:

コメントを投稿