天天看點

《DBA修煉之道:資料庫管理者的第一本書》——3.1節資料模組化的概念

本節書摘來自華章社群《dba修煉之道:資料庫管理者的第一本書》一書中的第3章,第3.1節資料模組化的概念,作者(美)craig s. mullins,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

3.1 資料模組化的概念

下面用一則民間流行的盲人摸象的故事來說明資料模組化的目的:

有四個盲人在他們的旅行中碰巧遇到一頭大象,他們以前從沒遇到過大象,但還是很好奇。是以,每個盲人都試圖通過觸摸來了解大象是什麼樣子。第一個盲人摸着大象的鼻子驚呼道:“天啊!原來大象像條蛇啊,又長又光滑。”第二個盲人伸手摸到了大象的側面,他申辯說:“不對,大象更像一堵牆,平整又厚實。”第三個盲人有些困惑了,他伸出手去摸大象卻摸到了大象的長牙,他說道:“不對,你們都錯了,大象更像是一個長矛!”第四個盲人抓住了大象的腿大喊道:“你們都錯了,大象更像是一棵樹,圓滑又結實。”

好了,每個盲人都是正确的,也都是錯誤的。問題不是出在每個盲人的經驗上,而是經驗的範圍上。要想成為一名成功的資料模組化師,必須學會發現業務資料需求的全部真相。不能依賴個别使用者或者個别專家的需求,因為那個人的經驗範圍可能并不全面。資料模組化的目标是記錄業務流程的資料需求,各業務資料模型的範圍必須是全面的。如果一個企業存在企業資料模型,那麼每個單獨的業務資料模型的正确與否都要與該企業資料模型進行對比驗證。

資料模組化的目标是記錄業務過程的資料需求。

在最基本的層面上,資料模組化始于一個概念上的冒險。概念上的資料模組化的首要目标是了解需求。一個資料模型,就其本身而言,價值非常有限。當然,它通過增強(使用資料的人)溝通和了解(對資料)來展現其價值,可以說這些都是非常有價值的。然而,資料模型的主要價值是其能夠作為建構實體資料庫的藍圖。

如果資料庫的建構源自一個設計良好的資料模型,由此産生的結構可以給企業帶來更多的價值。資料模型的價值在于:資料備援最小化,資料完整性最大化,穩定性增加,更好的資料共享,一緻性增加,資料通路更及時,更好的資料可用性。之是以可以達到這些品質,是因為資料模型以一種簡潔明了的方式清晰地概括了資料資源的需求和關系。由資料模型搭建的資料庫将更易于部署,因為這時候你已經對存儲在資料庫中的資料有了更好的了解。

企業資料模型

企業資料模型是可以全面描述整個企業的資料需求的單一資料模型。本章讨論資料模型是因為它們與個人項目或應用程式相關,而并不是企業資料模型中相對進階的主題。管理和維護企業資料模型會受到許多資料庫以外的其他因素的幹擾,如公司政治以及難以量化的roi。

如果你的企業決定緻力于開發并維護企業資料模型,你絕對需要花些時間來閱讀有關這一主題的更多内容,可以參考本章結尾推薦的書籍。

資料模組化的另外一個好處是有機會發掘資料的新用途。資料模型可以闡明資料模式和資料可能被埋沒的潛在用途。這些模式的發掘可以改變你的業務經營方式,也可能會提高競争優勢,進而使企業增加收益。

資料模型可以闡明資料模式和資料的潛在用途。

資料模組化與應用程式開發和面向過程的任務的需求收集所需要的心态不同。前者認為重要的是要考慮“是什麼”感興趣的,而不是任務“如何做”實作的。要過渡到這種思維方式,需要遵循以下三個準則:

不考慮實體的,考慮概念的。關心業務問題和條款,而不是實體存儲問題和dbms限制。

不考慮程序,考慮結構。事情是如何完成的,對應用程式開發重要,而對資料模組化卻不重要。資料模組化關心的是事情正應用于哪些程序。

不考慮導航,考慮關聯。事情互相關聯的方式很重要,因為關聯映射了資料模型。對于概念上的邏輯資料模組化來說,通路關聯的方式并不重要。

請記住,一旦建立了資料模型,企業的業務詞典也就完成了。如同一個給定了語言的詞典,資料模型就像業務術語及其用法的詞典。

實體關系圖表

資料模型通常以實體關系圖表的形式呈現,簡稱e/r圖。e/r圖生動地描述了資料模型的實體和關系。圖3-1顯示了一個示例e/r圖。該圖使用了erwin(冠群)——一款領先的資料模組化和設計工具。許多供應商都提供了流行的資料模組化的工具,關于資料模組化工具及其供應商的清單,請參考附錄c。

e/r圖生動地描述了資料模型的實體和關系。

e/r圖可以描述多種圖表方法和技術。不管用什麼方法,e/r圖都采用方框表示實體,采用線條或箭頭表示關系。方框和線條的格式根據圖表方法的不同而有所不同。圖3-2顯示了幾種最常見的e/r圖表方法。

《DBA修煉之道:資料庫管理者的第一本書》——3.1節資料模組化的概念
《DBA修煉之道:資料庫管理者的第一本書》——3.1節資料模組化的概念

不能說哪種方法最好,隻要選擇一種堅持下去,就可以最大程度地減少混亂。不同的模組化團隊使用不同的圖表技術将使資料模型的知識分享變得困難,如果存在企業資料模型,還會使資料模型合并到企業的資料模型更加複雜。

再來看圖3-2,圖表方法之間最大的差別在于基數顯示的方式。基數是指一個實體可以采用的執行個體的最大數。圖3-2的每一行都顯示了不同的e/r圖風格是如何處理一對一、一對多、多對多關系的。這些e/r圖方法都是以該技術鼻祖的名字來命名的,按照行來說,圖3-2所描述的圖表技術的名字分别為ross、bachmann、martin、chen和rumbaugh。

大多數模組化工具支援一種或幾種圖表技術,最受歡迎的圖表技術是martin(也叫做資訊工程法)和ross。圖3-1的e/r圖就是用martin技術建立的。排除流行一說,每一種技術都有許多資料模組化師使用,選擇對你的企業最容易使用和了解的那種即可。

另一種流行的模組化技術叫做統一模組化語言(uml)。uml合并了幾種流行的面向對象的符号和概念,源于grady booch、james rumbaugh和ivar jacobson的工作。它為面向對象的系統模組化提供了一套标準的圖表和符号集。實際上,uml為不同類型的系統模組化定義了9種類型的圖表。uml類圖可用作模型資料,而傳統的e/r圖捕獲了純粹資料的詳細資訊,是以比uml更适用于資料模組化和關系資料庫設計。圖3-3顯示的uml類圖的示例描述了一家航空公司的資料模型。由于對象由資料和過程組成,uml不隻是一種資料模組化圖表技術。