倪彬彬
摘要:數(shù)據(jù)建模是指對現(xiàn)實(shí)世界中各類信息的抽象組織,確定數(shù)據(jù)庫所要管理的數(shù)據(jù)范圍、數(shù)據(jù)的組織形式等,直至轉(zhuǎn)化成現(xiàn)實(shí)的數(shù)據(jù)庫[1]。數(shù)據(jù)模型是構(gòu)建應(yīng)用系統(tǒng)的核心。該文從數(shù)據(jù)建模的概念、意義、方法和評價(jià)等方面進(jìn)行解析,闡述了如何成功構(gòu)建高質(zhì)量的數(shù)據(jù)模型。
關(guān)鍵詞:數(shù)據(jù)模型;構(gòu)建;數(shù)據(jù)庫應(yīng)用
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)30-0003-02
Abstract: Data modeling refers to the abstract organization of all kinds of information in the real world, it determines the data scope managed by the database and the organization form of the data and so on,until it is transformed into a real database[1]. Data model is the core of building application system. In this paper, the concept, significance, methods and evaluation of data modeling are analyzed, and how to successfully build a high-quality data model is expounded.
Key words: data model; construction; database application
數(shù)據(jù)建模是構(gòu)建應(yīng)用系統(tǒng)的核心,是盡可能精準(zhǔn)地表示業(yè)務(wù)運(yùn)轉(zhuǎn)的概念性框架。數(shù)據(jù)模型定義了操作者、行為以及管理業(yè)務(wù)處理流程的規(guī)則,并將定義內(nèi)容用人們和應(yīng)用程序都能理解的標(biāo)準(zhǔn)語法進(jìn)行描述。本質(zhì)上,數(shù)據(jù)模型將業(yè)務(wù)中涉及的概念轉(zhuǎn)換為計(jì)算機(jī)代碼,以至于應(yīng)用程序和計(jì)算機(jī)系統(tǒng)都能按設(shè)計(jì)者的意圖處理各類信息。如果沒有數(shù)據(jù)模型,就不可能實(shí)現(xiàn)信息的自動化處理。數(shù)據(jù)模型在應(yīng)用系統(tǒng)開發(fā)過程中起著關(guān)鍵作用,能決定應(yīng)用系統(tǒng)開發(fā)及使用效率,并擔(dān)當(dāng)著企業(yè)用戶和信息技術(shù)專家之間的橋梁作用,有助于雙方就業(yè)務(wù)運(yùn)轉(zhuǎn)達(dá)成共識。
1 數(shù)據(jù)建模的目的
數(shù)據(jù)模型是一組由符號、文本組成的集合,描述現(xiàn)實(shí)世界中的實(shí)體及其屬性、實(shí)體間的聯(lián)系,對復(fù)雜信息景觀進(jìn)行簡化并準(zhǔn)確表達(dá),達(dá)到有效交流、溝通的目的。數(shù)據(jù)模型具有多種表現(xiàn)形式,最常見的并能得到廣泛理解的形式為電子表格。本文所及數(shù)據(jù)模型這一術(shù)語是基于類型,包含相互作用和可擴(kuò)展性。
數(shù)據(jù)建模是建立數(shù)據(jù)模型的過程,是為了明確某一組織結(jié)構(gòu)及其操作,而使用一組技術(shù)和實(shí)施一些活動,提出一個(gè)信息解決方案,從而實(shí)現(xiàn)該組織的某些目標(biāo)。在建模過程中,需分析數(shù)據(jù)和數(shù)據(jù)之間的關(guān)系,對所要模型化的內(nèi)容具有清晰的認(rèn)識。數(shù)據(jù)建模者要和各方涉眾進(jìn)行交流、溝通,以便構(gòu)建的數(shù)據(jù)模型具有較高的精確性,在所有用戶中達(dá)成共識。
2 數(shù)據(jù)模型的類型和創(chuàng)建
可以通過設(shè)置數(shù)據(jù)模型的格式來調(diào)整模型的細(xì)節(jié)水平,讓模型呈現(xiàn)出寬泛、高層次的概念視圖或能反映出更多細(xì)節(jié)的邏輯或物理視圖,對應(yīng)著三個(gè)不同層次的模型:概念、邏輯和物理。概念模型描述了業(yè)務(wù)需求,邏輯模型表示詳細(xì)的業(yè)務(wù)解決方案,物理模型則表示詳細(xì)的技術(shù)解決方案。對于不同細(xì)節(jié)層次的模型,可以有不同的建模模式——關(guān)系和維度。關(guān)系數(shù)據(jù)建模是通過準(zhǔn)確的業(yè)務(wù)規(guī)則來描述業(yè)務(wù)如何運(yùn)作的過程,維度數(shù)據(jù)建模則通過準(zhǔn)確的導(dǎo)航來描述業(yè)務(wù)如何被監(jiān)控的過程[2]。
2.1 概念模型的創(chuàng)建方法
概念數(shù)據(jù)模型展示了在特定領(lǐng)域下的關(guān)鍵概念及概念間的相互作用。創(chuàng)建概念模型的5步法如圖1所示。
2.2 邏輯模型的創(chuàng)建方法
邏輯數(shù)據(jù)模型是為了解決特定業(yè)務(wù)需求而形成的業(yè)務(wù)解決方案。邏輯模型以業(yè)務(wù)需求為基礎(chǔ),忽略與軟硬件環(huán)境等具體問題有關(guān)的模型實(shí)現(xiàn)的復(fù)雜性。
關(guān)系邏輯數(shù)據(jù)模型描述的是業(yè)務(wù)運(yùn)轉(zhuǎn)過程,構(gòu)建關(guān)系邏輯數(shù)據(jù)模型的兩種常用技術(shù)是規(guī)范化和抽象。被認(rèn)可的完整規(guī)范化規(guī)則有:第一范式、第二范式、第三范式、Boyce/Codd范式、第四范式、第五范式,每個(gè)級別的標(biāo)準(zhǔn)化都包括該級別之前低級別的規(guī)則。通常情況下所說的規(guī)范化指的是第三范式。抽象是指通過重定義和將一些實(shí)體、屬性、關(guān)系在模型范圍內(nèi)結(jié)合成更通用的條目,為數(shù)據(jù)模型注入靈活性。規(guī)范化是作用于關(guān)系邏輯模型上的強(qiáng)制性技術(shù),而抽象是一項(xiàng)可選技術(shù)。
維度邏輯數(shù)據(jù)模型描述的是如何對業(yè)務(wù)實(shí)施監(jiān)測,涉及如量度計(jì)、維度等一些特有的、重要的概念。量度計(jì)可被進(jìn)一步劃分聚集、量子、累積和快照4種類型,維度有固定維度、退化維度、多值維度、不齊整維度、收縮維度和漸變維度6種類型。
2.3 物理模型的創(chuàng)建方法
物理數(shù)據(jù)模型使用由邏輯數(shù)據(jù)模型定義的業(yè)務(wù)解決方案,構(gòu)建下一層次的技術(shù)解決方案,是根據(jù)具體的軟硬件環(huán)境對模型進(jìn)行必要調(diào)整的折中方案。在高效的技術(shù)解決方案的創(chuàng)建過程中,采用的相關(guān)技術(shù)有反規(guī)范化、視圖、索引和分區(qū)等。
反規(guī)范化是選擇性地違反規(guī)范化規(guī)則并在模型(數(shù)據(jù)庫)中重新引入冗余的過程,以實(shí)現(xiàn)降低數(shù)據(jù)檢索時(shí)間,并有助于創(chuàng)建一個(gè)用戶友好的模型。視圖是一種虛擬表,是由SQL查詢定義的作用于真正存儲數(shù)據(jù)的表(或其他視圖)之上的窗口視圖。索引是一個(gè)值,是指向表中該值實(shí)例的指針。分區(qū)指一個(gè)表被劃分為兩個(gè)或多個(gè)表,有垂直分區(qū)和水平分區(qū)之分。
3 數(shù)據(jù)模型質(zhì)量評價(jià)
高質(zhì)量的數(shù)據(jù)模型是構(gòu)架健壯性應(yīng)用系統(tǒng)的基礎(chǔ)。在實(shí)際工作過程中可以有選擇性地使用一些工具,比如模板、概念列表、家族樹等,不但可以節(jié)約建模的時(shí)間,而且能提高數(shù)據(jù)模型結(jié)果的精確性。
數(shù)據(jù)模型構(gòu)建完成后,有必要采用一個(gè)客觀的評測方法來判斷數(shù)據(jù)模型的優(yōu)劣。數(shù)據(jù)模型計(jì)分卡是一種積極、有效的數(shù)據(jù)模型質(zhì)量評價(jià)方法,適用所有類型的模型,通過一個(gè)外部的、客觀的視角,采用簡單直觀地審查方法,對數(shù)據(jù)模型指出需要改進(jìn)的地方,同時(shí)也肯定數(shù)據(jù)模型的可取之處,用以說明最佳的建模策略和方法。
4 結(jié)語
要成功構(gòu)建高質(zhì)量的數(shù)據(jù)模型,數(shù)據(jù)建模師需要查閱現(xiàn)有模型,給出建模方法,評估建模工具,還要擔(dān)任好為客戶提供服務(wù)的咨詢顧問,通過期望設(shè)置、工作推進(jìn)、實(shí)現(xiàn)預(yù)期加強(qiáng)與項(xiàng)目涉眾的關(guān)系,向業(yè)務(wù)人員、技術(shù)人員解釋數(shù)據(jù)建模的價(jià)值,接近項(xiàng)目涉眾并與他們保持有效的交流溝通[3],與數(shù)據(jù)庫管理團(tuán)隊(duì)建立高效的工作關(guān)系,最終成功建造一個(gè)與建造目的相一致的數(shù)據(jù)模型。
參考文獻(xiàn):
[1]百度百科. https://baike.baidu.com/item/數(shù)據(jù)建模/720111?fr=aladdin.
[2] Steve Hoberman. 數(shù)據(jù)建模(第二版)[M]. 丁永軍,譯.人民郵電出版社 2017.6.
[3]俞如富.數(shù)據(jù)建模的設(shè)計(jì)研究[J].信息與電腦,2016(5):30-31.
【通聯(lián)編輯:王力】