久久亚洲精品无码人区_中文字字幕在线_波多野结衣av免费观看_天堂va在线视频

    熱門關(guān)鍵詞用友BIP 用友U9 用友NC 用友U8 OA T+ 好業(yè)財

    詳細信息

    您現(xiàn)在的位置:網(wǎng)站首頁 >> 國內(nèi)資訊 >> 詳細信息

    淺談用友軟件數(shù)據(jù)倉庫建設(shè)中的數(shù)據(jù)建模方法

    發(fā)布時間:2024-11-18  

    人工客服

    特價活動:>>>> 用友U8、T6、T+、T3軟件產(chǎn)品4折優(yōu)惠,暢捷通T+cloud、好會計、易代賬、好業(yè)財、好生意云產(chǎn)品6-8折優(yōu)惠。 

    一篇比較全面介紹數(shù)據(jù)倉庫建模方法的普及文章,主要包括了四個方面的內(nèi)容:


    1、什么是數(shù)據(jù)模型:簡而言之就是對現(xiàn)實世界業(yè)務(wù)對象及關(guān)系的抽象。

    2、為什么需要數(shù)據(jù)模型:數(shù)據(jù)模型不是必需的,建模的目的是為了改進業(yè)務(wù)流程、消滅信息孤島和數(shù)據(jù)差異及提升業(yè)務(wù)支撐的靈活性。

    3、如何建設(shè)數(shù)據(jù)模型:介紹了數(shù)據(jù)模型的架構(gòu)的五大部分、數(shù)據(jù)建模四個階段及三大建模方法。

    4、數(shù)據(jù)倉庫建模的樣例:舉了社保的案例。


    正文開始

    這篇文章最早是2008年當(dāng)時的IBM 信息技術(shù)專家 周三保在IBM網(wǎng)站刊登的。所謂水無定勢,兵無常法。不同的行業(yè),有不同行業(yè)的特點,因此,從業(yè)務(wù)角度看,其相應(yīng)的數(shù)據(jù)模型是千差萬別的。目前業(yè)界較為主流的是數(shù)據(jù)倉庫廠商主要是 IBM 和 NCR,這兩家公司的除了能夠提供較為強大的數(shù)據(jù)倉庫平臺之外,也有各自的針對某個行業(yè)的數(shù)據(jù)模型。


    例如,在銀行業(yè),IBM 有自己的 BDWM(Banking data warehouse model),而 NCR 有自己的 FS-LDM 模型。在電信業(yè),IBM 有 TDWM(Telecom Data warehouse model),而 NCR 有自己的 TS-LDM 模型。因此,我們看到,不同的公司有自己針對某個行業(yè)的理解,因此會有不同的公司針對某個行業(yè)的模型。而對于不同的行業(yè),同一個公司也會有不同的模型,這主要取決于不同行業(yè)的不同業(yè)務(wù)特點。


    舉例來說,IBM 的 TDWM 的模型總共包含了以下 9 個概念
    可能很多人要問,為什么你們的模型是 9 個概念而不是 10 個,11 個呢?你們的數(shù)據(jù)倉庫模型的依據(jù)又是什么?其實這是我們在給客戶介紹我們的數(shù)據(jù)模型時,經(jīng)常被問到的一個問題,我希望讀者在讀完本文時,能夠找到自己的答案。

    雖然每個行業(yè)有自己的模型,但是,我們發(fā)現(xiàn),不同行業(yè)的數(shù)據(jù)模型,在數(shù)據(jù)建模的方法上,卻都有著共通的基本特點。


    本文的主要目的之一,就是希望讀者能夠通過對本文的閱讀,同時,結(jié)合自己對數(shù)據(jù)倉庫建設(shè)的經(jīng)驗,在建設(shè)數(shù)據(jù)倉庫的時候能夠總結(jié)出一套適合自己的建模方法,能夠更好的幫助客戶去發(fā)揮數(shù)據(jù)倉庫的作用。
    本文主要的主線就是回答下面三個問題:
    • 什么是數(shù)據(jù)模型
    • 為什么需要數(shù)據(jù)模型
    • 如何建設(shè)數(shù)據(jù)模型

    最后,我們在本文的結(jié)尾給大家介紹了一個具體的數(shù)據(jù)倉庫建模的樣例,幫助大家來了解整個數(shù)據(jù)建模的過程。


    什么是數(shù)據(jù)模型

    數(shù)據(jù)模型是抽象描述現(xiàn)實世界的一種工具和方法,是通過抽象的實體及實體之間聯(lián)系的形式,來表示現(xiàn)實世界中事務(wù)的相互關(guān)系的一種映射。在這里,數(shù)據(jù)模型表現(xiàn)的抽象的是實體和實體之間的關(guān)系,通過對實體和實體之間關(guān)系的定義和描述,來表達實際的業(yè)務(wù)中具體的業(yè)務(wù)關(guān)系。


    數(shù)據(jù)倉庫模型是數(shù)據(jù)模型中針對特定的數(shù)據(jù)倉庫應(yīng)用系統(tǒng)的一種特定的數(shù)據(jù)模型,一般的來說,我們數(shù)據(jù)倉庫模型分為以下幾個層次

    通過上面的圖形,我們能夠很容易的看出在整個數(shù)據(jù)倉庫得建模過程中,我們需要經(jīng)歷一般四個過程:
    • 業(yè)務(wù)建模,生成業(yè)務(wù)模型,主要解決業(yè)務(wù)層面的分解和程序化。
    • 領(lǐng)域建模,生成領(lǐng)域模型,主要是對業(yè)務(wù)模型進行抽象處理,生成領(lǐng)域概念模型。
    • 邏輯建模,生成邏輯模型,主要是將領(lǐng)域模型的概念實體以及實體之間的關(guān)系進行數(shù)據(jù)庫層次的邏輯化。
    • 物理建模,生成物理模型,主要解決,邏輯模型針對不同關(guān)系型數(shù)據(jù)庫的物理化以及性能等一些具體的技術(shù)問題。

    因此,在整個數(shù)據(jù)倉庫的模型的設(shè)計和架構(gòu)中,既涉及到業(yè)務(wù)知識,也涉及到了具體的技術(shù),我們既需要了解豐富的行業(yè)經(jīng)驗,同時,也需要一定的信息技術(shù)來幫助我們實現(xiàn)我們的數(shù)據(jù)模型,最重要的是,我們還需要一個非常適用的方法論,來指導(dǎo)我們自己針對我們的業(yè)務(wù)進行抽象,處理,生成各個階段的模型。


    為什么需要數(shù)據(jù)模型

    在數(shù)據(jù)倉庫的建設(shè)中,我們一再強調(diào)需要數(shù)據(jù)模型,那么數(shù)據(jù)模型究竟為什么這么重要呢?首先我們需要了解整個數(shù)據(jù)倉庫的建設(shè)的發(fā)展史。


    數(shù)據(jù)倉庫的發(fā)展大致經(jīng)歷了這樣的三個過程:
    • 簡單報表階段:這個階段,系統(tǒng)的主要目標(biāo)是解決一些日常的工作中業(yè)務(wù)人員需要的報表,以及生成一些簡單的能夠幫助領(lǐng)導(dǎo)進行決策所需要的匯總數(shù)據(jù)。這個階段的大部分表現(xiàn)形式為數(shù)據(jù)庫和前端報表工具。
    • 數(shù)據(jù)集市階段:這個階段,主要是根據(jù)某個業(yè)務(wù)部門的需要,進行一定的數(shù)據(jù)的采集,整理,按照業(yè)務(wù)人員的需要,進行多維報表的展現(xiàn),能夠提供對特定業(yè)務(wù)指導(dǎo)的數(shù)據(jù),并且能夠提供特定的領(lǐng)導(dǎo)決策數(shù)據(jù)。
    • 數(shù)據(jù)倉庫階段:這個階段,主要是按照一定的數(shù)據(jù)模型,對整個企業(yè)的數(shù)據(jù)進行采集,整理,并且能夠按照各個業(yè)務(wù)部門的需要,提供跨部門的,完全一致的業(yè)務(wù)報表數(shù)據(jù),能夠通過數(shù)據(jù)倉庫生成對對業(yè)務(wù)具有指導(dǎo)性的數(shù)據(jù),同時,為領(lǐng)導(dǎo)決策提供全面的數(shù)據(jù)支持。
    通過數(shù)據(jù)倉庫建設(shè)的發(fā)展階段,我們能夠看出,數(shù)據(jù)倉庫的建設(shè)和數(shù)據(jù)集市的建設(shè)的重要區(qū)別就在于數(shù)據(jù)模型的支持。因此,數(shù)據(jù)模型的建設(shè),對于我們數(shù)據(jù)倉庫的建設(shè),有著決定性的意義。
    一般來說,數(shù)據(jù)模型的建設(shè)主要能夠幫助我們解決以下的一些問題:
    • 進行全面的業(yè)務(wù)梳理,改進業(yè)務(wù)流程。在業(yè)務(wù)模型建設(shè)的階段,能夠幫助我們的企業(yè)或者是管理機關(guān)對本單位的業(yè)務(wù)進行全面的梳理。通過業(yè)務(wù)模型的建設(shè),我們應(yīng)該能夠全面了解該單位的業(yè)務(wù)架構(gòu)圖和整個業(yè)務(wù)的運行情況,能夠?qū)I(yè)務(wù)按照特定的規(guī)律進行分門別類和程序化,同時,幫助我們進一步的改進業(yè)務(wù)的流程,提高業(yè)務(wù)效率,指導(dǎo)我們的業(yè)務(wù)部門的生產(chǎn)。
    • 建立全方位的數(shù)據(jù)視角,消滅信息孤島和數(shù)據(jù)差異。通過數(shù)據(jù)倉庫的模型建設(shè),能夠為企業(yè)提供一個整體的數(shù)據(jù)視角,不再是各個部門只是關(guān)注自己的數(shù)據(jù),而且通過模型的建設(shè),勾勒出了部門之間內(nèi)在的聯(lián)系,幫助消滅各個部門之間的信息孤島的問題,更為重要的是,通過數(shù)據(jù)模型的建設(shè),能夠保證整個企業(yè)的數(shù)據(jù)的一致性,各個部門之間數(shù)據(jù)的差異將會得到有效解決。
    • 解決業(yè)務(wù)的變動和數(shù)據(jù)倉庫的靈活性。通過數(shù)據(jù)模型的建設(shè),能夠很好的分離出底層技術(shù)的實現(xiàn)和上層業(yè)務(wù)的展現(xiàn)。當(dāng)上層業(yè)務(wù)發(fā)生變化時,通過數(shù)據(jù)模型,底層的技術(shù)實現(xiàn)可以非常輕松的完成業(yè)務(wù)的變動,從而達到整個數(shù)據(jù)倉庫系統(tǒng)的靈活性。
    • 幫助數(shù)據(jù)倉庫系統(tǒng)本身的建設(shè)。通過數(shù)據(jù)倉庫的模型建設(shè),開發(fā)人員和業(yè)務(wù)人員能夠很容易的達成系統(tǒng)建設(shè)范圍的界定,以及長期目標(biāo)的規(guī)劃,從而能夠使整個項目組明確當(dāng)前的任務(wù),加快整個系統(tǒng)建設(shè)的速度。

    如何建設(shè)數(shù)據(jù)模型

    建設(shè)數(shù)據(jù)模型既然是整個數(shù)據(jù)倉庫建設(shè)中一個非常重要的關(guān)鍵部分,那么,怎么建設(shè)我們的數(shù)據(jù)倉庫模型就是我們需要解決的一個問題。這里我們將要詳細介紹如何創(chuàng)建適合自己的數(shù)據(jù)模型。


    數(shù)據(jù)倉庫數(shù)據(jù)模型架構(gòu)

    數(shù)據(jù)倉庫的數(shù)據(jù)模型的架構(gòu)和數(shù)據(jù)倉庫的整體架構(gòu)是緊密關(guān)聯(lián)在一起的,我們首先來了解一下整個數(shù)據(jù)倉庫的數(shù)據(jù)模型應(yīng)該包含的幾個部分。從下圖我們可以很清楚地看到,整個數(shù)據(jù)模型的架構(gòu)分成 5 大部分,每個部分其實都有其獨特的功能。


    從上圖我們可以看出,整個數(shù)據(jù)倉庫的數(shù)據(jù)模型可以分為大概 5 大部分:
    • 系統(tǒng)記錄域(System of Record):這部分是主要的數(shù)據(jù)倉庫業(yè)務(wù)數(shù)據(jù)存儲區(qū),數(shù)據(jù)模型在這里保證了數(shù)據(jù)的一致性。
    • 內(nèi)部管理域(Housekeeping):這部分主要存儲數(shù)據(jù)倉庫用于內(nèi)部管理的元數(shù)據(jù),數(shù)據(jù)模型在這里能夠幫助進行統(tǒng)一的元數(shù)據(jù)的管理。
    • 匯總域(Summary of Area):這部分?jǐn)?shù)據(jù)來自于系統(tǒng)記錄域的匯總,數(shù)據(jù)模型在這里保證了分析域的主題分析的性能,滿足了部分的報表查詢。
    • 分析域(Analysis Area):這部分?jǐn)?shù)據(jù)模型主要用于各個業(yè)務(wù)部分的具體的主題業(yè)務(wù)分析。這部分?jǐn)?shù)據(jù)模型可以單獨存儲在相應(yīng)的數(shù)據(jù)集市中。
    • 反饋域(Feedback Area):可選項,這部分?jǐn)?shù)據(jù)模型主要用于相應(yīng)前端的反饋數(shù)據(jù),數(shù)據(jù)倉庫可以視業(yè)務(wù)的需要設(shè)置這一區(qū)域。

    通過對整個數(shù)據(jù)倉庫模型的數(shù)據(jù)區(qū)域的劃分,我們可以了解到,一個好的數(shù)據(jù)模型,不僅僅是對業(yè)務(wù)進行抽象劃分,而且對實現(xiàn)技術(shù)也進行具體的指導(dǎo),它應(yīng)該涵蓋了從業(yè)務(wù)到實現(xiàn)技術(shù)的各個部分。


    數(shù)據(jù)倉庫建模階段劃分

    我們前面介紹了數(shù)據(jù)倉庫模型的幾個層次,下面我們講一下,針對這幾個層次的不同階段的數(shù)據(jù)建模的工作的主要內(nèi)容:


    從上圖我們可以清楚地看出,數(shù)據(jù)倉庫的數(shù)據(jù)建模大致分為四個階段:業(yè)務(wù)建模,這部分建模工作,主要包含以下幾個部分:
    • 劃分整個單位的業(yè)務(wù),一般按照業(yè)務(wù)部門的劃分,進行各個部分之間業(yè)務(wù)工作的界定,理清各業(yè)務(wù)部門之間的關(guān)系。
    • 深入了解各個業(yè)務(wù)部門的內(nèi)具體業(yè)務(wù)流程并將其程序化。
    • 提出修改和改進業(yè)務(wù)部門工作流程的方法并程序化。
    • 數(shù)據(jù)建模的范圍界定,整個數(shù)據(jù)倉庫項目的目標(biāo)和階段劃分。

    領(lǐng)域概念建模,這部分得建模工作,主要包含以下幾個部分:
    • 抽取關(guān)鍵業(yè)務(wù)概念,并將之抽象化。
    • 將業(yè)務(wù)概念分組,按照業(yè)務(wù)主線聚合類似的分組概念。
    • 細化分組概念,理清分組概念內(nèi)的業(yè)務(wù)流程并抽象化。
    • 理清分組概念之間的關(guān)聯(lián),形成完整的領(lǐng)域概念模型。

    邏輯建模,這部分的建模工作,主要包含以下幾個部分:
    • 業(yè)務(wù)概念實體化,并考慮其具體的屬性
    • 事件實體化,并考慮其屬性內(nèi)容
    • 說明實體化,并考慮其屬性內(nèi)容

    物理建模,這部分得建模工作,主要包含以下幾個部分:
    • 針對特定物理化平臺,做出相應(yīng)的技術(shù)調(diào)整
    • 針對模型的性能考慮,對特定平臺作出相應(yīng)的調(diào)整
    • 針對管理的需要,結(jié)合特定的平臺,做出相應(yīng)的調(diào)整
    • 生成最后的執(zhí)行腳本,并完善之。

    從我們上面對數(shù)據(jù)倉庫的數(shù)據(jù)建模階段的各個階段的劃分,我們能夠了解到整個數(shù)據(jù)倉庫建模的主要工作和工作量,希望能夠?qū)ξ覀冊趯嶋H的項目建設(shè)能夠有所幫助。


    數(shù)據(jù)倉庫建模方法

    大千世界,表面看五彩繽紛,實質(zhì)上,萬物都遵循其自有的法則。數(shù)據(jù)倉庫得建模方法同樣也有很多種,每一種建模方法其實代表了哲學(xué)上的一個觀點,代表了一種歸納,概括世界的一種方法。目前業(yè)界較為流行的數(shù)據(jù)倉庫的建模方法非常多,這里主要介紹范式建模法,維度建模法,實體建模法等幾種方法,每種方法其實從本質(zhì)上講就是從不同的角度看我們業(yè)務(wù)中的問題,不管從技術(shù)層面還是業(yè)務(wù)層面,其實代表的是哲學(xué)上的一種世界觀。我們下面給大家詳細介紹一下這些建模方法。


    1. 范式建模法(Third Normal Form,3NF)

    范式建模法其實是我們在構(gòu)建數(shù)據(jù)模型常用的一個方法,該方法的主要由 Inmon 所提倡,主要解決關(guān)系型數(shù)據(jù)庫得數(shù)據(jù)存儲,利用的一種技術(shù)層面上的方法。目前,我們在關(guān)系型數(shù)據(jù)庫中的建模方法,大部分采用的是三范式建模法。范式是數(shù)據(jù)庫邏輯模型設(shè)計的基本理論,一個關(guān)系模型可以從第一范式到第五范式進行無損分解,這個過程也可稱為規(guī)范化。在數(shù)據(jù)倉庫的模型設(shè)計中目前一般采用第三范式,它有著嚴(yán)格的數(shù)學(xué)定義。從其表達的含義來看,一個符合第三范式的關(guān)系必須具有以下三個條件 :

    • 每個屬性值唯一,不具有多義性 ;
    • 每個非主屬性必須完全依賴于整個主鍵,而非主鍵的一部分 ;
    • 每個非主屬性不能依賴于其他關(guān)系中的屬性,因為這樣的話,這種屬性應(yīng)該歸到其他關(guān)系中去。

    由于范式是基于整個關(guān)系型數(shù)據(jù)庫的理論基礎(chǔ)之上發(fā)展而來的,因此,本人在這里不多做介紹,有興趣的讀者可以通過閱讀相應(yīng)的材料來獲得這方面的知識。根據(jù) Inmon 的觀點,數(shù)據(jù)倉庫模型得建設(shè)方法和業(yè)務(wù)系統(tǒng)的企業(yè)數(shù)據(jù)模型類似。在業(yè)務(wù)系統(tǒng)中,企業(yè)數(shù)據(jù)模型決定了數(shù)據(jù)的來源,而企業(yè)數(shù)據(jù)模型也分為兩個層次,即主題域模型和邏輯模型。同樣,主題域模型可以看成是業(yè)務(wù)模型的概念模型,而邏輯模型則是域模型在關(guān)系型數(shù)據(jù)庫上的實例話。

    從業(yè)務(wù)數(shù)據(jù)模型轉(zhuǎn)向數(shù)據(jù)倉庫模型時,同樣也需要有數(shù)據(jù)倉庫的域模型,即概念模型,同時也存在域模型的邏輯模型。這里,業(yè)務(wù)模型中的數(shù)據(jù)模型和數(shù)據(jù)倉庫的模型稍微有一些不同。主要區(qū)別在于:
    • 數(shù)據(jù)倉庫的域模型應(yīng)該包含企業(yè)數(shù)據(jù)模型得域模型之間的關(guān)系,以及各主題域定義。數(shù)據(jù)倉庫的域模型的概念應(yīng)該比業(yè)務(wù)系統(tǒng)的主題域模型范圍更加廣。
    • 在數(shù)據(jù)倉庫的邏輯模型需要從業(yè)務(wù)系統(tǒng)的數(shù)據(jù)模型中的邏輯模型中抽象實體,實體的屬性,實體的子類,以及實體的關(guān)系等。

    以筆者的觀點來看,Inmon 的范式建模法的最大優(yōu)點就是從關(guān)系型數(shù)據(jù)庫的角度出發(fā),結(jié)合了業(yè)務(wù)系統(tǒng)的數(shù)據(jù)模型,能夠比較方便的實現(xiàn)數(shù)據(jù)倉庫的建模。但其缺點也是明顯的,由于建模方法限定在關(guān)系型數(shù)據(jù)庫之上,在某些時候反而限制了整個數(shù)據(jù)倉庫模型的靈活性,性能等,特別是考慮到數(shù)據(jù)倉庫的底層數(shù)據(jù)向數(shù)據(jù)集市的數(shù)據(jù)進行匯總時,需要進行一定的變通才能滿足相應(yīng)的需求。因此,筆者建議讀者們在實際的使用中,參考使用這一建模方式。


    2. 維度建模法

    維度建模法,Kimball 最先提出這一概念。其最簡單的描述就是,按照事實表,維表來構(gòu)建數(shù)據(jù)倉庫,數(shù)據(jù)集市。這種方法的最被人廣泛知曉的名字就是星型模式(Star-schema)。


    上圖的這個架構(gòu)中是典型的星型架構(gòu)。星型模式之所以廣泛被使用,在于針對各個維作了大量的預(yù)處理,如按照維進行預(yù)先的統(tǒng)計、分類、排序等。通過這些預(yù)處理,能夠極大的提升數(shù)據(jù)倉庫的處理能力。特別是針對 3NF 的建模方法,星型模式在性能上占據(jù)明顯的優(yōu)勢。


    同時,維度建模法的另外一個優(yōu)點是,維度建模非常直觀,緊緊圍繞著業(yè)務(wù)模型,可以直觀的反映出業(yè)務(wù)模型中的業(yè)務(wù)問題。不需要經(jīng)過特別的抽象處理,即可以完成維度建模。這一點也是維度建模的優(yōu)勢。


    但是,維度建模法的缺點也是非常明顯的,由于在構(gòu)建星型模式之前需要進行大量的數(shù)據(jù)預(yù)處理,因此會導(dǎo)致大量的數(shù)據(jù)處理工作。而且,當(dāng)業(yè)務(wù)發(fā)生變化,需要重新進行維度的定義時,往往需要重新進行維度數(shù)據(jù)的預(yù)處理。而在這些與處理過程中,往往會導(dǎo)致大量的數(shù)據(jù)冗余。


    另外一個維度建模法的缺點就是,如果只是依靠單純的維度建模,不能保證數(shù)據(jù)來源的一致性和準(zhǔn)確性,而且在數(shù)據(jù)倉庫的底層,不是特別適用于維度建模的方法。因此以筆者的觀點看,維度建模的領(lǐng)域主要適用與數(shù)據(jù)集市層,它的最大的作用其實是為了解決數(shù)據(jù)倉庫建模中的性能問題。維度建模很難能夠提供一個完整地描述真實業(yè)務(wù)實體之間的復(fù)雜關(guān)系的抽象方法。


    3. 實體建模法

    實體建模法并不是數(shù)據(jù)倉庫建模中常見的一個方法,它來源于哲學(xué)的一個流派。從哲學(xué)的意義上說,客觀世界應(yīng)該是可以細分的,客觀世界應(yīng)該可以分成由一個個實體,以及實體與實體之間的關(guān)系組成。那么我們在數(shù)據(jù)倉庫的建模過程中完全可以引入這個抽象的方法,將整個業(yè)務(wù)也@可以劃分成一個個的實體,而每個實體之間的關(guān)系,以及針對這些關(guān)系的說明就是我們數(shù)據(jù)建模需要做的工作。


    雖然實體法粗看起來好像有一些抽象,其實理解起來很容易。即我們可以將任何一個業(yè)務(wù)過程劃分成 3 個部分,實體,事件和說明,

    上圖表述的是一個抽象的含義,如果我們描述一個簡單的事實:“小明開車去學(xué)校上學(xué)”。以這個業(yè)務(wù)事實為例,我們可以把“小明”,“學(xué)!笨闯墒且粋實體,“上學(xué)”描述的是一個業(yè)務(wù)過程,我們在這里可以抽象為一個具體“事件”,而“開車去”則可以看成是事件“上學(xué)”的一個說明。


    從上面的舉例我們可以了解,我們使用的抽象歸納方法其實很簡單,任何業(yè)務(wù)可以看成 3 個部分:
    • 實體,主要指領(lǐng)域模型中特定的概念主體,指發(fā)生業(yè)務(wù)關(guān)系的對象。
    • 事件,主要指概念主體之間完成一次業(yè)務(wù)流程的過程,特指特定的業(yè)務(wù)過程。
    • 說明,主要是針對實體和事件的特殊說明。

    由于實體建模法,能夠很輕松的實現(xiàn)業(yè)務(wù)模型的劃分,因此,在業(yè)務(wù)建模階段和領(lǐng)域概念建模階段,實體建模法有著廣泛的應(yīng)用。從筆者的經(jīng)驗來看,再沒有現(xiàn)成的行業(yè)模型的情況下,我們可以采用實體建模的方法,和客戶一起理清整個業(yè)務(wù)的模型,進行領(lǐng)域概念模型的劃分,抽象出具體的業(yè)務(wù)概念,結(jié)合客戶的使用特點,完全可以創(chuàng)建出一個符合自己需要的數(shù)據(jù)倉庫模型來。


    但是,實體建模法也有著自己先天的缺陷,由于實體說明法只是一種抽象客觀世界的方法,因此,注定了該建模方法只能局限在業(yè)務(wù)建模和領(lǐng)域概念建模階段。因此,到了邏輯建模階段和物理建模階段,則是范式建模和維度建模發(fā)揮長處的階段。


    因此,筆者建議讀者在創(chuàng)建自己的數(shù)據(jù)倉庫模型的時候,可以參考使用上述的三種數(shù)據(jù)倉庫得建模方法,在各個不同階段采用不同的方法,從而能夠保證整個數(shù)據(jù)倉庫建模的質(zhì)量。


    數(shù)據(jù)倉庫建模樣例

    上面介紹得是一些抽象得建模方法和理論,可能理解起來相對有些難度,因此,筆者在這里舉一個例子,讀者可以跟著我們的這個樣例,來初步了解整個數(shù)據(jù)倉庫建模的大概過程。


    背景介紹

    熟悉社保行業(yè)的讀者可以知道,目前我們國家的社保主要分為養(yǎng)老,失業(yè),工傷,生育,醫(yī)療保險和勞動力市場這 6 大塊主要業(yè)務(wù)領(lǐng)域。在這 6 大業(yè)務(wù)領(lǐng)域中,目前的狀況養(yǎng)老和事業(yè)的系統(tǒng)已經(jīng)基本完善,已經(jīng)有一部分?jǐn)?shù)據(jù)開始聯(lián)網(wǎng)檢測。而對于工傷,生育,醫(yī)療和勞動力市場這一塊業(yè)務(wù),有些地方發(fā)展的比較成熟,而有些地方還不夠成熟。


    1.業(yè)務(wù)建模階段

    基于以上的背景介紹,我們在業(yè)務(wù)建模階段,就很容易來劃分相應(yīng)的業(yè)務(wù)。因此,在業(yè)務(wù)建模階段,我們基本上確定我們本次數(shù)據(jù)倉庫建設(shè)的目標(biāo),建設(shè)的方法,以及長遠規(guī)劃等。


    在這里,我們將整個業(yè)務(wù)很清楚地劃分成了幾個大的業(yè)務(wù)主線,例如:養(yǎng)老,失業(yè),工傷,生育,醫(yī)療,勞動力等著幾個大的部分,然后我們可以根據(jù)這些大的模塊,在每個業(yè)務(wù)主線內(nèi),考慮具體的業(yè)務(wù)主線內(nèi)需要分析的業(yè)務(wù)主題。


    因此,業(yè)務(wù)建模階段其實是一次和業(yè)務(wù)人員梳理業(yè)務(wù)的過程,在這個過程中,不僅能幫助我們技術(shù)人員更好的理解業(yè)務(wù),另一方面,也能夠發(fā)現(xiàn)業(yè)務(wù)流程中的一些不合理的環(huán)節(jié),加以改善和改進。


    同時,業(yè)務(wù)建模階段的另一個重要工作就是確定我們數(shù)據(jù)建模的范圍,例如:在某些數(shù)據(jù)準(zhǔn)備不夠充分的業(yè)務(wù)模塊內(nèi),我們可以考慮先不建設(shè)相應(yīng)的數(shù)據(jù)模型。等到條件充分成熟的情況下,我們可以再來考慮數(shù)據(jù)建模的問題。


    2.領(lǐng)域概念建模階段

    領(lǐng)域概念建模階段是數(shù)據(jù)倉庫數(shù)據(jù)建模的一個重要階段,由于我們在業(yè)務(wù)建模階段已經(jīng)完全理清相應(yīng)的業(yè)務(wù)范圍和流程,因此,我們在這個領(lǐng)域概念建模階段的最主要的工作就是進行概念的抽象,整個領(lǐng)域概念建模的工作層次


    從上圖我們可以清楚地看到,領(lǐng)域概念建模就是運用了實體建模法,從紛繁的業(yè)務(wù)表象背后通過實體建模法,抽象出實體,事件,說明等抽象的實體,從而找出業(yè)務(wù)表象后抽象實體間的相互的關(guān)聯(lián)性,保證了我們數(shù)據(jù)倉庫數(shù)據(jù)按照數(shù)據(jù)模型所能達到的一致性和關(guān)聯(lián)性。
    從圖上看,我們可以把整個抽象過程分為四個層次,分別為:
    • 抽象方法層,整個數(shù)據(jù)模型的核心方法,領(lǐng)域概念建模的實體的劃分通過這種抽象方法來實現(xiàn)。
    • 領(lǐng)域概念層,這是我們整個數(shù)據(jù)模型的核心部分,因為不同程度的抽象方法,決定了我們領(lǐng)域概念的不同。例如:在這里,我們可以使用“參與方”這個概念,同時,你也可以把他分成三個概念:“個人”,“公司”,和“經(jīng)辦機構(gòu)”這三個概念。而我們在構(gòu)建自己的模型的時候,可以參考業(yè)務(wù)的狀況以及我們自己模型的需要,選擇抽象程度高的概念或者是抽象程度低的概念。相對來說,抽象程度高的概念,理解起來較為復(fù)雜,需要專業(yè)的建模專家才能理解,而抽象程度低的概念,較適合于一般業(yè)務(wù)人員的理解,使用起來比較方便。筆者在這里建議讀者可以選用抽象概念較低的實體,以方便業(yè)務(wù)人員和技術(shù)人員之間的交流和溝通。
    • 具體業(yè)務(wù)層,主要是解決具體的業(yè)務(wù)問題,從這張圖我們可以看出,具體的業(yè)務(wù)層,其實只是領(lǐng)域概念模型中實體之間的一些不同組合而已。因此,完整的數(shù)據(jù)倉庫的數(shù)據(jù)模型應(yīng)該能夠相應(yīng)靈活多變的前端業(yè)務(wù)的需求,而其本身的模型架構(gòu)具有很強的靈活性。這也是數(shù)據(jù)倉庫模型所具備的功能之一。
    • 業(yè)務(wù)主線層,這個層次主要劃分大的業(yè)務(wù)領(lǐng)域,一般在業(yè)務(wù)建模階段即已經(jīng)完成這方面的劃分。我們一般通過這種大的業(yè)務(wù)主線來劃分整個業(yè)務(wù)模型大的框架。

    通過領(lǐng)域概念建模,數(shù)據(jù)倉庫的模型已經(jīng)被抽象成一個個的實體,模型的框架已經(jīng)搭建完畢,下面的工作就是給這些框架注入有效的肌體。


    3.邏輯建模階段

    通過領(lǐng)域概念建模之后,雖然模型的框架已經(jīng)完成,但是還有很多細致的工作需要完成。一般在這個階段,我們還需要做非常多的工作,主要包括:

    • 實例話每一個抽象的實體,例如:在上面的概念模型之后,我們需要對“人”和“公司”等這些抽象實體進行實例化。主要是,我們需要考慮“人”的屬性包括那些,在業(yè)務(wù)模塊中,用到的所有跟“人”相關(guān)的屬性是哪些,我們都需要將這些屬性附著在我們數(shù)據(jù)模型的“人”這個實體上,例如“人”得年齡,性別,受教育程度等等。同理,我們對其他屬性同樣需要做這個工作。
    • 找出抽象實體間的聯(lián)系,并將其實例話。這里,我們主要考慮是“事件”這個抽象概念的實例話,例如:對于養(yǎng)老金征繳這個“事件”的屬性得考慮,對于失業(yè)勞動者培訓(xùn)這個“事件”的屬性得考慮等等。
    • 找出抽象事件的關(guān)系,并對其進行說明。在這里我們主要是要針對“事件”進行完善的“說明”。例如:對于“事件”中的地域,事件等因素的考量等等。

    總而言之,在邏輯建模階段,我們主要考慮得是抽象實體的一些細致的屬性。通過邏輯建模階段,我們才能夠?qū)⒄麄概念模型完整串聯(lián)成一個有機的實體,才能夠完整的表達出業(yè)務(wù)之間的關(guān)聯(lián)性。


    在這個階段,筆者建議大家可以參考 3NF 的建模方法,表達出實體的屬性,以及實體與實體之間的聯(lián)系。例如:在這個階段,我們可以通過采用 ERWIN 等建模工具等作出符合 3NF 的關(guān)系型數(shù)據(jù)模型來。


    4.物理建模階段

    物理建模階段是整個數(shù)據(jù)建模的最后一個過程,這個過程其實是將前面的邏輯數(shù)據(jù)模型落地的一個過程。考慮到數(shù)據(jù)倉庫平臺的不同,因此,數(shù)據(jù)模型得物理建模過程可能會稍微有一些不同,在這個階段我們主要的工作是:

    • 生成創(chuàng)建表的腳本。不同的數(shù)據(jù)倉庫平臺可能生成不同的腳本。
    • 針對不同的數(shù)據(jù)倉庫平臺,進行一些相應(yīng)的優(yōu)化工作,例如對于 DB2 數(shù)據(jù)倉庫來說,創(chuàng)建一些 MQT 表,來加速報表的生成等等。
    • 針對數(shù)據(jù)集市的需要,按照維度建模的方法,生成一些事實表,維表等工作。
    • 針對數(shù)據(jù)倉庫的 ETL 車和元數(shù)據(jù)管理的需要,生成一些數(shù)據(jù)倉庫維護的表,例如:日志表等。

    經(jīng)過物理建模階段,整個數(shù)據(jù)倉庫的模型已經(jīng)全部完成,我們可以按照自己的設(shè)計來針對當(dāng)前的行業(yè)創(chuàng)建滿足自己需要的數(shù)據(jù)模型來。


    這里,筆者通過一個數(shù)據(jù)建模的樣例,希望能夠給讀者一個關(guān)于數(shù)據(jù)倉庫建模的感性的認(rèn)識。希望讀者在利用這些數(shù)據(jù)倉庫得建模方法創(chuàng)建自己的數(shù)據(jù)模型的時候,可以根據(jù)業(yè)務(wù)實際的需要和自己對抽象能力的把握來創(chuàng)建適合自己的數(shù)據(jù)模型。


     

     

    上一篇:2022年用友軟件中端業(yè)務(wù)匯報暨勇士軍令狀簽署大會

    客服電話:400-665-0028

    關(guān)鍵字:用友財務(wù)軟件,暢捷通軟件,財務(wù)軟件,進銷存軟件,U9官網(wǎng),用友U8,用友T1,用友T+,用友T3,用友T6,暢捷通好會計,好生意,智+好業(yè)財,用友培訓(xùn)服務(wù)售后公司,暢捷通運營培訓(xùn)服務(wù)公司

    版權(quán)所有:用友暢捷通軟件 Copyright © 2024 All rights reserved.

    魯ICP備2020041017號-6