2011-03-03 37 views
0

我讀有關「實體屬性值模型」,這有點讓我想起了你在數據倉庫使用星型模式的。差異屬性值模型和數據倉庫

的表具有所有的事實(即使你搭配蘋果,香蕉種植​​業,重量,價格,顏色,類型,名稱如日期)和一羣拿着細節表(如infected_with _banana_virus_type,apple_specific_acid_level)

我在這兩個方面都這樣做,所以我看不出在這些詞的差異?

請賜教。 CHEERS

回答

4

所有接近你有實體,屬性和值。一切都從邏輯上降低到這個程度由於一切有實體,屬性和值,你總是可以聲稱一切都是一樣的。從這個角度來看,所有的數據結構都是相同的。

請畫一個星型模式圖。有一個事實(比如說網站GET請求)和一些維度,如時間,IP地址,請求的資源路徑和會話用戶。

其實請畫實際的圖。不要讀字,看五張桌子的圖片。

繪製的圖片後,繪製一個EAV表。

實際繪製與實體,屬性和值列中的圖片。不要讀這些字。看一張桌子的照片。

好嗎?

現在寫下兩張圖片之間的所有差異。表的數量。列數。每列的數據類型。所有的差異。

我們沒有完成。

寫SQL查詢來算度日星期請求使用星型模式給定用戶。其實寫SQL。這是一個三表連接。使用GROUP BY和WHERE

嘗試並編寫一個SQL查詢以計算EAV表的星期幾GET請求。

好嗎?

現在寫下來兩個查詢之間的區別。例如,SQL的複雜性。 SQL的性能。編寫SQL所需的時間。

現在你知道了區別。

+0

+1我不知道任何差異,但這是一個很好的答案。 – fancyPants

+0

+100謝謝。好吧,我做了你所說的,如果我試着保持主要的EAV表格最小,我看到很多不同。但是,只要將一些常規屬性放入EAV主表中,它就變得非常像星星一樣。 –

+0

「EAV主表中的一般屬性」?那是什麼意思? EAV表中只能有三個屬性:實體名稱,屬性名稱和值。你在說什麼? –