空間數(shù)據(jù)庫課件:第七章 數(shù)據(jù)庫設計7-1_第1頁
空間數(shù)據(jù)庫課件:第七章 數(shù)據(jù)庫設計7-1_第2頁
空間數(shù)據(jù)庫課件:第七章 數(shù)據(jù)庫設計7-1_第3頁
空間數(shù)據(jù)庫課件:第七章 數(shù)據(jù)庫設計7-1_第4頁
空間數(shù)據(jù)庫課件:第七章 數(shù)據(jù)庫設計7-1_第5頁
已閱讀5頁,還剩133頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第七章 數(shù)據(jù)庫設計7.1 數(shù)據(jù)庫設計概述7.2 需求分析7.3 概念結構設計7.4 邏輯結構設計7.5 數(shù)據(jù)庫物理設計7.6 數(shù)據(jù)庫實施與維護第七章 數(shù)據(jù)庫設計7.1 數(shù)據(jù)庫設計概述7.2 需求分析7.3 概念結構設計7.4 邏輯結構設計7.5 數(shù)據(jù)庫物理設計7.6 數(shù)據(jù)庫實施與維護7.1數(shù)據(jù)庫設計概述什么是數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求(信息要求和處理要求)在數(shù)據(jù)庫領域內,常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應用系統(tǒng)。7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫和信息系統(tǒng)7.1.2 數(shù)

2、據(jù)庫設計的特點7.1.3 數(shù)據(jù)庫設計方法簡述7.1.4 數(shù)據(jù)庫設計的基本步驟7.1.5 數(shù)據(jù)庫設計過程中的各級模式7.1.1 數(shù)據(jù)庫和信息系統(tǒng)數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來提供存儲、維護、檢索數(shù)據(jù)的功能使信息系統(tǒng)可以方便、及時、準確地從數(shù)據(jù)庫中獲得所需的信息數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結合在一起以及如何結合的關鍵所在數(shù)據(jù)庫設計是信息系統(tǒng)開發(fā)和建設的重要組成部分數(shù)據(jù)庫設計人員應該具備的技術和知識數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設計技術計算機科學的基礎知識和程序設計的方法和技巧軟件工程的原理和方法應用領域的知識7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫和信息系

3、統(tǒng)7.1.2 數(shù)據(jù)庫設計的特點7.1.3 數(shù)據(jù)庫設計方法簡述7.1.4 數(shù)據(jù)庫設計的基本步驟7.1.5 數(shù)據(jù)庫設計過程中的各級模式7.1.2 數(shù)據(jù)庫設計的特點數(shù)據(jù)庫建設是硬件、軟件和干件的結合三分技術,七分管理,十二分基礎數(shù)據(jù)技術與管理的界面稱之為“干件” 數(shù)據(jù)庫設計應該與應用系統(tǒng)設計相結合結構(數(shù)據(jù))設計:設計數(shù)據(jù)庫框架或數(shù)據(jù)庫結構行為(處理)設計:設計應用程序、事務處理等數(shù)據(jù)庫設計的特點(續(xù))結構和行為分離的設計傳統(tǒng)的軟件工程忽視對應用中數(shù)據(jù)語義的分析和抽象,只要有可能就盡量推遲數(shù)據(jù)結構設計的決策早期的數(shù)據(jù)庫設計致力于數(shù)據(jù)模型和建模方法研究,忽視了對行為的設計數(shù)據(jù)庫設計的特點(續(xù))現(xiàn)實世界

4、概念模型設計子模式設計物理數(shù)據(jù)庫設計邏輯數(shù)據(jù)庫設計建立數(shù)據(jù)庫數(shù)據(jù)分析功能分析功能模型功能說明事務設計程序說明應用程序設計程序編碼調試7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫和信息系統(tǒng)7.1.2 數(shù)據(jù)庫設計的特點7.1.3 數(shù)據(jù)庫設計方法簡述7.1.4 數(shù)據(jù)庫設計的基本步驟7.1.5 數(shù)據(jù)庫設計過程中的各級模式7.1.3 數(shù)據(jù)庫設計方法 手工與經驗相結合方法 設計質量與設計人員的經驗和水平有直接關系數(shù)據(jù)庫運行一段時間后常常不同程度地發(fā)現(xiàn)各種問題,增加了維護代價規(guī)范設計法基本思想:過程迭代和逐步求精數(shù)據(jù)庫設計方法(續(xù))新奧爾良(New Orleans)方法1978年10月來自30多個國家的數(shù)據(jù)庫專

