是否可以基於entity attribute value數據庫創建數據倉庫?如何基於實體屬性值數據庫構建數據倉庫?
如果是這樣,怎麼樣?
基本上我有以下格式的數據:
id name value
----------------
1 name1 10
1 name2 20
1 name3 30
2 name1 40
2 name2 50
2 name3 60
...
,而不是執行以下操作:
id name1 name2 name3
--------------------
1 10 20 30
2 40 50 60
我的問題是,有沒有名字/措施,我可以把特定的一組在事實表中。
name1
,name2
和name3
是提前不知道(甚至沒有多少人會存在)。
關於如何解決這個問題的任何想法?我在互聯網上搜索,但無法找到任何相關信息。任何幫助非常感謝...
注意:我沒有任何建立數據倉庫的經驗。我目前正在讀: 數據倉庫ETL工具包:實用技術提取,清理,整合和傳遞數據(由拉爾夫·金博爾)
所以回答Ben (from comments):「你的表實際上是標準化的。 ..爲什麼要取消它正常化「
龍回答:
我們的客戶使用一個工具,允許他將它從OLAP多維數據集落尺寸&措施,在工作區,然後表演他選擇的數據。
如果我使用the model Paul Grimshaw suggested,客戶需要在工作區中拖動名稱,然後爲名稱添加過濾器,例如與name1
(如果他願意的話)相同。
另一方面,如果客戶有一個他可以在工作區中拖動的名稱列表,他只需要一個動作(易用性)來訪問與name1
(僅舉例)相關的數據。還有一個原因:可發現性。客戶可以查看可用名稱列表,只需從中選擇名稱,而不是爲名稱添加過濾器(並且他需要知道確切的名稱)。
簡短回答:易於使用的客戶(其中包括名稱的可發現性)。
我忘了提及名稱1,名稱2和名稱3是事先不知道的(甚至沒有多少可能存在)。 –
@Ben將元數據放入列不是規範化。這只是[糟糕的設計](http://tkyte.blogspot.com/2009/01/this-should-be-fun-to-watch.html)。 –
@IgorPopov每個不同的「名稱」有不同的,不同的商業含義嗎?因此,對於產品ID 1,其具有稱爲「重量」的「名稱」,其具有度量50,並且具有稱爲「長度」的「名稱」,具有度量25? –