ビジネスオブジェクトの本を読んでいるときに、用語ファクトテーブルとディメンションテーブルに遭遇しました。
ディメンションテーブルとファクトテーブルの違いは何ですか?
インターネットで記事をいくつか読んだが、はっきりと理解できなかった。
簡単な例は私がよりよく理解するのに役立ちますか?
ビジネスオブジェクトの本を読んでいるときに、用語ファクトテーブルとディメンションテーブルに遭遇しました。
ディメンションテーブルとファクトテーブルの違いは何ですか?
インターネットで記事をいくつか読んだが、はっきりと理解できなかった。
簡単な例は私がよりよく理解するのに役立ちますか?
回答:
これはその部分に答えることです:
ディメンションテーブルがファクトテーブルにもなるかどうかを理解しようとしていましたか?
短い答え(INMO)は「いいえ」です。これは、2種類のテーブルがさまざまな理由で作成されているためです。ただし、データベース設計の観点からは、ディメンションテーブルは、常にディメンションテーブル(またはそれ以上)を親として持つファクトテーブルの場合と同様に、親テーブルを持つことができます。また、ファクトテーブルは集計される場合がありますが、ディメンションテーブルは集計されません。もう1つの理由は、ファクトテーブルが適切に更新されるとは限らないのに対し、ディメンションテーブルは適切に更新される場合があるためです。
詳細:
ファクトテーブルとディメンションテーブルは、一般にスタースキーマと呼ばれるものに表示されます。スタースキーマの主な目的は、複雑な正規化されたテーブルのセットを簡略化し、(おそらく異なるシステムからの)データを1つのデータベース構造に統合して、非常に効率的な方法でクエリできるようにすることです。
最も単純な形式では、ファクトテーブル(例:StoreSales)と1つ以上のディメンションテーブルが含まれます。各ディメンションエントリには、0、1以上のファクトテーブルが関連付けられています(ディメンションテーブルの例:地理、アイテム、サプライヤー、顧客、時間など)。ディメンションが親を持つことも有効です。その場合、モデルのタイプは「スノーフレーク」です。ただし、結合を増やすとパフォーマンスが低下するため、設計者はこの種の設計を回避しようとします。StoreSalesの例では、Geographyディメンションは列(GeoID、ContenentName、CountryName、StateProvName、CityName、StartDate、EndDate)で構成できます。
Snow Flakesモデルでは、Geo情報用に2つの正規化テーブル、つまりコンテンツテーブル、国テーブルを作成できます。
あなたはスタースキーマでたくさんの例を見つけることができます。また、これをチェックして、スタースキーマモデルInmon vs. Kimballの別のビューを確認してください。キンバルには良いフォーラムがあります。キンボールフォーラムもチェックしてみてください。
編集:4NFの例についてのコメントに答えるには:
販売ファクト(ID、BranchID、SalesPersonID、ItemID、Amount、TimeID)
AggregatedSales(BranchID、TotalAmount)
ここでの関係は4NFにあります
最後の例はかなり珍しいです。
データウェアハウスモデリングでは、スタースキーマとスノーフレークスキーマは、ファクトテーブルとディメンションテーブルで構成されます。
ファクトテーブル:
寸法表:
これは、ファクトテーブルとディメンションテーブルを区別する方法に関する非常に単純な答えのようです。
寸法を物体またはオブジェクトと考えると役立つ場合があります。商品などは、イベントに巻き込まれなくても存在することができます。次元はあなたの名詞です。これは、セールなど、ビジネスイベントとは無関係に存在できるものです。製品、従業員、設備はすべて存在するものです。ディメンションは、何かを実行するか、何かを実行します。
従業員は売り、顧客は買います。従業員と顧客はディメンションの例です。
製品は販売されており、何かが行われているため、寸法でもあります。
事実は動詞です。ファクトテーブルのエントリは、ディメンションテーブルの何かに発生する個別のイベントを示します。製品の販売はファクトテーブルに記録されます。販売のイベントは、販売された製品、販売された従業員、および購入された顧客によって記録されます。Product、Employee、およびCustomerはすべて、イベントである販売を表すディメンションです。
さらに、ファクトテーブルには通常、ある種の定量的データも含まれます。販売数量、アイテムあたりの価格、合計価格など。
出典:http : //arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/
この答えは、DB / DWの用語をあまり知らない人から見ると理解しやすいと思います。
http://databases.about.com/od/datamining/a/Facts-Vs-Dimensions.htm
より詳細に調べるために、最初にこれを確認してから、Emmad Kareemの回答を確認することをお勧めします。お役に立てば幸いです。
超簡単な説明:
ファクトテーブル:ルックアップIDを一緒にマップするデータテーブル。通常は、アプリケーションの中心となるメインテーブルの1つです。
ディメンションテーブル:ファクトテーブルで頻繁に繰り返される値(都市名や州など)を格納するために使用される参照テーブル。
最も単純な形式では、ディメンションテーブルは「マスター」テーブルのようなものだと思います。つまり、いわばすべての「アイテム」のリストを保持しています。
ファクトテーブルは、すべてのトランザクションを記述するトランザクションテーブルです。さらに、営業担当者ごとの総売上高、支店ごとの総売上高などの集計(グループ化)データ-このような種類のテーブルも、独立したファクトテーブルとして存在する場合があります。
続きを読む:ディメンションテーブルとファクトテーブル| の違い| ディメンションテーブルとファクトテーブルhttp://www.differencebetween.net/technology/hardware-technology/dimension-table-and-fact-table/#ixzz3SBp8kPzo
ディメンションテーブル:ディメンションテーブルと呼ばれる、特徴付けられた日付に関する情報を維持できます。
例:時間ディメンション、製品ディメンション。
ファクトテーブル:メトリックまたは事前計算データに関する情報を維持することができるだけです。
例:販売ファクト、注文ファクト。
スタースキーマ:開始スキーマとしてのディメンションテーブルフォームとの1つのファクトテーブルリンク。