5、家在美國新奧爾良(New Orleans)市專門談論了數(shù)據(jù)庫設計問題,即運用軟件工程的思想和方法,提出了數(shù)據(jù)庫設計的規(guī)范,即著名的新奧爾良法。新奧爾良法將數(shù)據(jù)庫設計分成:需求分析、概念設計、邏輯設計和物理設計四個階段和步驟 基于E-R模型的數(shù)據(jù)庫設計方法概念設計階段廣泛采用,chen于1976年提出的數(shù)據(jù)庫設計方法3NF(第三范式)的設計方法邏輯階段可采用的有效方法 ,分析模式中不符合3NF的約束條件,將其進行投影分解ODL(Object Definition Language)方法面向對象的數(shù)據(jù)庫設計方法數(shù)據(jù)庫設計方法(續(xù))計算機輔助設計ORACLE DesignerSYBASE Power

6、Designer基于Unified Model Language的工具,如IBM Rational Rose7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫和信息系統(tǒng)7.1.2 數(shù)據(jù)庫設計的特點7.1.3 數(shù)據(jù)庫設計方法簡述7.1.4 數(shù)據(jù)庫設計的基本步驟7.1.5 數(shù)據(jù)庫設計過程中的各級模式7.1.4 數(shù)據(jù)庫設計的基本步驟一、數(shù)據(jù)庫設計的準備工作選定參加設計的人員1. 數(shù)據(jù)庫分析設計人員數(shù)據(jù)庫設計的核心人員自始至終參與數(shù)據(jù)庫設計其水平決定了數(shù)據(jù)庫系統(tǒng)的質量7.1.4 數(shù)據(jù)庫設計的基本步驟2. 用戶在數(shù)據(jù)庫設計中也是舉足輕重的主要參加需求分析和數(shù)據(jù)庫的運行維護用戶積極參與帶來的好處加速數(shù)據(jù)庫設計提高數(shù)

7、據(jù)庫設計的質量數(shù)據(jù)庫設計的基本步驟(續(xù))3. 程序員在系統(tǒng)實施階段參與進來,負責編制程序4. 操作員在系統(tǒng)實施階段參與進來,準備軟硬件環(huán)境數(shù)據(jù)庫設計的基本步驟(續(xù))二、數(shù)據(jù)庫設計的過程(六個階段) 需求分析階段準確了解與分析用戶需求(包括數(shù)據(jù)與處理)是整個設計過程的基礎,是最困難、最耗費時間的一步概念結構設計階段是整個數(shù)據(jù)庫設計的關鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型數(shù)據(jù)庫設計的基本步驟(續(xù))邏輯結構設計階段將概念結構轉換為某個DBMS所支持的數(shù)據(jù)模型對其進行優(yōu)化數(shù)據(jù)庫物理設計階段為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法)數(shù)據(jù)

8、庫設計的基本步驟(續(xù))數(shù)據(jù)庫實施階段運用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設計和物理設計的結果建立數(shù)據(jù)庫編制與調試應用程序組織數(shù)據(jù)入庫進行試運行數(shù)據(jù)庫設計的基本步驟(續(xù))數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫應用系統(tǒng)經過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調整與修改。 設計一個完善的數(shù)據(jù)庫應用系統(tǒng)往往是上述六個階段的不斷反復。設計特點在設計過程中把數(shù)據(jù)庫的設計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設計緊密結合起來將這兩個方面的需求分析、抽象、設計、實現(xiàn)在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計設計過程各個階段的設計描述:下圖7.1 數(shù)據(jù)庫設計概述7.1.1

9、 數(shù)據(jù)庫和信息系統(tǒng)7.1.2 數(shù)據(jù)庫設計的特點7.1.3 數(shù)據(jù)庫設計方法簡述7.1.4 數(shù)據(jù)庫設計的基本步驟7.1.5 數(shù)據(jù)庫設計過程中的各級模式7.1.5數(shù)據(jù)庫設計過程中的各級模式數(shù)據(jù)庫設計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫各級模式的形成過程需求分析階段 綜合各個用戶的應用需求概念設計階段 形成獨立于機器特點,獨立于各個DBMS產品的概念模式(E-R圖)7.1.5數(shù)據(jù)庫設計過程中的各級模式邏輯設計階段首先將E-R圖轉換成具體的數(shù)據(jù)庫產品支持的數(shù)據(jù)模型,如關系模型,形成數(shù)據(jù)庫邏輯模式然后根據(jù)用戶處理的要求、安全性的考慮,在基本表的基礎上再建立必要的視圖(View),形成數(shù)據(jù)的外模式7.1.5數(shù)

