版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、事實(shí)表是數(shù)據(jù)庫(kù)中最大的表,是星形模型結(jié)構(gòu)的核心。事實(shí)表包含了基本商業(yè)事務(wù)的詳 細(xì)信息,是對(duì)商務(wù)活動(dòng)進(jìn)行客戶關(guān)系、銷售趨勢(shì)和產(chǎn)品趨勢(shì)等分析的素材。事實(shí)表的設(shè)計(jì)包括對(duì)事實(shí)的選擇、量度的構(gòu)造、粒度的設(shè)計(jì)和聚合的設(shè)計(jì)等。3.5.1事實(shí)、度量和事實(shí)表事實(shí)是各個(gè)維度的交點(diǎn), 是對(duì)某個(gè)特定事件的度量。 維度中的屬性描述的是維本身的屬 性,比如客戶的性別、年齡、姓名和地址,這些都是客戶的固有屬性。度量是客戶發(fā)生事件或動(dòng)作的事實(shí)記錄,比如客戶打電話,可能選擇的度量有通話時(shí)長(zhǎng)、通話次數(shù)和通話費(fèi)用等;客戶購(gòu)買商品,可能選擇的度量有購(gòu)買的次數(shù)、購(gòu)買商品的金額和購(gòu)買商品的數(shù)量等。 度量變量的取值可以是離散的數(shù)值,也可以
2、是連續(xù)的數(shù)值。比如,客戶通話次數(shù)是離散的數(shù)值,而客戶購(gòu)買商品的金額是連續(xù)的數(shù)值。度量變量也可以在某個(gè)元素集合內(nèi)取值。比如客戶對(duì)公司服務(wù)質(zhì)量的評(píng)定可以是很好(Excelle nt)、好(Good)、一般(Fair)和差(Poor)中的一個(gè)。事實(shí)表則是位于星形架構(gòu)或雪花形架構(gòu)中間,用來(lái)記錄商務(wù)事實(shí)和相應(yīng)統(tǒng)計(jì)指標(biāo)的表。同維表相比,事實(shí)表具有如下的特征。記錄數(shù)量很多。事實(shí)表中除了度量變量外,其他字段都是同維表或者中間表(對(duì)于雪花形模型)的關(guān)鍵字。如果事實(shí)相關(guān)的維度很多,則事實(shí)表的字段數(shù)也會(huì)比較多。從事實(shí)表記錄數(shù)多的特征中, 我們可以得到事實(shí)表設(shè)計(jì)的一個(gè)感性認(rèn)識(shí),即事實(shí)表應(yīng)當(dāng)盡量減小一條記錄的長(zhǎng)度, 只
3、有這樣才能避免事實(shí)表過(guò)大而難于管理。 相對(duì)維表來(lái)說(shuō),事實(shí) 表是 細(xì)長(zhǎng)”的結(jié)構(gòu),如圖3-35所示。錯(cuò)誤!圖3-35事實(shí)表的特征3.5.2事實(shí)表的設(shè)計(jì)由以上分析可知,事實(shí)表中一般要包含 2部分:一是由主鍵和外鍵所組成的鍵部分,另一部分是用戶希望在數(shù)據(jù)倉(cāng)庫(kù)中所了解的數(shù)值指標(biāo),這些指標(biāo)是為每個(gè)派生出來(lái)的鍵而定義和計(jì)算的,稱為事實(shí)或指標(biāo)。由于事實(shí)是一種度量,所以事實(shí)表中的這種指標(biāo)往往需要具有 數(shù)值化和可加性的特征。但是在事實(shí)表中,只有那些具有完全可加性的事實(shí)才能根據(jù)所有的 維度進(jìn)行累加而具有意義。而事實(shí)表有一些事實(shí)表示的是某種強(qiáng)度,這類事實(shí)就不具有完全加法性,而是一種半加法性。例如,賬目余款反映的是某個(gè)
4、時(shí)間點(diǎn)的數(shù)據(jù),它可以按照地點(diǎn)和商品等大多數(shù)維度進(jìn)行累加,但是對(duì)于時(shí)間維度則例外,將一年中每個(gè)月的賬目余款進(jìn)行 累加是毫無(wú)意義的,而決策者則可能需要了解所有地區(qū)和所有商品賬目余款的累加值。在事實(shí)表中還有一些事實(shí)是非加法性的,即這些事實(shí)具有對(duì)事實(shí)的描述特性,在這種情況下一般要將這些非加法性事實(shí)轉(zhuǎn)移到維度表中。以事實(shí)表中度量的可加性情況,可以把事實(shí)表及其包含的事實(shí)分為4種樣式。1事務(wù)事實(shí)事務(wù)事實(shí)以企業(yè)事件的單一情況為基礎(chǔ),因此通常只包含事實(shí)的次數(shù)這一種度量條件,應(yīng)該盡可能以最低級(jí)別來(lái)表示。比如銀行的ATM提款機(jī)的提款次數(shù),使用某種服務(wù)的次數(shù)等。2. 快照事實(shí)快照事實(shí)以企業(yè)在某一特定時(shí)間的特殊狀態(tài)為基
5、礎(chǔ)。也就是只有在某一段時(shí)間內(nèi)才出現(xiàn)的結(jié)果。它們也許沒(méi)有包含所有維的條件,比如不是所有的產(chǎn)品每天都有銷售量。3. 線性項(xiàng)目事實(shí)這類事實(shí)通常用來(lái)儲(chǔ)存關(guān)于企業(yè)經(jīng)營(yíng)項(xiàng)目的詳細(xì)信息。包括表現(xiàn)與企業(yè)相關(guān)的個(gè)別線性項(xiàng)目的所有度量條件,比如銷售數(shù)量、銷售金額、成本和運(yùn)費(fèi)等數(shù)值數(shù)據(jù), 也就是關(guān)鍵性能指標(biāo)。此類事實(shí)運(yùn)用范圍很廣,比如采購(gòu)、銷售和庫(kù)存等。4. 事件(狀態(tài)事實(shí))這是類特殊的事實(shí),通常只表示事件發(fā)生與否和一些非事實(shí)本身具備的細(xì)節(jié)。它所表現(xiàn)的是一個(gè)事件發(fā)生后的結(jié)果變化,并且沒(méi)有度量數(shù)值表示。 如哪些產(chǎn)品在促銷期間內(nèi)沒(méi)有賣出,有還是沒(méi)有,就是事件或狀態(tài)事實(shí)所表現(xiàn)的結(jié)果。在事實(shí)表模型的設(shè)計(jì)中還需要注意到派生事
6、實(shí)。派生事實(shí)主要有2種,一種是可以用同一事實(shí)表中的其他事實(shí)計(jì)算得到,例如銷售行為中的商品單價(jià)可以用商品的銷售總金額和銷售數(shù)量計(jì)算得到,對(duì)于這些派生事實(shí)一般不保留在事實(shí)表中;另一種是非加法性事實(shí), 例如各種商品的利潤(rùn)率等各種比率。在事實(shí)表模型的設(shè)計(jì)中必須要考慮到事實(shí)表中的這些事實(shí)特性,通過(guò)多次反復(fù)來(lái)確定。首先,通過(guò)調(diào)查確定所有可能的基本事實(shí)和派生事實(shí);然后,對(duì)所有的事實(shí)按照功能或某種方式進(jìn)行排序,以刪除重復(fù)的事實(shí); 接著,確認(rèn)那些基于不同準(zhǔn)則但是有相同性質(zhì)的派生事 實(shí),例如公司門市銷售總額與地區(qū)銷售總額雖由于維度的不同而被定義為不同的事實(shí),但實(shí)際計(jì)算方法是一樣的; 最后,再一次確定事實(shí)表模型,
7、在確認(rèn)中要檢查所有的計(jì)算派生事實(shí) 的基本事實(shí)是否已經(jīng)包含在模型中,并且與用戶取得一致。在設(shè)計(jì)事實(shí)表時(shí),一定要注意使事實(shí)表盡可能地小,因?yàn)檫^(guò)于龐大的事實(shí)表在表的處理、備份和恢復(fù)及用戶的查詢等方面需要較長(zhǎng)的時(shí)間。在實(shí)際設(shè)計(jì)時(shí),可以利用減少列的數(shù)量、降低每一列的大小和把歷史數(shù)據(jù)歸檔到單獨(dú)的事實(shí)表中等多種方法來(lái)降低事實(shí)表的大小。另外,在事實(shí)表中還要解決好數(shù)據(jù)的精度和粒度的問(wèn)題,下面將闡釋粒度的設(shè)計(jì)方法。3.5.3粒度的設(shè)計(jì)在數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)分為 4個(gè)級(jí)別:早期細(xì)節(jié)級(jí)、當(dāng)前細(xì)節(jié)級(jí)、輕度綜合級(jí)和高度綜合 級(jí)。如圖3-36所示,源數(shù)據(jù)經(jīng)過(guò)綜合后,首先進(jìn)入當(dāng)前細(xì)節(jié)級(jí),并根據(jù)具體需要進(jìn)行進(jìn)一 步綜合,從而進(jìn)入輕
8、度綜合級(jí)乃至高度綜合級(jí),老化的數(shù)據(jù)將進(jìn)入早期細(xì)節(jié)級(jí)。從中可以看出,數(shù)據(jù)倉(cāng)庫(kù)中存在著不同的綜合級(jí)別,這就是粒度”的直觀表現(xiàn)。錯(cuò)誤!圖3-36數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)細(xì)節(jié)級(jí)別粒度模型是數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)中需要解決的十分重要的問(wèn)題之一。所謂粒度是指數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)單元的詳細(xì)程度和級(jí)別。數(shù)據(jù)越詳細(xì),粒度就越小,級(jí)別也就越低;數(shù)據(jù)綜合度越高, 粒度就越大,級(jí)別也就越高。1粒度對(duì)數(shù)據(jù)分析的影響1)影響邏輯結(jié)構(gòu)的設(shè)計(jì)先舉一個(gè)粒度設(shè)計(jì)的例子,Adventure Works Cycles公司的管理者想按照國(guó)家、區(qū)域、分區(qū)域和分區(qū)域內(nèi)的銷售員這樣的層次關(guān)系來(lái)查看公司的銷售情況,按照此需求可以得到如圖3-37所示的設(shè)計(jì)結(jié)果。它是通
9、過(guò)將地理層次國(guó)家、區(qū)域和分區(qū)域嵌入到銷售員維度得到 的。圖3-37細(xì)化到銷售員層次的設(shè)計(jì)結(jié)果如果公司的決策者認(rèn)為不需要了解具體到某個(gè)銷售人員的情況,而只需要了解各個(gè)地理區(qū)域的銷售情況,則沒(méi)有必要把銷售員維作為一個(gè)維度,把地域相關(guān)的表綜合成為地理維度就可以了,設(shè)計(jì)結(jié)構(gòu)如圖 3-38所示。由以上實(shí)例可知,對(duì)事實(shí)粒度需求的不同,會(huì)直接導(dǎo)致數(shù)據(jù)倉(cāng)庫(kù)邏輯設(shè)計(jì)的差異。錯(cuò)誤!ProiictlDConmtiylD «/RigianlDGwID.iFroductlDKTinuelD.TiswID.*L 伽rCcfuntj-iDMonthRflicrLlD圖3-38細(xì)化到分區(qū)域?qū)哟蔚脑O(shè)計(jì)結(jié)果2)影響數(shù)據(jù)
10、的存儲(chǔ)粒度對(duì)數(shù)據(jù)倉(cāng)庫(kù)最直接的影響就是存儲(chǔ)容量。如圖3-39所示的例子,按照每 月”統(tǒng)計(jì)的客戶購(gòu)買數(shù)據(jù)和按照每次消費(fèi)記載的客戶購(gòu)買數(shù)據(jù),兩者的數(shù)據(jù)量相差極大。不妨假定每個(gè)字段為8個(gè)字節(jié),每個(gè)客戶一天有5次消費(fèi),則1個(gè)客戶1個(gè)月的消費(fèi)細(xì)節(jié)數(shù)據(jù)的數(shù)據(jù)量 為86X30X5= 7200字節(jié),而1個(gè)客戶1個(gè)月的消費(fèi)匯總數(shù)據(jù)的數(shù)據(jù)量為8X4= 32字節(jié)。錯(cuò)誤!圖3-39不同粒度的儲(chǔ)存容量示例3)影響分析效果不同的粒度設(shè)計(jì)對(duì)應(yīng)不同的分析需求,若分析需求和粒度設(shè)計(jì)不匹配,則會(huì)直接影響分析效果。因?yàn)閿?shù)據(jù)的綜合使得細(xì)節(jié)信息丟失,所以若分析需求的粒度小于設(shè)計(jì)的粒度,則需求不可能得到滿足;反之,若分析需求的粒度大于設(shè)計(jì)
11、的粒度,則查詢會(huì)在更小的粒度上進(jìn)行統(tǒng)計(jì)運(yùn)算后才能回答,這將增加用戶的等待時(shí)間。例如在圖3-40中,要回答 張某在2007年1月29號(hào)是否在北京買了一輛山地車 ”這樣 非常細(xì)致的問(wèn)題,細(xì)節(jié)數(shù)據(jù)非常合適,而綜合數(shù)據(jù)不可能回答。如果要回答王某在2006年1月到2006年12月自行車配件的總消費(fèi)是多少”這樣綜合程度較高的問(wèn)題時(shí),使用綜合數(shù)據(jù)則可以迅速地回答這個(gè)問(wèn)題。如圖3-40綜合數(shù)據(jù)和細(xì)節(jié)數(shù)據(jù)的用途和查詢代價(jià)所示,很好地說(shuō)明了這一點(diǎn)。錯(cuò)誤! *m-l細(xì)節(jié)敵君能翦回售的H題, 張握定血丁琳1月游兮是香崔北京 買T-輻山電出T侏合敷據(jù)維解回茜的西集血年度喪自祈車上共涓費(fèi)T器少T .11 ri ixpmA
12、細(xì)節(jié)融掘回礬合日廳首輕訪H大 量的記弟*謖存尢量的計(jì).聲會(huì)數(shù)據(jù)回瞽綜悅宦逸.貝盼諭H很專圖3-40綜合數(shù)據(jù)和細(xì)節(jié)數(shù)據(jù)的用途和查詢代價(jià)由于數(shù)據(jù)倉(cāng)庫(kù)的主要作用是決策分析,因而大多數(shù)查詢都基于一定程度的綜合數(shù)據(jù)之 上,而只有少數(shù)查詢涉及到細(xì)節(jié)。因此在數(shù)據(jù)倉(cāng)庫(kù)中,設(shè)計(jì)多重粒度是必不可少的。下面具 體講解粒度的設(shè)計(jì)問(wèn)題。2 粒度的設(shè)計(jì)技巧由以上的分析可知,數(shù)據(jù)倉(cāng)庫(kù)的性能和存儲(chǔ)空間是一對(duì)矛盾。如果粒度設(shè)計(jì)得很小,則事實(shí)表將不得不記錄所有的細(xì)節(jié),儲(chǔ)存數(shù)據(jù)所需要的空間將會(huì)急劇的膨脹;若設(shè)計(jì)的粒度很大,雖然由于事實(shí)表體積大而帶來(lái)的諸多問(wèn)題能夠得到一定程度的緩解,但決策者不能觀察細(xì)節(jié)數(shù)據(jù)。粒度的設(shè)計(jì)成了事實(shí)表設(shè)計(jì)
13、中的重要一環(huán)。1)設(shè)計(jì)步驟(1)粗略估算確定合適的粒度級(jí)的起點(diǎn), 可以粗略估算數(shù)據(jù)倉(cāng)庫(kù)中將來(lái)的數(shù)據(jù)行數(shù)和所需的直接存取 存儲(chǔ)空間,粗略估算可以按照以下步驟完成。 確定數(shù)據(jù)倉(cāng)庫(kù)中將要?jiǎng)?chuàng)建的所有表,然后估計(jì)每張表中行的大?。ù_切大小可能難 以知道,估計(jì)一個(gè)下界和一個(gè)上界就可以了)。 估計(jì)一年內(nèi)表中的最少行數(shù)和最多行數(shù)。這是設(shè)計(jì)者所要解決的最大問(wèn)題。比方說(shuō)一個(gè)顧客表,就應(yīng)該估計(jì)在一定的商業(yè)環(huán)境和該公司的商業(yè)計(jì)劃影響下的當(dāng)前的顧客數(shù);如果當(dāng)前沒(méi)有業(yè)務(wù),就估計(jì)為總的市場(chǎng)業(yè)務(wù)量乘以市場(chǎng)份額; 如果市場(chǎng)份額不可知的話, 就用 競(jìng)爭(zhēng)對(duì)手的業(yè)務(wù)量來(lái)估計(jì)。 總之,要從一方或多方收集顧客的合理估算信息開(kāi)始。 如果數(shù)
14、據(jù)倉(cāng)庫(kù)是用來(lái)存放業(yè)務(wù)活動(dòng)的話,就要估計(jì)顧客數(shù)量,以及估計(jì)每個(gè)時(shí)間單位內(nèi)業(yè)務(wù)活動(dòng)量。 同樣,可用相同的方法分析當(dāng)前的業(yè)務(wù)量、競(jìng)爭(zhēng)對(duì)手的業(yè)務(wù)量和經(jīng)濟(jì)學(xué)家的預(yù)測(cè)報(bào)告,等等。一旦估計(jì)完一年內(nèi)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)單位的數(shù)量(用上下限推測(cè)的方法),就用同樣的方法對(duì)5年內(nèi)的數(shù)據(jù)進(jìn)行估計(jì)。 粗略數(shù)據(jù)估計(jì)完后,就要計(jì)算一下索引數(shù)據(jù)所占的空間。 對(duì)每 張表(對(duì)表中的每個(gè)鍵碼)確定鍵碼的長(zhǎng)度和原始表中每條數(shù)據(jù)是否存在鍵碼。 將各表中行數(shù)可能的最大值和最小值分別乘以數(shù)據(jù)的最大長(zhǎng)度和最小長(zhǎng)度。另外,還要將索引項(xiàng)的數(shù)目與鍵碼的長(zhǎng)度的乘積累加到總的數(shù)據(jù)量中去。(2)確定雙重或單一的粒度一旦估計(jì)完成后,下一步就要將數(shù)據(jù)倉(cāng)庫(kù)環(huán)境中總
15、的行數(shù)和表3-8中所示的表格進(jìn)行比較。根據(jù)數(shù)據(jù)倉(cāng)庫(kù)環(huán)境中將具有的總的行數(shù)的大小,設(shè)計(jì)和開(kāi)發(fā)必須采取不同的方法。以1年期為例,如果總的行數(shù)小于10 000行,那么任何的設(shè)計(jì)和實(shí)現(xiàn)實(shí)際上都是可以的。如果1年期總行數(shù)是100 000行或更少,那么設(shè)計(jì)時(shí)就需小心謹(jǐn)慎。如果在頭一年內(nèi)總行數(shù)超過(guò)1000 000行,那么就要請(qǐng)求采取雙重粒度級(jí)。如果在數(shù)據(jù)倉(cāng)庫(kù)環(huán)境中總行數(shù)超過(guò)10 000 000行的話,必須強(qiáng)制采取雙重粒度級(jí),并且在設(shè)計(jì)和實(shí)現(xiàn)中應(yīng)該小心謹(jǐn)慎。對(duì)于5年期數(shù)據(jù),行的總數(shù)大致依據(jù)數(shù)量級(jí)改變,參見(jiàn)表3-8。表3-8存儲(chǔ)空間與粒度設(shè)計(jì)層次的考慮1年數(shù)據(jù)5年數(shù)據(jù)數(shù)據(jù)量(行數(shù))粒度劃分策略數(shù)據(jù)量(行數(shù))粒度
16、劃分策略10 000 000雙重粒度并仔細(xì)設(shè) 計(jì)20 000 000雙重粒度并仔細(xì)設(shè)計(jì)1 000 000雙重粒度10 000 000雙重粒度100 000仔細(xì)設(shè)計(jì)1 000 000仔細(xì)設(shè)計(jì)10 000不考慮100 000不考慮(3 )確定粒度的級(jí)別在數(shù)據(jù)倉(cāng)庫(kù)中確定粒度的級(jí)別時(shí),需要考慮這樣一些因素: 要接受的分析類型、 可接受的數(shù)據(jù)最低粒度和能存儲(chǔ)的數(shù)據(jù)量。計(jì)劃在數(shù)據(jù)倉(cāng)庫(kù)中進(jìn)行的分析類型將直接影響到數(shù)據(jù)倉(cāng)庫(kù)的粒度劃分。將粒度的層次定義得越高,就越不能在該倉(cāng)庫(kù)中進(jìn)行更細(xì)致的分析。例如,將粒度的層次定義為月份時(shí),就 不可能利用數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行按日匯總的信息分析。數(shù)據(jù)倉(cāng)庫(kù)通常在同一模式中使用多重粒度。數(shù)
17、據(jù)倉(cāng)庫(kù)中,可以有今年創(chuàng)建的數(shù)據(jù)粒度和以前創(chuàng)建的數(shù)據(jù)粒度。 這是以數(shù)據(jù)倉(cāng)庫(kù)中所需的最低粒度級(jí)別為基礎(chǔ)設(shè)置的。例如,可以用低粒度數(shù)據(jù)保存近期的財(cái)務(wù)數(shù)據(jù)和匯總數(shù)據(jù),對(duì)時(shí)間較遠(yuǎn)的財(cái)務(wù)數(shù)據(jù)只保留粒度較大的匯總數(shù)據(jù)。這樣既可以對(duì)財(cái)務(wù)近況進(jìn)行細(xì)節(jié)分析,又可以利用匯總數(shù)據(jù)對(duì)財(cái)務(wù)趨勢(shì)進(jìn)行分析,這里的數(shù)據(jù)粒度劃分策略就需要采用多重?cái)?shù)據(jù)粒度。定義數(shù)據(jù)倉(cāng)庫(kù)粒度的另外一個(gè)要素是數(shù)據(jù)倉(cāng)庫(kù)可以使用多種存儲(chǔ)介質(zhì)的空間量。如果存儲(chǔ)資源有一定的限制,就只能采用較高粒度的數(shù)據(jù)粒度劃分策略。這種粒度劃分策略必須依據(jù)用戶對(duì)數(shù)據(jù)需求的了解和信息占用數(shù)據(jù)倉(cāng)庫(kù)空間的大小來(lái)確定。選擇一個(gè)合適的粒度是數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)過(guò)程中所要解決的一個(gè)復(fù)雜的問(wèn)題,
18、因?yàn)榱6鹊拇_定實(shí)質(zhì)上是業(yè)務(wù)決策分析、硬件、軟件和數(shù)據(jù)倉(cāng)庫(kù)使用方法的一個(gè)折中。在確定數(shù)據(jù)倉(cāng)庫(kù)的粒度時(shí),可以采用多種方法來(lái)達(dá)到既能滿足用戶決策分析的需要,又能減少數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)量。如果主題分析的時(shí)間范圍較小,可以保持較少時(shí)間的細(xì)節(jié)數(shù)據(jù)。例如,在分析銷售趨勢(shì)的主題中,分析人員只利用一年的數(shù)據(jù)進(jìn)行比較,那么保存銷售主題的數(shù)據(jù)只需要15個(gè)月的就足夠解決問(wèn)題了,不必保存大量的數(shù)據(jù)和時(shí)間過(guò)長(zhǎng)的數(shù)據(jù)。還有一種可以大幅降低數(shù)據(jù)倉(cāng)庫(kù)容量的方法.就是只采用概括數(shù)據(jù)。這樣處理后,確實(shí)可以降低數(shù)據(jù)倉(cāng)庫(kù)的存儲(chǔ)空間,但是有可能達(dá)不到用戶管理決策分析中對(duì)數(shù)據(jù)粒度的要求。因此,數(shù)據(jù)粒度的劃分策略一定要保證數(shù)據(jù)的粒度確實(shí)能夠滿足
19、用戶的決策分析需要,這是數(shù)據(jù)粒度劃分策略中最重要的 一個(gè)準(zhǔn)則。2)設(shè)計(jì)實(shí)例下面以類似Adventure Works Cycles公司的生產(chǎn)部門數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)為例,如圖3-41所示。由于對(duì)不同的生產(chǎn)業(yè)務(wù)查詢需求的差異,這里采用多重粒度來(lái)設(shè)計(jì)。左邊是操作型數(shù)據(jù), 記錄的是完成若干給定部件的生產(chǎn)線運(yùn)轉(zhuǎn)情況,每一天都會(huì)積累許多記錄,是生產(chǎn)業(yè)務(wù)的詳細(xì)數(shù)據(jù),最近30天的活動(dòng)數(shù)據(jù)都存儲(chǔ)在操作型的聯(lián)機(jī)環(huán)境中。操作型數(shù)據(jù)的右邊是輕度匯總級(jí)的數(shù)據(jù), 輕度匯總級(jí)包括兩個(gè)表,一個(gè)匯總某一部件在 3個(gè)月中的生產(chǎn)情況,另一個(gè)匯總部件的組裝情況,匯總周期為1年。真實(shí)檔案級(jí)的數(shù)據(jù)包括每個(gè)生產(chǎn)活動(dòng)的詳細(xì)記錄。錯(cuò)誤!士產(chǎn)IT草按時(shí)
20、否帝任工隹舗褂號(hào)哀曲強(qiáng) 便申總量 完威祉辰.1毎的紋馥記逢組還ID 舗禪號(hào) 目駆強(qiáng)具缶檔克壊郛件號(hào) 肋At上產(chǎn)訂龍. 擾詁塞 按時(shí)否圖3-41生產(chǎn)環(huán)境的多重粒度3)設(shè)計(jì)原則粒度在數(shù)據(jù)倉(cāng)庫(kù)生命周期中是重要的考慮因素。它由業(yè)務(wù)問(wèn)題所驅(qū)動(dòng),受技術(shù)的制約。 如果粒度太大,就會(huì)丟失個(gè)別細(xì)節(jié), 就要花更多的處理時(shí)間來(lái)解開(kāi)聚合;而若粒度太小,就 會(huì)由于一葉障目而不見(jiàn)森林,許多寶貴的處理時(shí)間都浪費(fèi)在建立聚合上。因此粒度設(shè)計(jì)主要是權(quán)衡粒度級(jí)別,對(duì)于業(yè)務(wù)量大,分析要求比較高的情況下,最佳解決辦法則是采用多重粒度的形式。而針對(duì)具體的某個(gè)事實(shí)的粒度而言,應(yīng)當(dāng)采用最小粒度原則”即將量度的粒度設(shè)置到最小。假設(shè)目前的數(shù)據(jù)最
21、小記錄到秒,即數(shù)據(jù)庫(kù)中記錄了每秒的交易額。那么,如果可以確認(rèn),在將來(lái)的分析需求中,時(shí)間只需要精確到天就可以的話,就可以在ETL處理過(guò)程中,按天來(lái)匯總數(shù)據(jù),此時(shí),數(shù)據(jù)倉(cāng)庫(kù)中量度的粒度就是天”;反過(guò)來(lái),如果不能確認(rèn)將來(lái)的分析需求在時(shí)間上是否需要精確到秒,那么,就需要遵循最小粒度原則”精確到 秒”以滿足查詢的可能需求。3.5.4聚合的設(shè)計(jì)在事實(shí)表中存放的度量變量,根據(jù)其實(shí)際意義可分成可加性度量變量和非可加性度量 變。可加性度量變量是指將變量相加后得到的結(jié)果仍然具有實(shí)際意義,可以把此結(jié)果計(jì)算后放在事實(shí)表中,以便在以后的查詢中直接使用,這個(gè)相加的結(jié)果就是聚合。比如每個(gè)月的銷售金額,通過(guò)將3個(gè)月的銷售金額
22、相加, 就可以得到1個(gè)季度的銷售金額; 通過(guò)將12個(gè)月 的銷售金額相加,可以得到全年的銷售總金額。確定了數(shù)據(jù)倉(cāng)庫(kù)的粒度模型以后,為提高數(shù)據(jù)倉(cāng)庫(kù)的使用性能,還需要根據(jù)用戶的要求設(shè)計(jì)聚合。數(shù)據(jù)倉(cāng)庫(kù)中各種各樣的聚合數(shù)據(jù)主要是為了使用戶獲得更好的查詢性能,因此聚合模型的好壞將在很大程度上影響到數(shù)據(jù)倉(cāng)庫(kù)的最終使用效果。在設(shè)計(jì)聚合模型時(shí),首先需要考慮用戶的使用要求,其次要考慮數(shù)據(jù)倉(cāng)庫(kù)的粒度模型和 數(shù)據(jù)的統(tǒng)計(jì)分布情況。數(shù)據(jù)倉(cāng)庫(kù)的一般用戶在其日常工作中己經(jīng)有了按照地理位置、產(chǎn)品類型和時(shí)間范圍的報(bào)告。在數(shù)據(jù)倉(cāng)庫(kù)的聚合設(shè)計(jì)中,應(yīng)該對(duì)每個(gè)維進(jìn)行審查,以確定哪些屬性經(jīng)常用于分組,這些屬性的組合有多少。 例如,如果考慮
23、某一主題有 4個(gè)維度,每個(gè)維度有3個(gè)可以作為聚合 的屬性,那么最多可以創(chuàng)建 256個(gè)不同的聚合。當(dāng)然.在實(shí)際工作中是沒(méi)有必要?jiǎng)?chuàng)建這么多 聚合的,只需考慮在數(shù)據(jù)倉(cāng)庫(kù)中經(jīng)常使用的聚合。此時(shí),可以審查數(shù)據(jù)倉(cāng)庫(kù)的需求分析文檔,了解用戶的需求情況。 然后確定哪些內(nèi)容會(huì)對(duì)聚合有影響,并通過(guò)對(duì)數(shù)據(jù)的審核獲取每個(gè)維度中不同聚合的統(tǒng)計(jì)數(shù)據(jù)。數(shù)據(jù)倉(cāng)庫(kù)的聚合模型的設(shè)計(jì)與數(shù)據(jù)倉(cāng)庫(kù)的粒度模型緊密相關(guān),如果數(shù)據(jù)倉(cāng)庫(kù)的粒度模型只考慮了細(xì)節(jié)數(shù)據(jù),那么就可能需要多設(shè)計(jì)一些聚合,如果粒度模型為多層數(shù)據(jù)則在聚合模型設(shè)計(jì)中可以少考慮一些聚合。在建立聚合模型時(shí)還需要考慮作為聚合屬性的數(shù)量因素。例如,在數(shù)據(jù)倉(cāng)庫(kù)中有1 000000個(gè)值用
24、于描述商品信息的最底層信息,如果用戶在使用數(shù)據(jù)倉(cāng)庫(kù)時(shí)用500 000個(gè)值描述商品最底層的上一層次的信息,此時(shí)進(jìn)行聚合處理并不能明顯提高數(shù)據(jù)倉(cāng)庫(kù)的使用性能。但是如果商品上一層次的信息用75 000個(gè)值描述,那么就應(yīng)該使用聚合表提高數(shù)據(jù)倉(cāng)庫(kù)的使用性能。3.5.5數(shù)據(jù)分割如果粒度和分割都做得很好的話,則數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)和實(shí)現(xiàn)的幾乎所有其他問(wèn)題都容易解 決。但是,假如粒度處理不當(dāng)并且分割也沒(méi)有認(rèn)真地設(shè)計(jì)與實(shí)現(xiàn),這將使其他方面的設(shè)計(jì)難以真正實(shí)現(xiàn)。數(shù)據(jù)分割是指把數(shù)據(jù)分散到各自的物理單元中去,使它們能獨(dú)立地處理。分割是數(shù)據(jù)倉(cāng)庫(kù)中繼粒度問(wèn)題之后的第2個(gè)主要的設(shè)計(jì)問(wèn)題。為什么分割如此重要呢?因?yàn)樾〉奈锢韱卧転椴僮?/p>
25、者和設(shè)計(jì)者在管理數(shù)據(jù)時(shí)提供比對(duì)大的物理單元更大的靈活性。數(shù)據(jù)倉(cāng)庫(kù)的本質(zhì)之一就是靈活地訪問(wèn)數(shù)據(jù)。如果是大塊的數(shù)據(jù),就達(dá)不到這一要求。因而,對(duì)所有當(dāng)前細(xì)節(jié)的數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)都要進(jìn)行分割。分割的原理類似如圖3-42所示,由于全部銷售記錄過(guò)于龐大,可以按照不同的年度把它分為5個(gè)小的物理單元。錯(cuò)誤!圖3-42數(shù)據(jù)分割處理例如,在第2章用到的foodmart 2000.mdb中,由于設(shè)計(jì)該數(shù)據(jù)庫(kù)的時(shí)候考慮到了它將要作為數(shù)據(jù)倉(cāng)庫(kù)使用,因此,對(duì)于銷售事實(shí)按照年份分割成了sales_fact_1997、sales_fact_1998和 sales_fact_dec_1998 3 個(gè)表,對(duì)庫(kù)存事實(shí)則分割成了inven
26、tory_fact_1997 和inventory_fact_1998 兩個(gè)表,如圖 3-43 所示。rsales_fact_1997 sales fact dec 1998safes fact 1998productjd timejd customer Jd promotion stored store_sales stores ost unit_salesproductjd timejd customend promotion stcre_id store_sales store_cost unit_salesproductjd timed customerjd promotionU st
27、orejd store_sales sto re_cost unit_salesinventory_fact_1998 productjd timejd warehousejd store units_ordered units_shipped wa rehouse_sales warehou$e_co5t supplyjtime storejnvoiceinventory_fact_1997productjdwarehousejd store_id unrts_ardered units_shipped warehouse_sales wa rehouse_co5t supply_time
28、store invoicexoinlx圖3-43 Foodmart數(shù)據(jù)庫(kù)中的數(shù)據(jù)分割在工程實(shí)踐中,除了時(shí)間以外,還可以有多種數(shù)據(jù)分割的標(biāo)準(zhǔn)。例如商務(wù)業(yè)務(wù)、地理位 置和組織單位或者各種標(biāo)準(zhǔn)的綜合。3.6規(guī)劃分析的視角:維度對(duì)客戶、產(chǎn)品、服務(wù)、提供商、地點(diǎn)、渠道和事件發(fā)生的時(shí)間及對(duì)企業(yè)來(lái)說(shuō)很重要的其他實(shí)體的觀察是商業(yè)智能的基本驅(qū)動(dòng)力。當(dāng)它們?cè)谝粋€(gè)關(guān)系數(shù)據(jù)庫(kù)中表示和抽象出來(lái)的時(shí) 候,它們便叫做維。維是人們觀察客觀世界的角度,是一種高層次的類型劃分。例如如果希 望按照時(shí)間,或者按照地區(qū)或產(chǎn)品進(jìn)行分析,那么這里的時(shí)間、地區(qū)和產(chǎn)品就是相應(yīng)的維度。 基于不同的維度,可以看到各量度的匯總情況,也可以基于所有的
29、維度進(jìn)行交叉分析。3.6.1維度的構(gòu)成在圖3-10的星形架構(gòu)圖中可以看到,處于星形結(jié)構(gòu)中央的事實(shí)表不僅包含度量,而且也包含維表的外鍵和事實(shí)表的主鍵。維度表除了代表維之外,還具有字段,例如客戶維度表包含一個(gè)主鍵“ CustomerKey和用來(lái)向客戶提供信息的其他字段。維度由主鍵和維屬性構(gòu)成。維屬性是維表里的列。維元素定義維表中的層次關(guān)系,屬性則以用戶熟悉的術(shù)語(yǔ)描述維元素。圖3-44顯示了維元素和相關(guān)屬性的關(guān)系。圖3-44維元素和相關(guān)屬性的關(guān)系在設(shè)計(jì)過(guò)程中,來(lái)自數(shù)據(jù)源的數(shù)值數(shù)據(jù)字段到底是一個(gè)已度量的事實(shí)還是一個(gè)維度的屬 性是比較容易混淆的一個(gè)問(wèn)題。一般情況下,在每次抽樣時(shí),如果數(shù)值數(shù)據(jù)字段的度量都
30、改 變,那么它就是事實(shí),如果它是某種東西的離散值描述,并幾乎保持為常數(shù),那么它就是維屬性。3.6.2維度的特性所有的維度都有一些共同特性,它們包括以下幾個(gè)方面。(1)維存在于關(guān)系式的表中,包含了鍵值和支持的屬性,而且屬性與所陳述的事實(shí)高度相關(guān)。對(duì)于屬性一般使用簡(jiǎn)單易用的文字信息,不應(yīng)該有代碼或縮寫, 沒(méi)有空值或NULL ,沒(méi)有無(wú)用或過(guò)時(shí)的數(shù)值。(2)維度使用解析過(guò)的時(shí)間、名字或地址元素,這樣可以使你的查詢更靈活。比如時(shí) 間可分為年、季度、月、周和日等;個(gè)人的名字可以分為姓氏和稱謂(如先生或小姐);組 織名可以用部門來(lái)區(qū)分;地址則可以用地理區(qū)域來(lái)區(qū)分(如國(guó)家、州省和、城市)。(3) 不要使用業(yè)務(wù)
31、數(shù)據(jù)庫(kù)的鍵值,對(duì)每個(gè)維表另外增加一個(gè)額外的惟一值字段作為主鍵來(lái)識(shí)別維表實(shí)體,通常最常使用的字段類型是Identity類型或者16位格式的全局唯一標(biāo)識(shí)符(Global Unique Identity,GUID )。這樣,就不需要改變 OLTP系統(tǒng)可能會(huì)發(fā)生的重復(fù) 情形,也使得 OLTP系統(tǒng)可以重復(fù)使用鍵值。這個(gè)在維表中新設(shè)定的鍵也叫代理鍵。(4)維表至少包含一個(gè)決策因子,每個(gè)決策因子字段可以通過(guò)使用相關(guān)的主鍵,并結(jié) 合事實(shí)表的KPI數(shù)據(jù)來(lái)響應(yīng)用戶的查詢。(5) 維度表應(yīng)該包含有隨時(shí)間變化的數(shù)據(jù)記錄字段,當(dāng)數(shù)據(jù)集市或數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)隨 時(shí)間變化而有額外增加或改變時(shí),維表的數(shù)據(jù)行應(yīng)該隨著維屬性的變化而
32、變化。363維度的分類維度主要有4種類型,包括結(jié)構(gòu)維、信息維、分區(qū)維和分類維。結(jié)構(gòu)維最為普通,它包含具有層次結(jié)構(gòu)的成員;信息維包含需要計(jì)算的屬性;分區(qū)維用于信息的比較,如計(jì)劃銷售 情況和實(shí)際銷售情況;分類維用于根據(jù)維的屬性來(lái)分組。此外,還有一些結(jié)構(gòu)上比較特殊的維,如退化維和垃圾維等。1結(jié)構(gòu)維結(jié)構(gòu)維表示在層次結(jié)構(gòu)組成中的信息量度。因此,年、月和日可以組成一個(gè)結(jié)構(gòu)維。一個(gè)部門將總銷售量用作一個(gè)度量,便是如何應(yīng)用結(jié)構(gòu)維的一個(gè)例子。 與這個(gè)度量相關(guān)的是包含涉及產(chǎn)品的所有屬性的產(chǎn)品信息表??梢酝ㄟ^(guò)產(chǎn)品信息表生成的維可能是“ 、"“ product_brand、“ pro
33、duct_category、 ""product_department和 ”“ product_family?!痹诖藭?huì)發(fā)現(xiàn),這個(gè)產(chǎn)品維可以組成一個(gè)層次結(jié)構(gòu)。增加一個(gè)時(shí)間信息表,就可以通過(guò)由年、月和日組成的時(shí)間信息對(duì)象建立一個(gè)時(shí)間維。通過(guò)這個(gè)度量和2個(gè)結(jié)構(gòu)維,可以用SSAS確定一種特殊產(chǎn)品在某一特定時(shí)期的銷售總量。下面是一些普通的結(jié)構(gòu)維:客戶地理位置維這個(gè)維可提供一個(gè)根據(jù)客戶所在地進(jìn)行歸類的層次結(jié)構(gòu)。客戶維的典型例子是 “ customer_city、” “ customer_state和“ custmer_country。這個(gè)維通常用于查看不同的地 理位置在銷售、利潤(rùn)和其他
34、客戶度量方面的不同。時(shí)間維可表明事件發(fā)生的時(shí)間。典型的時(shí)間維應(yīng)該是年、月和日。銷售人員地理位置維這個(gè)維可提供一個(gè)根據(jù)銷售人員所在地域進(jìn)行歸類的層次結(jié)構(gòu)。這個(gè)維通常用來(lái)查看工作在不同地域的銷售人員的銷售情況和利潤(rùn)等。產(chǎn)品維出售的產(chǎn)品。這個(gè)層次結(jié)構(gòu)可能包括“ product_name、 “ product_bra nd、”“ product_category和""product_department。這個(gè)維用來(lái)查看不同類別的產(chǎn)品的銷售利潤(rùn)和其 他指標(biāo)。所有這些結(jié)構(gòu)維都包含他們所在層次結(jié)構(gòu)的屬性。在結(jié)構(gòu)維中層次是非常重要的,所以2.信息維信息維是計(jì)算字段建立的。 用戶也許想通過(guò)銷
35、售利潤(rùn)了解所有產(chǎn)品的銷售總額。也許希望通過(guò)增加銷售來(lái)獲得豐厚的利潤(rùn)。 然而,如果某一款商品降價(jià)銷售,可能會(huì)發(fā)現(xiàn)銷售量雖 然很大,而利潤(rùn)卻很小或幾乎沒(méi)有利潤(rùn)。從另一方面看,用戶可能希望通過(guò)提高某種產(chǎn)品的價(jià)格獲得較大利潤(rùn)。 這種產(chǎn)品可能具有較高的利潤(rùn)空間,但銷量卻可能很低。因此,就利潤(rùn)建立一個(gè)維,就銷售總量建立一個(gè)度量可以提供有用的產(chǎn)品信息。用戶可以對(duì)利潤(rùn)進(jìn)行 2種計(jì)算。第1種是計(jì)算每種商品的平均利潤(rùn),這一方法很簡(jiǎn)單, 即用銷售價(jià)格減去銷售人員的開(kāi)銷。知道了每種商品的平均利潤(rùn)之后,還可以用它乘以每一天的銷售量從而得到每種商品每一天的總利潤(rùn)。真實(shí)世界在實(shí)際應(yīng)用中, 也許需要進(jìn)行很多項(xiàng)這樣的計(jì)算,因?yàn)?/p>
36、每一天的銷售價(jià)格和開(kāi)銷都有很大差異。因此,需要一個(gè)包含每天的銷售價(jià)格和每天開(kāi)銷情況的表。在用戶查看的時(shí)間段上,每一天的銷售價(jià)格和每天的開(kāi)銷情況都是有區(qū)別的,需要進(jìn)行合計(jì)并求平均。 某一天每種商品的利潤(rùn)乘以這一天的銷售量等于當(dāng)天的總利潤(rùn),選定時(shí)間段的利潤(rùn)總和為各天的利潤(rùn)之和。創(chuàng)建了一個(gè)包括每種商品利潤(rùn)和全部利潤(rùn)的維,就有了一個(gè)信息維。3.分區(qū)維生成信息表以同一結(jié)構(gòu)生成兩個(gè)或多個(gè)維時(shí),要用到分區(qū)維。例如,用戶可能要?jiǎng)?chuàng)建用于預(yù)測(cè)銷售額和實(shí)際銷售額的兩個(gè)維。這兩個(gè)維的結(jié)構(gòu)相同,只是數(shù)值不同。另一個(gè)例子是時(shí)間維,每一年有相同的季度,相同的月和相同的天(除了閏年以外,而它不影響維)。在OLAP Servi
37、ces 中,將頻繁使用時(shí)間分區(qū)維來(lái)分割數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)。例如:為下列結(jié)構(gòu)生成兩個(gè)同樣的維。the_daythe_ mon ththe_year一個(gè)時(shí)間維中的數(shù)據(jù)是針對(duì)1998年的,而另一個(gè)時(shí)間維中的數(shù)據(jù)針對(duì)1999年的。建立事實(shí)表時(shí),可以把度量分割為1998年的數(shù)據(jù)和1999年的數(shù)據(jù),這將帶來(lái)許多益處。4分類維分類維是通過(guò)對(duì)一個(gè)維的屬性值分組而創(chuàng)建的。如果客戶表中有家庭收入屬性,那么, 可能希望查看客戶根據(jù)收入的購(gòu)物方式。為此,可以生成一個(gè)含有家庭收入的分類維。例如:如果有以下家庭每年收入的數(shù)據(jù)分組:020 000元、2000140 000元、40 00160 000元、60 001100 0
38、00元和大于100 001元?,F(xiàn)在就可以考慮如何度量,例如,從 這些分類中的每一個(gè)所購(gòu)買產(chǎn)品的數(shù)量上來(lái)看他們的收入水平怎樣和購(gòu)買量怎樣。另外一個(gè)可能的分類是家庭成員的性別和數(shù)量。5.特殊維類型特殊的維主要是在結(jié)構(gòu)上區(qū)別于常見(jiàn)的維度,主要有退化維、垃圾維和一致維3類。(1) 當(dāng)維表中的主鍵在事實(shí)表中沒(méi)有與外鍵關(guān)聯(lián)時(shí),這樣的維稱為退化維。退化維與事實(shí)表并無(wú)關(guān)系,但對(duì)于一般在企業(yè)事件中跨越維之間數(shù)據(jù)時(shí),所用到的約束,也就是查詢限制條件(比如訂單號(hào)碼、出貨單編號(hào)等),這時(shí)就常用退化維。以銷售分析而言,通常是 把出貨日期作為事實(shí)的時(shí)間,而把訂單日期或需求日期等作為查詢條件,這里,訂單日期或需求日期就是退
39、化維。(2) 垃圾維。針對(duì)某企業(yè)事件,通常提供了必要的查詢值,但是卻沒(méi)有直接映射信息對(duì)象產(chǎn)生的維表,這樣的字段就是垃圾維。一般來(lái)說(shuō),如果OLAP系統(tǒng)包含雜亂的標(biāo)識(shí)和文字屬性,而且與時(shí)間維以外的維表沒(méi)有關(guān)系,就可以使用垃圾維。唯一要注意的是,垃圾維必須是對(duì)企業(yè)決策潛在限制值非常重要的屬性,通常會(huì)創(chuàng)建一個(gè)維表來(lái)存儲(chǔ)這些屬性。(3) 致維。當(dāng)有好幾個(gè)數(shù)據(jù)集市要合并成一個(gè)企業(yè)級(jí)的數(shù)據(jù)倉(cāng)庫(kù)時(shí),可以使用一致維來(lái)集成數(shù)據(jù)集市以便確定所有的數(shù)據(jù)集市可以使用每個(gè)數(shù)據(jù)集市的事實(shí)。所以,一致維常用于屬于企業(yè)級(jí)的綜合性數(shù)據(jù)倉(cāng)庫(kù),使得數(shù)據(jù)可以跨越不同的模式來(lái)查詢。3.6.4維度的層次和級(jí)別維”一般包含著層次關(guān)系,這種層
40、次關(guān)系有時(shí)會(huì)相當(dāng)復(fù)雜。通過(guò)把一個(gè)實(shí)體的多項(xiàng)重要的屬性定義為多個(gè)維(dimension ),使用戶能對(duì)不同維上的數(shù)據(jù)進(jìn)行比較。因此OLAP也可以說(shuō)是多維數(shù)據(jù)分析工具的集合。這里首先要確定維度的層次和級(jí)別。如圖3-45所示,在時(shí)間維度上,按照 年季度月”形成了一個(gè)層次,其中年”、季度”和月”成為這個(gè)層次的3個(gè)級(jí)別。同理,當(dāng)建立產(chǎn)品維度時(shí),可以將 產(chǎn)品大類一產(chǎn)品子類一產(chǎn)品”劃為一個(gè)層次,其中包含產(chǎn)品大類”、產(chǎn)品子類”和產(chǎn)品”3個(gè)級(jí)別錯(cuò)誤!磁Yrz玄障一月匚圖3-45維度的層次和級(jí)別分析中所用到的這些具有層次的維度,在數(shù)據(jù)倉(cāng)庫(kù)中的存在形式, 一般說(shuō)來(lái),有合并維分層結(jié)構(gòu)和雪花分層結(jié)構(gòu) 2種方式。1合并維
41、分層結(jié)構(gòu)合并維分層結(jié)構(gòu)的最顯著的特點(diǎn)是將不同分層結(jié)構(gòu)的信息對(duì)象完全合并到同一個(gè)維中。如產(chǎn)品維表可能就包含產(chǎn)品總類、產(chǎn)品類別、產(chǎn)品詳細(xì)類別及產(chǎn)品名稱等,如圖3-46所示。合并維分層結(jié)構(gòu)是星形模式的標(biāo)準(zhǔn)分類法,它有2個(gè)特點(diǎn)。(1)查詢簡(jiǎn)單:由于所有的分層結(jié)構(gòu)都合并在同一維表中,因此不需要知道每個(gè)分層 結(jié)構(gòu)的表名稱,也不需要額外的表連接。(2)需要較多的硬盤存儲(chǔ)空間:因?yàn)闆](méi)有做過(guò)正規(guī)化,所以存在數(shù)據(jù)重復(fù)。圖3-46合并維分層結(jié)構(gòu)圖3-47時(shí)間維合并維分層結(jié)構(gòu)2雪花分層結(jié)構(gòu)這種分層結(jié)構(gòu)類似正規(guī)化,所有類別用獨(dú)立的表來(lái)存儲(chǔ)數(shù)據(jù)。也就是將產(chǎn)品詳細(xì)類別、 產(chǎn)品類別及產(chǎn)品總類這 3個(gè)分層結(jié)構(gòu)分別獨(dú)立成一個(gè)表,
42、再用主鍵與外部鍵來(lái)維持彼此的關(guān) 系。如圖3-48所示。雪花分層結(jié)構(gòu)把星形模式進(jìn)行正規(guī)化,也因此產(chǎn)生了兩種OLAP標(biāo)準(zhǔn)模型,星形模式與雪花模式,它的特點(diǎn)是:節(jié)省硬盤空間:因?yàn)樽鲞^(guò)正規(guī)化,所以沒(méi)有冗余數(shù)據(jù)。查詢較復(fù)雜:由于所有的分層結(jié)構(gòu)都在不同的表中,因此除了需要進(jìn)行表連接以外,還需要知道每個(gè)分層結(jié)構(gòu)所屬的表名。圖3-48是產(chǎn)品維度分別保存產(chǎn)品大類、產(chǎn)品子類和產(chǎn)品3部分?jǐn)?shù)據(jù)形成的雪花分層結(jié) 構(gòu)。圖3-48產(chǎn)品維在數(shù)據(jù)倉(cāng)庫(kù)中的儲(chǔ)存形式3.6.5維度的緩慢變化特性及其處理維度可以根據(jù)變化劇烈程度主要分為無(wú)變化維度、緩慢變化維度和劇烈變化維度。例如一個(gè)人的相關(guān)信息,身份證號(hào)、姓名和性別等信息數(shù)據(jù)屬于不變
43、的部分,政治面貌和婚姻狀態(tài)屬于緩慢變化部分,而工作經(jīng)歷、工作單位和培訓(xùn)經(jīng)歷等在某種程度上屬于急劇變化字段。對(duì)于劇烈變化維度,通常情況下都是一分為二進(jìn)行處理的,把其中不常變動(dòng)的部分單獨(dú)抽出來(lái)作為一個(gè)維表,按照緩慢變化維方式進(jìn)行處理;另外一部分也單獨(dú)抽取出來(lái),通常作 為維度的屬性進(jìn)行處理。大多數(shù)維度表隨時(shí)間的遷移是緩慢變化的。比如增加了新的產(chǎn)品,或者產(chǎn)品的ID號(hào)碼修改了,或者產(chǎn)品增加了一個(gè)新的屬性,此時(shí),維度表就會(huì)被修改或者增加新的記錄行。這樣,在設(shè)計(jì)維度和使用維度的過(guò)程中,就要考慮到緩慢變化維度的處理。維度的緩慢變化有 3種不同情況,其對(duì)應(yīng)的處理方法也有所不同。1歷史數(shù)據(jù)需要修改這種情況主要是發(fā)生在業(yè)務(wù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)出現(xiàn)錯(cuò)誤,在分析過(guò)程中需要修改。處理辦法是用直接覆蓋法,即使用 UPDATE方法來(lái)修改維度表中的數(shù)據(jù)。例如商店維 度中商店經(jīng)理是張三,后來(lái)錯(cuò)了,需要改寫成李四,那么,我們就在ETL處理時(shí),直接修改維度表中原來(lái)的商店經(jīng)理為李四,如圖3-49所示。錯(cuò)誤!100no
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中國(guó)肝泰沖劑市場(chǎng)調(diào)查研究報(bào)告
- 2024年中國(guó)氣(水)密封拉鏈?zhǔn)袌?chǎng)調(diào)查研究報(bào)告
- 2024年中國(guó)扁管式散熱器市場(chǎng)調(diào)查研究報(bào)告
- 2024年輔導(dǎo)服務(wù)協(xié)議基本格式版B版
- 2024年美發(fā)店合作發(fā)展合同
- 2024年中國(guó)絲束市場(chǎng)調(diào)查研究報(bào)告
- 2024至2030年微生物培養(yǎng)鑒定系統(tǒng)項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年常規(guī)型空氣過(guò)濾器項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年工程卷簾項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年小球面銑磨精磨機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 《中國(guó)近現(xiàn)代史綱要(2023版)》課后習(xí)題答案合集匯編
- 家庭管理量表(FaMM)
- 腰椎間盤突出癥的射頻治療
- 2023屆河南省洛陽(yáng)市平頂山市許昌市濟(jì)源市高三一模語(yǔ)文試題
- 【超星爾雅學(xué)習(xí)通】《老子》《論語(yǔ)》今讀網(wǎng)課章節(jié)答案
- 配電箱采購(gòu)技術(shù)要求
- 上海外國(guó)語(yǔ)大學(xué)附屬外國(guó)語(yǔ)學(xué)校2020-2021七年級(jí)下學(xué)期期中英語(yǔ)試卷+答案
- 綠色施工措施措施 四節(jié)一環(huán)保
- TCSES 71-2022 二氧化碳地質(zhì)利用與封存項(xiàng)目泄漏風(fēng)險(xiǎn)評(píng)價(jià)規(guī)范
- GB/T 8561-2001專業(yè)技術(shù)職務(wù)代碼
- GB/T 7661-2009光學(xué)零件氣泡度
評(píng)論
0/150
提交評(píng)論