本書主要講解了對象角色建模及其相關的技術知識。書中從ORM角度介紹了實體聯(lián)系建模(ER)和統(tǒng)一建模語言(UML)。書中還清晰地涵蓋了關系數據庫理論和SQL的最新進展情況,并闡述了所需的數學和集合理論的概念。事實上,它是惟一一本超出介紹性層面的書,涵蓋了把領域專家的知識轉化為合理的數據庫設計的深入知識。本書適合于從事數據庫相關研究的工作人員。前言這是一本關于信息系統(tǒng)的書,重點討論信息建模和關系數據庫系統(tǒng),主要適用于數據庫專業(yè)人員、計算機科學和信息管理專業(yè)的學生。它也適用于那些想以人們容易理解且在計算機上容易實現的方式來闡述應用信息結構的人。此外,本書還提供了一個簡單的概念框架來讓讀者理解數據庫系統(tǒng)到底是什么,并對SQL進行了詳盡的介紹。該書主要研究對象:角色建模(ORM),這是一種依照對象和它們扮演的角色來觀察世界的概念建模方法。ORM起源于歐洲,在那里它以其他的名字,如NIAM(natural-languageinformationanalysismethod,自然語言信息分析方法)或FCO-IM(FullyCommunicationOrientedlnformationModeling,完全面向交流的信息建模)為人所知。本書所用的ORM版本是在NIAM基礎上進行擴充的,并擁有微軟公司的工具支持。另外兩個流行的信息建模符號表示法是實體:聯(lián)系(ER)圖和統(tǒng)一建模語言(UML)類圖。對于概念信息分析,ORM比ER圖及UML方法有一些優(yōu)勢。例如,ORM模型易于語言表示和成員化,以便于該領域專家的確認,應用域變化時,它們比較穩(wěn)定,而且它們能夠在圖表中得到更多的業(yè)務規(guī)則。然而,ER圖和UML類圖適于簡明的總結。它們的結構更接近于最終的數據庫實現,所以,也是很有價值的。因此,本書涵蓋了用ER和UML進{;數據建模的內容,并說明了如何從ORM模型中很容易地提取出ER和UML數據模型。為了使內容更接近大多數對數據庫感興趣的讀者,本書行文簡潔易懂,并且盡可能地回避形式化的數學分析和計算。必要時,基本邏輯和集合理論中的相關概念將在使用它們之前進行討論。書中大部分材料已在工業(yè)界和學術界的課程中經過了分類檢驗,并且基本的ORM方法已在高校成功地講授多年。各部分內容已經模塊化,因此,想要省略一些內容的教師可為他們的課程做出合適的選擇。第1章闡明了概念建模研究的動機,并簡要地比較了ORM,ER和UML方法。對信息系統(tǒng)的歷史和結構也進行了概述。第2章講解了結構背景知識,解釋了信息系統(tǒng)的概念結構和開發(fā)框架,并且介紹了后面一些章節(jié)需要用到的關鍵概念,只有很少或沒有數據庫經驗的讀者應全部閱讀。第3章是基礎。先對概念建模語言標準和ORM概念設計過程(CSDP)進行了概述,然后,討論了CSDP的前三個步驟。第一步(依照基礎事實用語言表示常見的例子)看起來可能很瑣碎,但不應匆忙進行,因為它為模型提供了基礎。本章的剩余部分涉及了事實類型的基本圖形符號,然后講解了如何將對象分類并識別能用算術方法推導出的信息。第4章講述在事實類型成員集上指定約束。最重要的一種約束(惟一約束)被詳細說明。隨后討論了事實類型基本性質的檢驗。本章同時還介紹了概念層的連接和投影操作::這些操作的關系版本在后面的關系數據庫中非常重要。第5章涉及了強制的角色約束,包括對探測可以邏輯導出的信息的檢驗。并在某種程度上檢驗了引用模式。對于短期課程,一些較復雜的引用模式可以跳過。本章將在實例中復習已經講過的CSDP步驟。第6章涉及值、集合比較(子集、等價和互斥)及子類約束。6.6節(jié)研究子類高級方面的內容。雖然這對于實踐很重要,但是第一次閱讀時可以跳過這部分內容。第7章涉及概念模式設計過程的最后一步??紤]了較少的公共約束(如出現頻率和環(huán)約束),并且對設計進行最終檢驗。7.3節(jié)至7.5節(jié)有點兒高深,短期課程可以跳過。第8章討論了實體:聯(lián)系(ER)方法,以Chen最初的符號表示法開始,然后討論了當前使用的三種最流行的符號表示法:Oracle公司支持的BarkerER符號表示法、信息工程符號表示法,以及實際上是ER和關系符號混合物的IDEFlX符號表示法,并且與ORM進行了比較。第9章研究用于數據建模的UML類圖的用法,包括與ORM詳細的比較。ORM中的業(yè)務規(guī)則結構在UML中沒有相應的圖形表示,它們是通過使用用戶定義的約束和注釋來標識和獲取的。第10章描述如何在關系數據庫中實現概念模型。前三節(jié)是理解概念模式如何映射到關系模式的基礎。10.4節(jié)討論高級映射方面的內容,在入門課程中可以省略。第11章研究一些關系數據庫的查詢語言。11。1節(jié)涉及關系代數,雖然它不作為一種實際的查詢語言使用,但關系代數對于理解基本的SQL支持的關系操作很重要。11.2節(jié)將數據的關系模型與一些關系數據庫管理系統(tǒng)使用的數據模型進行了概括比較。11.3節(jié)至11.4節(jié)涉及SQL的主要特性,重點在SQL-89,SQL-92及SQL:1999標準,以及一些流行的變體。第12章討論在相同級別(概念上或邏輯上)如何及何時將一個模式轉換到另一個模式。12.1節(jié)至12.4節(jié)研究了概念模式等價性和概念模式改造的方法。作為這個理論的一個應用,12.5節(jié)說明了通過在映射前進行概念轉換以優(yōu)化數據庫設計的過程。12.6節(jié)完整地介紹了規(guī)范化理論。12.7節(jié)簡要介紹了反規(guī)范化和低級優(yōu)化。12.8節(jié)說明了概念優(yōu)化在數據庫再工程化中扮演的角色。12.4節(jié)、12.5節(jié)、12.7節(jié)和12.8節(jié)涉及高級特性,在短期課程中可以跳過。對于非常短的課程,整章都可以跳過。第13章研究其他的建模問題、方法和趨勢。涉及的主題包括數據倉庫、概念查詢語言、模式抽象機制、處理模型(如UML示例和活動圖、數據流圖)、后關系數據庫(如對象數據庫和對象:關系數據庫)以及元建模。雖然這些主題重要且有趣,但它們在短期課程中可被省略。本書采用了大量的圖和示例。每一章以簡短的概述開始,以本章涉及的要點小結結束,此外還有章節(jié)注釋以補充介紹要點和進一步的參考資料。本書的主要特點之一是帶有大量的練習題,這些練習題全都經過課堂檢驗并被仔細分級。全書最后列出了引用的全部參考書目,以及技術符號和ORM,ER及UML(只有類圖)的術語表。在線資源本書大量的補充材料在出版商的網站(www.mkp.com/imrd/)上可以在線下載。其中有三個附錄:附錄A提供了計算機硬件和軟件演變的概述;附錄B討論了兩類用于從有意義的成員集中確定子類圖的子類矩陣;附錄C介紹了SQL的高級方面,集中于集合比較查詢和組極值查詢。練習題的答案包含在兩個文件中:一個是編號為奇數問題的答案,一個是編號為偶數問題的答案。編號為奇數問題的答案可以公開得到,編號為偶數問題的答案有密碼保護,以便提供給授課者用來作為課堂討論練習題。關于ORM的其他材料可以從作者的網站www.orm.net上獲得。圖表的電子版,以及進一步的練習和相關教學材料包括在附送的教師指南中。授課者可以通過與WWW.mkp.com/academic/rep_locator.asp中列出的代表聯(lián)系,來獲得這本指南和練習答案的密碼。ORM軟件ORM得到來自微軟公司和其他公司的各種建模工具的支持。一個廢棄的ORM建模工具VisioModeler可以從微軟的MSDN網站免費獲得。盡管該下載軟件沒有技術支持,并且該產品的數據庫驅動支持有些過時,但它對于學習ORM仍很適合,并且它允許你創(chuàng)建ORM模型并映射到一些數據庫系統(tǒng)中。要獲得這個下載軟件(25MB),請將你的瀏覽器指向http://download.microsoft.com/,然后進行“VisioModeler´’關鍵詞搜索。在寫本書時,從微軟的VisioEnterprise2000產品中可以獲得基本的ORM建模解決方案。這個軟件比VisioModeler提供了更好的驅動支持,并且包括對視圖和代碼編輯的支持,但它顯示ORM約束的能力非常有限。Visio未來的版本將支持ORM圖,但不支持映射。一個基于Visio的ORM建模解決方案的完全改進版本出現在VisualStudio.net中。這個解決方案不僅能顯示所有的ORM約束,還包括許多說明和映射邏輯數據庫模型的改進方案。這個解決方案在VisualStudio.net的beta2版本中首次出現。關于微軟的VisualStudio的詳細資料可以從http://msdn.microsoft.com/vstudio/上獲得。