10、據(jù)庫設計過程中的各級模式物理設計階段根據(jù)DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內模式7.1.5數(shù)據(jù)庫設計過程中的各級模式第七章 數(shù)據(jù)庫設計7.1 數(shù)據(jù)庫設計概述7.2 需求分析7.3 概念結構設計7.4 邏輯結構設計7.5 數(shù)據(jù)庫物理設計7.6 數(shù)據(jù)庫實施與維護7.2 需求分析需求分析就是分析用戶的需要與要求需求分析是設計數(shù)據(jù)庫的起點需求分析的結果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用7.2 需求分析7.2.1 需求分析的任務7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典7.2.1 需求分析的任務一、需求分析的任

11、務二、需求分析的重點三、需求分析的難點一、需求分析的任務 通過詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求 在此基礎上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數(shù)據(jù)庫二、需求分析的重點需求分析的重點是調查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。 信息要求用戶需要從數(shù)據(jù)庫中獲得信息的內容與性質由用戶的信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)需求分析的重點(續(xù))處理要求對處理功能的要求對處理的響應時間的要求對處理方式的要求(批處理 / 聯(lián)

12、機處理)新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。三、需求分析的難點確定用戶最終需求的難點用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準確地表達自己的需求,他們所提出的需求往往不斷地變化。設計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。新的硬、軟件技術的出現(xiàn)也會使用戶需求發(fā)生變化。解決方法設計人員必須采用有效的方法,與用戶不斷深入地進行交流,才能逐步得以確定用戶的實際需求7.2 需求分析7.2.1 需求分析的任務7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典7.2.2 需求分析的方法調查清楚用戶的實際

13、需求并進行初步分析 與用戶達成共識 進一步分析與表達這些需求一、 調查與初步分析用戶需求 調查組織機構情況 組織部門的組成情況 各部門的職責等調查與初步分析用戶需求(續(xù)) 調查各部門的業(yè)務活動情況。調查重點之一。 各個部門輸入和使用什么數(shù)據(jù) 如何加工處理這些數(shù)據(jù) 輸出什么信息 輸出到什么部門 輸出結果的格式是什么調查與初步分析用戶需求(續(xù)) 在熟悉業(yè)務活動的基礎上,協(xié)助用戶明確對新系統(tǒng)的各種要求。調查重點之二。 信息要求 處理要求 安全性與完整性要求調查與初步分析用戶需求(續(xù)) 對前面調查的結果進行初步分析確定新系統(tǒng)的邊界確定哪些功能由計算機完成或將來準備讓計算機完成確定哪些活動由人工完成 由

14、計算機完成的功能就是新系統(tǒng)應該實現(xiàn)的功能。二、常用調查方法做需求調查時,往往需要同時采用多種方法無論使用何種調查方法,都必須有用戶的積極參與和配合設計人員應該和用戶取得共同的語言,幫助不熟悉計算機的用戶建立數(shù)據(jù)庫環(huán)境下的共同概念,并對設計工作的最后結果共同承擔責任常用調查方法(續(xù))常用調查方法跟班作業(yè)通過親身參加業(yè)務工作了解業(yè)務活動的情況能比較準確地理解用戶的需求,但比較耗時開調查會通過與用戶座談來了解業(yè)務活動情況及用戶需求請專人介紹常用調查方法(續(xù))詢問對某些調查中的問題,可以找專人詢問設計調查表請用戶填寫如果調查表設計合理,則很有效,且易于為用戶接受查閱記錄查閱與原系統(tǒng)有關的數(shù)據(jù)記錄三、進

15、一步分析和表達用戶需求分析和表達用戶的需求的常用方法自頂向下的結構化分析方法(Structured Analysis,簡稱SA方法)SA方法從最上層的系統(tǒng)組織機構入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。三、進一步分析和表達用戶需求(續(xù))1首先把任何一個系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲信息要求數(shù)據(jù)來源處理數(shù)據(jù)輸出處理要求進一步分析和表達用戶需求(續(xù))2分解處理功能和數(shù)據(jù)(1)分解處理功能將處理功能的具體內容分解為若干子功能,再將每個子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達清楚為止。(2)分解數(shù)據(jù)在處理功能逐步分解的同時,其所用的數(shù)據(jù)也逐級分解,形成若干層次的數(shù)據(jù)流圖進

