我正在用RDBMS構建一個窮人的數據倉庫。我已經確定的關鍵 '屬性' 被記錄爲:數據庫倉庫設計:事實表和維表
- 性別(真/假)
- 人口分類(A,B,C等)
- 出生地
- 出生日期
- 重量(每日記錄):正在錄製
我的要求其實是能夠運行「OLAP的查詢,讓我:
- 「切片和切塊」
- 「鑽取向上/向下」中的數據和
- 通常,能夠從不同的角度
查看數據關於此主題的區域讀取了後,普遍的共識似乎是,這最好使用維度表而不是標準化表來實現。
假設這個斷言是真的(即解決方案最好使用事實和維度表來實現),我想在這些表的設計中尋求一些幫助。
'自然'(或明顯的)尺寸:
- 日期維度
- 地理位置
其中有層次的屬性。
- 性別(真/假)
- 人口分類(A,B,C等)
我掙扎的原因:但是,我與如何建模以下字段掙扎這些領域是:
- 他們沒有明顯的等級屬性,這將有助於聚集(AFAIA) - 這表明他們應該在事實表
- 他們大多是靜態的或很少改變 - 這表明他們應該在維度表中。
也許我上面使用的啓發式過於粗糙?
我會舉幾個例子來說明我希望在數據倉庫中進行的分析類型 - 希望能夠進一步闡明事情。
我想按性別和人口統計分類彙總和分析數據 - 例如回答如下問題:
- 男性和女性的體重在不同人口統計分類中的比較如何?
- 哪個人口統計分類(男性和女性)顯示本季度體重增幅最大。
等
任何人都可以澄清性和人口分類是否是事實表的一部分,或者它們是否是(我懷疑)維表?
另外假設他們是維度表,有人可以詳細說明表結構(即字段)?
的 '明顯' 的架構:
CREATE TABLE sex_type (is_male int);
CREATE TABLE demographic_category (id int, name varchar(4));
可能不是正確。
感謝您的意見。現在我已經知道SEX_TYPE和DEMOGRAPHIC_CATEGORY是尺寸。這對我來說是新的領域,所以我可能不得不再問幾個看似平庸的問題。請耐心等待。從上面,我的理解是我需要在事實表中有SEK_TYPE和DEMOGRAPHIC_CATEGORY中的PK的FK。你能證實這一點嗎? (我正在考慮如何處理數據庫中尚未存在的新的sex_types和人口統計類別)。 – morpheous 2010-05-29 08:55:07