2011-03-03 9 views
0

データウェアハウスで使用するスタースキーマを思い起こさせる「エンティティ属性値モデル」について読んでいます。エンティティ属性値モデルとデータウェアハウスの違い

一つのテーブルには、すべての事実を持っている(あなたがリンゴを混ぜた場合でも、農業、重量、価格、色、形、名前のバナナ例えば日付)とテーブルの束が、細部を保持する(例えばinfected_with _banana_virus_type、apple_specific_acid_level)

私は両方のaproachesでこれを行うので、私は言葉にこれらの違いを見ることができないのですか?

私に教えてください。 CHEERS

答えて

4

すべてにはエンティティ、属性、値があります。すべてが論理的にこれに還元されます。 はすべてエンティティ、属性、値を持っているので、常にすべてが同じであると主張することができます。すべてのデータ構造は - その観点から - 同一です。

スタースキーマの図を描画してください。ファクト(WebサイトのGETリクエスト)と、Time、IP Address、Requested Resource Path、Session Userなどのいくつかのディメンションがあります。

実際に実際の図を描画してください。言葉を読まないで、5つのテーブルの絵を見てください。

画像を描画した後、単一のEAVテーブルを描画します。

実際に、エンティティ、属性、および値の列を使用して画像を描画します。言葉を読まないでください。一つのテーブルの絵を見てください。

大丈夫ですか?

ここで、2つの写真の違いをすべて書き留めてください。テーブルの数。列の数。各列のデータ型。すべての違い。

私たちは行っていません。

スタースキーマを使用する特定のユーザーの曜日別GETリクエストをカウントするSQLクエリを作成します。実際にSQLを書いてください。それは3テーブルの結合です。 GROUP BYとWHEREを使用する

EAVテーブルの曜日別にGET要求をカウントするSQLクエリを試行して書き込みます。

大丈夫ですか?

2つのクエリの相違点をすべて書き留めてください。例えば、SQLの複雑さ。 SQLのパフォーマンス。 SQLを書くために必要な時間。

ここで違いを知っています。

+0

+1違いは分かりませんが、それは素晴らしい答えです。おかげさまで – fancyPants

+0

さて、あなたが言ったことをやった、もし私が主EAVテーブルを最小限に抑えておけば、私は多くの相違を見る。しかし、EAVメインテーブルにいくつかの一般的な属性を追加するとすぐに、それは非常に星状になります。 –

+0

"EAVメインテーブルへの一般属性"?どういう意味ですか? EAVテーブルには、エンティティ名、属性名、および値の3つの属性しか指定できません。あなたは何について話していますか? –

関連する問題