16、一步分析和表達用戶需求(續(xù))(2)分解數(shù)據(jù)數(shù)據(jù)流圖表達了數(shù)據(jù)和處理過程的關系,是系統(tǒng)分析人員與用戶之間進行交流的有效手段DFD由四種基本符號組成:數(shù)據(jù)加工(P)外部項(S)數(shù)據(jù)流(F)數(shù)據(jù)存儲(D)進一步分析和表達用戶需求(續(xù)) 下圖是一個簡單的DFD。它表示數(shù)據(jù)流“付款單”從外部項“客戶”(源點)流出,經加工“帳務處理”轉換成數(shù)據(jù)流“明細帳”,再經加工“打印帳簿”轉換成數(shù)據(jù)流“帳簿”,最后流向外部項“會計”(終點),加工“打印帳簿”在進行轉換時,從數(shù)據(jù)存儲“總帳”中讀取數(shù)據(jù)。進一步分析和表達用戶需求(續(xù))(3)表達方法 處理過程:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述3將分析結果再次

17、提交給用戶,征得用戶的認可四、需求分析小結P207圖7.6需求分析小結(續(xù))實例:假設我們要開發(fā)一個學校管理系統(tǒng)。1經過可行性分析和初步需求調查,抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由教師管理子系統(tǒng)、學生管理子系統(tǒng)、后勤管理子系統(tǒng)組成,每個子系統(tǒng)分別配備一個開發(fā)小組。2進一步細化各個子系統(tǒng)。其中學生管理子系統(tǒng)開發(fā)小組通過進行進一步的需求調查,明確了該子系統(tǒng)的主要功能是進行學籍管理和課程管理,包括學生報到、入學、畢業(yè)的管理,學生上課情況的管理。通過詳細的信息流程分析和數(shù)據(jù)收集后,生成了該子系統(tǒng)的數(shù)據(jù)流圖。7.2 需求分析7.2.1 需求分析的任務7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典7.2

18、.3 數(shù)據(jù)字典一、數(shù)據(jù)字典的用途二、數(shù)據(jù)字典的內容一、數(shù)據(jù)字典的用途數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結果數(shù)據(jù)字典在數(shù)據(jù)庫設計中占有很重要的地位二、數(shù)據(jù)字典的內容數(shù)據(jù)字典的內容數(shù)據(jù)項數(shù)據(jù)結構數(shù)據(jù)流數(shù)據(jù)存儲處理過程數(shù)據(jù)項是數(shù)據(jù)的最小組成單位若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結構數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結構的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內容。 數(shù)據(jù)項數(shù)據(jù)項是不可再分的數(shù)據(jù)單位 對數(shù)據(jù)項的描述數(shù)據(jù)項描述數(shù)據(jù)項名,數(shù)據(jù)項含義說明, 別名,數(shù)據(jù)類型,長度,取值范圍, 取值含義,與其他數(shù)據(jù)項的邏輯關系取值范圍、與其他數(shù)據(jù)項的邏輯關系定義了數(shù)據(jù)的完整性約束條件 數(shù)

19、據(jù)結構數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合關系。 一個數(shù)據(jù)結構可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結構組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結構混合組成。 對數(shù)據(jù)結構的描述數(shù)據(jù)結構描述數(shù)據(jù)結構名,含義說明, 組成:數(shù)據(jù)項或數(shù)據(jù)結構 數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂健?對數(shù)據(jù)流的描述數(shù)據(jù)流描述數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結構, 平均流量,高峰期流量數(shù)據(jù)流來源是說明該數(shù)據(jù)流來自哪個過程數(shù)據(jù)流去向是說明該數(shù)據(jù)流將到哪個過程去平均流量是指在單位時間(每天、每周、每月等)里的傳輸次數(shù)高峰期流量則是指在高峰時期的數(shù)據(jù)流量 數(shù)據(jù)存儲數(shù)據(jù)存儲是數(shù)據(jù)結構停留或保存的地方,也是數(shù)據(jù)流的來源和

20、去向之一。對數(shù)據(jù)存儲的描述數(shù)據(jù)存儲描述數(shù)據(jù)存儲名,說明,編號, 流入的數(shù)據(jù)流 ,流出的數(shù)據(jù)流 , 組成:數(shù)據(jù)結構,數(shù)據(jù)量,存取方式流入的數(shù)據(jù)流:指出數(shù)據(jù)來源流出的數(shù)據(jù)流:指出數(shù)據(jù)去向數(shù)據(jù)量:每次存取多少數(shù)據(jù),每天(或每小時、每周等)存取幾次等信息存取方法:批處理 / 聯(lián)機處理;檢索 / 更新;順序檢索 / 隨機檢索 處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息處理過程說明性信息的描述處理過程描述處理過程名,說明, 輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流, 處理:簡要說明簡要說明:主要說明該處理過程的功能及處理要求功能:該處理過程用來做什么處理要求:處理

21、頻度要求(如單位時間里處理多少事務,多少數(shù)據(jù)量);響應時間要求等處理要求是后面物理設計的輸入及性能評價的標準數(shù)據(jù)字典內容舉例例:學生學籍管理子系統(tǒng)的數(shù)據(jù)字典。數(shù)據(jù)項,以“學號”為例: 數(shù)據(jù)項:學號 含義說明:唯一標識每個學生別名:學生編號 類型:字符型 長度: 8 取值范圍:00000000至99999999取值含義:前兩位標識該學生所在年級, 后六位按順序編號與其他數(shù)據(jù)項的邏輯關系:數(shù)據(jù)字典內容舉例數(shù)據(jù)結構 以“學生”為例 “學生”是該系統(tǒng)中的一個核心數(shù)據(jù)結構: 數(shù)據(jù)結構:學生 含義說明:是學籍管理子系統(tǒng)的主體數(shù)據(jù)結構,定義了一個學生的有關信息 組成:學號,姓名,性別,年齡, 所在系,年級處

22、理過程(續(xù))數(shù)據(jù)流“體檢結果”可如下描述: 數(shù)據(jù)流:體檢結果 說明:學生參加體格檢查的最終結果 數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準 組成:平均流量:高峰期流量:處理過程(續(xù))數(shù)據(jù)存儲“學生登記表”可如下描述: 數(shù)據(jù)存儲:學生登記表 說明:記錄學生的基本情況流入數(shù)據(jù)流: 流出數(shù)據(jù)流: 組成: 數(shù)據(jù)量:每年3000張 存取方式:隨機存取 處理過程(續(xù))處理過程“分配宿舍”可如下描述:處理過程:分配宿舍說明:為所有新生分配學生宿舍輸入:學生,宿舍,輸出:宿舍安排處理:在新生報到后,為所有新生分配學生宿舍。要求同一間宿舍只能安排同一性別的學生,同一個學生只能安排在一個宿舍中。每個學生的居住面積不小于3

23、平方米。安排新生宿舍其處理時間應不超過15分鐘。 數(shù)據(jù)字典數(shù)據(jù)字典是關于數(shù)據(jù)庫中數(shù)據(jù)的描述,是元數(shù)據(jù),而不是數(shù)據(jù)本身數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設計過程中不斷修改、充實、完善 需求分析小結設計人員應充分考慮到可能的擴充和改變,使設計易于更改,系統(tǒng)易于擴充 必須強調用戶的參與第七章 數(shù)據(jù)庫設計7.1 數(shù)據(jù)庫設計概述7.2 需求分析7.3 概念結構設計7.4 邏輯結構設計7.5 數(shù)據(jù)庫物理設計7.6 數(shù)據(jù)庫實施與維護7.3 概念結構設計7.3.1 概念結構設計概述7.3.2 概念結構設計的方法與步驟7.3.3 數(shù)據(jù)抽象與局部視圖設計7.3.4 視圖的集成7.3.1 概念結構什么是概念結構設

24、計需求分析階段描述的用戶應用需求是現(xiàn)實世界的具體需求將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計概念結構是各種數(shù)據(jù)模型的共同基礎,它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定。概念結構設計是整個數(shù)據(jù)庫設計的關鍵概念結構(續(xù))現(xiàn)實世界機器世界信息世界需求分析概念結構設計概念結構(續(xù))概念結構設計的特點(1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對應于現(xiàn)實世界的一個真實模型。(2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設計成功的關鍵。(3)易于更改,當應用環(huán)境和應用要求改變時,容易對概念

25、模型修改和擴充。(4)易于向關系、網狀、層次等各種數(shù)據(jù)模型轉換。描述概念模型的工具E-R模型7.3 概念結構設計7.3.1 概念結構設計概述7.3.2 概念結構設計的方法與步驟7.3.3 數(shù)據(jù)抽象與局部視圖設計7.3.4 視圖的集成7.3.2 概念結構設計的方法與步驟設計概念結構的四類方法自頂向下 首先定義全局概念結構的框架,然后逐步細化自底向上 首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構概念結構設計的方法與步驟(續(xù))逐步擴張 首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構混合策略 將自頂向下和自底向上相結合,用自頂向下

26、策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。概念結構設計的方法與步驟(續(xù)) 自頂向下策略概念結構設計的方法與步驟(續(xù)) 自底向上策略 概念結構設計的方法與步驟(續(xù)) 逐步擴張概念結構設計的方法與步驟(續(xù))常用策略自頂向下地進行需求分析自底向上地設計概念結構概念結構設計的方法與步驟(續(xù))自底向上設計概念結構的步驟第1步:抽象數(shù)據(jù)并設計局部視圖第2步:集成局部視圖,得到全局概念結構7.3 概念結構設計7.3.1 概念結構設計概述7.3.2 概念結構設計的方法與步驟7.3.3 數(shù)據(jù)抽象與局部視圖設計7.3.4 視圖的集成一、數(shù)據(jù)抽象概念結構是對現(xiàn)實世界的一種抽

27、象從實際的人、物、事和概念中抽取所關心的共同特性,忽略非本質的細節(jié)把這些特性用各種概念精確地加以描述這些概念組成了某種模型數(shù)據(jù)抽象(續(xù))三種常用抽象 1. 分類(Classification)定義某一類概念作為現(xiàn)實世界中一組對象的類型這些對象具有某些共同的特性和行為它抽象了對象值和型之間的“is member of”的語義在E-R模型中,實體型就是這種抽象數(shù)據(jù)抽象(續(xù))2. 聚集(Aggregation)定義某一類型的組成成分它抽象了對象內部類型和成分之間“is part of”的語義在E-R模型中若干屬性的聚集組成了實體型,就是這種抽象數(shù)據(jù)抽象(續(xù))2. 聚集(Aggregation)數(shù)據(jù)抽

28、象(續(xù))3. 概括(Generalization)定義類型之間的一種子集聯(lián)系它抽象了類型之間的“is subset of”的語義概括有一個很重要的性質:繼承性。子類繼承超類上定義的所有抽象。數(shù)據(jù)抽象(續(xù))注:原E-R模型不具有概括,教材對E-R模型作了擴充,允許定義超類實體型和子類實體型。 用雙豎邊的矩形框表示子類, 用直線加小圓圈表示超類-子類的聯(lián)系數(shù)據(jù)抽象(續(xù))數(shù)據(jù)抽象的用途對需求分析階段收集到的數(shù)據(jù)進行分類、組織(聚集),形成實體實體的屬性,標識實體的碼確定實體之間的聯(lián)系類型(1:1,1:n,m:n)二、局部視圖設計設計分E-R圖的步驟:選擇局部應用逐一設計分E-R圖 選擇局部應用需求分

29、析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個系統(tǒng)。設計分E-R圖首先需要根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個適當層次的數(shù)據(jù)流圖,讓這組圖中每一部分對應一個局部應用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點,設計分E-R圖。 選擇局部應用(續(xù))通常以中層數(shù)據(jù)流圖作為設計分E-R圖的依據(jù)。原因:高層數(shù)據(jù)流圖只能反映系統(tǒng)的概貌中層數(shù)據(jù)流圖能較好地反映系統(tǒng)中各局部應用的子系統(tǒng)組成低層數(shù)據(jù)流圖過細選擇局部應用(續(xù))例:由于學籍管理、課程管理等都不太復雜,因此可以它們入手設計學生管理子系統(tǒng)的分E-R圖。如果局部應用比較復雜,則可以從更下層的數(shù)據(jù)流圖入手。 逐一設計分E-R圖任務標定局部應用中的實體、屬性

30、、碼,實體間的聯(lián)系將各局部應用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,標定各局部應用中的實體、實體的屬性、標識實體的碼,確定實體之間的聯(lián)系及其類型(1:1,1:n,m:n)逐一設計分E-R圖(續(xù))如何抽象實體和屬性實體:現(xiàn)實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實體之間是“is member of的關系。 例:在學校環(huán)境中,可把張三、李四等對象抽象為學生實體。屬性:對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是“is part of的關系。例:學號、姓名、專業(yè)、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼。逐一設計分E-R圖

31、(續(xù))如何區(qū)分實體和屬性實體與屬性是相對而言的。同一事物,在一種應用環(huán)境中作為“屬性”,在另一種應用環(huán)境中就必須作為“實體”。例:學校中的系,在某種應用環(huán)境中,它只是作為“學生”實體的一個屬性,表明一個學生屬于哪個系;而在另一種環(huán)境中,由于需要考慮一個系的系主任、教師人數(shù)、學生人數(shù)、辦公地點等,這時它就需要作為實體了。逐一設計分E-R圖(續(xù))一般原則屬性不能再具有需要描述的性質。即屬性必須是不可分的數(shù)據(jù)項,不能再由另一些屬性組成。屬性不能與其他實體具有聯(lián)系。聯(lián)系只發(fā)生在實體之間。符合上述兩條特性的事物一般作為屬性對待。為了簡化E-R圖的處置,現(xiàn)實世界中的事物凡能夠作為屬性對待的,應盡量作為屬性

32、。逐一設計分E-R圖(續(xù))舉例例1:“學生”由學號、姓名等屬性進一步描述,根據(jù)準則,“學生”只能作為實體,不能作為屬性。例2:職稱通常作為教師實體的屬性,但在涉及住房分配時,由于分房與職稱有關,也就是說職稱與住房實體之間有聯(lián)系,根據(jù)準則,這時把職稱作為實體來處理會更合適些。逐一設計分E-R圖(續(xù))設計分E-R圖的步驟(1)以數(shù)據(jù)字典為出發(fā)點定義E-R圖。 數(shù)據(jù)字典中的“數(shù)據(jù)結構”、“數(shù)據(jù)流”和“數(shù)據(jù)存儲”等已是若干屬性的有意義的聚合(2)按上面給出的準則進行必要的調整。逐一設計分E-R圖(續(xù))例:學籍管理局部應用中主要涉及的實體包括學生、宿舍、檔案材料、班級、班主任。實體之間的聯(lián)系:由于一個宿

33、舍可以住多個學生,而一個學生只能住在某一個宿舍中,因此宿舍與學生之間是1:n的聯(lián)系。由于一個班級往往有若干名學生,而一個學生只能屬于一個班級,因此班級與學生之間也是1:n的聯(lián)系。逐一設計分E-R圖(續(xù))由于班主任同時還要教課,因此班主任與學生之間存在指導聯(lián)系,一個班主任要教多名學生,而一個學生只對應一個班主任,因此班主任與學生之間也是1:n的聯(lián)系。而學生和他自己的檔案材料之間,班級與班主任之間都是1:1的聯(lián)系。逐一設計分E-R圖(續(xù)) 接下來需要進一步斟酌該E-R圖,做適當調整。(1) 在一般情況下,性別通常作為學生實體的屬性,但在本局部應用中,由于宿舍分配與學生性別有關,根據(jù)準則,應該把性別

34、作為實體對待。(2) 數(shù)據(jù)存儲“學生登記表”,由于是手工填寫,供存檔使用,其中有用的部分已轉入學生檔案材料中,因此這里就不必作為實體了。逐一設計分E-R圖(續(xù))該E-R圖中各個實體的屬性描述:學生:學號,姓名,出生日期性別:性別檔案材料:檔案號, 班級:班級號,學生人數(shù)班主任:職工號,姓名,性別, 是否為優(yōu)秀班主任 宿舍:宿舍編號,地址,人數(shù) 其中有下劃線的屬性為實體的碼。7.3 概念結構設計7.3.1 概念結構7.3.2 概念結構設計的方法與步驟7.3.3 數(shù)據(jù)抽象與局部視圖設計7.3.4 視圖的集成7.3.4 視圖的集成各個局部視圖即分E-R圖建立好后,還需要對它們進行合并,集成為一個整體

35、的數(shù)據(jù)概念結構即總E-R圖。視圖的集成(續(xù))視圖集成的兩種方式一次集成(P219圖7.25(a))一次集成多個分E-R圖通常用于局部視圖比較簡單時逐步累積式(P219圖7.25(b))首先集成兩個局部視圖(通常是比較關鍵的兩個局部視圖)以后每次將一個新的局部視圖集成進來視圖的集成(續(xù))集成局部E-R圖的步驟1. 合并2. 修改與重構一、合并分E-R圖,生成初步E-R圖各分圖存在沖突各個局部應用所面向的問題不同由不同的設計人員進行設計各個分E-R圖之間必定會存在許多不一致的地方合并分E-R圖的主要工作與關鍵所在:合理消除各分E-R圖的沖突一、合并分E-R圖,生成初步E-R圖(續(xù))沖突的種類屬性沖

36、突命名沖突結構沖突 屬性沖突兩類屬性沖突屬性域沖突:屬性值的類型、取值范圍或取值集合不同。例1, 由于學號是數(shù)字,因此某些部門(即局部應用)將學號定義為整數(shù)形式,而由于學號不用參與運算,因此另一些部門(即局部應用)將學號定義為字符型形式。例2, 某些部門(即局部應用)以出生日期形式表示學生的年齡,而另一些部門(即局部應用)用整數(shù)形式表示學生的年齡。屬性沖突(續(xù))屬性取值單位沖突。例:學生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位。屬性沖突的解決方法通常用討論、協(xié)商等行政手段加以解決 命名沖突兩類命名沖突同名異義:不同意義的對象在不同的局部應用中具有相同的名字 例,局部應用A中將教

37、室稱為房間 局部應用B中將學生宿舍稱為房間異名同義(一義多名):同一意義的對象在不同的局部應用中具有不同的名字 例,有的部門把教科書稱為課本 有的部門則把教科書稱為教材命名沖突(續(xù))命名沖突可能發(fā)生在屬性級、實體級、聯(lián)系級上。其中屬性的命名沖突更為常見。命名沖突的解決方法通過討論、協(xié)商等行政手段加以解決 結構沖突三類結構沖突同一對象在不同應用中具有不同的抽象 例,“課程”在某一局部應用中被當作實體 在另一局部應用中則被當作屬性解決方法:通常是把屬性變換為實體或把實體變換為屬性,使同一對象具有相同的抽象。變換時要遵循兩個準則。結構沖突(續(xù))同一實體在不同局部視圖中所包含的屬性不完全相同,或者屬性

38、的排列次序不完全相同。產生原因:不同的局部應用關心的是該實體的不同側面。解決方法:使該實體的屬性取各分E-R圖中屬性的并集,再適當設計屬性的次序。結構沖突(續(xù))學生學號 姓名性別平均成績(a)在局部應用A中結構沖突(續(xù))(b)在局部應用B中學生學號 姓名出生日期年級所在系 結構沖突(續(xù))學生學號 姓名 政治面貌 (c)在局部應用C中結構沖突(續(xù))學生 政治面貌 學號出生日期年級(d)合并后所在系 平均成績姓名性別結構沖突(續(xù))實體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型例1, 實體E1與E2在局部應用A中是多對多聯(lián)系,而在局部應用B中是一對多聯(lián)系例2, 在局部應用X中E1與E2發(fā)生聯(lián)系,而在局

39、部應用Y中E1、E2、E3三者之間有聯(lián)系。解決方法:根據(jù)應用語義對實體聯(lián)系的類型進行綜合或調整。(P221圖7.27)合并分E-R圖,生成初步E-R圖實例例:生成學校管理系統(tǒng)的初步E-R圖以合并學籍管理局部視圖, 課程管理局部視圖為例這兩個分E-R圖存在著多方面的沖突:(1) 班主任實際上也屬于教師,也就是說學籍管理中的班主任實體與課程管理中的教師實體在一定程度上屬于異名同義,可以應將學籍管理中的班主任實體與課程管理中的教師實體統(tǒng)一稱為教師,統(tǒng)一后教師實體的屬性構成為:教師:職工號,姓名,性別,職稱,是否為優(yōu)秀班主任合并分E-R圖,生成初步E-R圖實例(續(xù))(2) 將班主任改為教師后,教師與學

40、生之間的聯(lián)系在兩個局部視圖中呈現(xiàn)兩種不同的類型,一種是學籍管理中教師與學生之間的指導聯(lián)系,一種是課程管理中教師與學生之間的教學聯(lián)系,由于指導聯(lián)系實際上可以包含在教學聯(lián)系之中,因此可以將這兩種聯(lián)系綜合為教學聯(lián)系。(3) 性別在兩個局部應用中具有不同的抽象,它在學籍管理中為實體,在課程管理中為屬性,按照前面提到的兩個原則,在合并后的E-R圖中性別只能作為實體,否則它無法與宿舍實體發(fā)生聯(lián)系。(4) 在兩個局部E-R圖中,學生實體屬性組成及次序都存在差異,應將所有屬性綜合,并重新調整次序。假設調整結果為:學生:學號,姓名,出生日期,年齡,所在系,年級,平均成績二、修改與重構基本任務消除不必要的冗余,設計生成基本E-R圖合并初步E-R圖分E-R圖可能存在冗余的數(shù)據(jù)和冗余的實體間聯(lián)系基本E-R圖消除不必要的冗余1冗余冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導出的數(shù)據(jù),冗余的聯(lián)系是指可由其他聯(lián)系導出的聯(lián)系。冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫的完整

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論