數(shù)據(jù)庫設(shè)計(需求分析、概念結(jié)構(gòu)設(shè)計)_第1頁
數(shù)據(jù)庫設(shè)計(需求分析、概念結(jié)構(gòu)設(shè)計)_第2頁
數(shù)據(jù)庫設(shè)計(需求分析、概念結(jié)構(gòu)設(shè)計)_第3頁
數(shù)據(jù)庫設(shè)計(需求分析、概念結(jié)構(gòu)設(shè)計)_第4頁
數(shù)據(jù)庫設(shè)計(需求分析、概念結(jié)構(gòu)設(shè)計)_第5頁
已閱讀5頁,還剩128頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫設(shè)計 教學(xué)目的:本章主要討論數(shù)據(jù)庫設(shè)計的方法和步驟,通過實例,詳細(xì)介紹了數(shù)據(jù)庫設(shè)計各個階段的目標(biāo)、方法、應(yīng)注意的事項。 教學(xué)重點: 1、需求分析的設(shè)計 2、概念結(jié)構(gòu)的設(shè)計 3、邏輯結(jié)構(gòu)的設(shè)計 教學(xué)難點:1、DFD畫法和數(shù)據(jù)字典設(shè)計 2、E-R圖畫法及轉(zhuǎn)化為關(guān)系模式 數(shù)據(jù)庫設(shè)計的步驟 什么是數(shù)據(jù)庫設(shè)計w 是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息需求和處理要求)w 在數(shù)據(jù)庫領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。 數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)w 數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結(jié)合在一起

2、以及如何結(jié)合的關(guān)鍵所在w 數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分 按照應(yīng)用的要求、工作環(huán)境要求,在DBMS支持下,對其結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計,從而設(shè)計出一個結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計目標(biāo)數(shù)據(jù)庫設(shè)計的內(nèi)容 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(靜態(tài))w 1)邏輯數(shù)據(jù)庫設(shè)計 局部邏輯結(jié)構(gòu) 全局邏輯結(jié)構(gòu)w 2)物理數(shù)據(jù)庫設(shè)計 存儲結(jié)構(gòu) 數(shù)據(jù)庫行為設(shè)計(動態(tài))w 1)數(shù)據(jù)的裝載w 2)應(yīng)用程序設(shè)計參加設(shè)計的人員 1. 數(shù)據(jù)庫分析設(shè)計人員w 數(shù)據(jù)庫設(shè)計的核心人員w 自始至終參與數(shù)據(jù)庫設(shè)計w 其水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量 2. 用戶w 在數(shù)據(jù)庫設(shè)計中也是舉足輕重的w 主要參加

3、需求分析和數(shù)據(jù)庫的運行維護(hù)w 用戶積極參與帶來的好處 加速數(shù)據(jù)庫設(shè)計 提高數(shù)據(jù)庫設(shè)計的質(zhì)量 3. 程序員w 在系統(tǒng)實施階段參與進(jìn)來,負(fù)責(zé)編制程序 4. 操作員w 在系統(tǒng)實施階段參與進(jìn)來,準(zhǔn)備軟硬件環(huán)境參加設(shè)計的人員(續(xù))數(shù)據(jù)庫分析設(shè)計人員應(yīng)具備的知識 計算機技術(shù) 數(shù)據(jù)庫技術(shù) 軟件工程知識 應(yīng)用領(lǐng)域的知識數(shù)據(jù)庫設(shè)計的過程(六個階段) 需求分析階段 概念結(jié)構(gòu)設(shè)計階段 邏輯結(jié)構(gòu)設(shè)計階段 數(shù)據(jù)庫物理設(shè)計階段 數(shù)據(jù)庫實施階段 數(shù)據(jù)庫運行和維護(hù)階段設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)。 需求分析階段w 綜合各個用戶的應(yīng)用需求,是整個設(shè)計過程的基礎(chǔ)w 需求分析做的不好,可能會導(dǎo)致整個數(shù)據(jù)

4、庫設(shè)計失敗 概念結(jié)構(gòu)設(shè)計階段w 是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵w 通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型 邏輯結(jié)構(gòu)設(shè)計階段w 將概念結(jié)構(gòu)轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,并對其模型進(jìn)行優(yōu)化,形成數(shù)據(jù)庫邏輯模式。w 根據(jù)用戶處理的要求、安全性考慮,在基本表上建立必要的視圖,形成數(shù)據(jù)的外模式 數(shù)據(jù)庫物理設(shè)計階段w 為邏輯數(shù)據(jù)模型選取合適的物理結(jié)構(gòu)。根據(jù)DBMS特點和處理的需要,進(jìn)行物理存儲安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式。 數(shù)據(jù)庫實施階段w 運用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果 建立數(shù)據(jù)庫 編制與調(diào)試應(yīng)用程序 組織數(shù)據(jù)入庫 并進(jìn)行試

5、運行 數(shù)據(jù)庫運行和維護(hù)階段w 正式運行,并不斷對其進(jìn)行評價、調(diào)整和修改。分析系統(tǒng)需求設(shè)計概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)優(yōu)化數(shù)據(jù)模型決策評價決策評價設(shè)計物理結(jié)構(gòu)決策評價實施數(shù)據(jù)庫使用維護(hù)數(shù)據(jù)庫6、數(shù)據(jù)庫運行和維護(hù)階段5、數(shù)據(jù)庫實施階段4、數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計階段3、邏輯結(jié)構(gòu)設(shè)計階段1、系統(tǒng)需求分析階段2、概念結(jié)構(gòu)設(shè)計階段設(shè)計設(shè)計階段階段設(shè)設(shè) 計計 描描 述述數(shù)數(shù) 據(jù)據(jù)處處 理理需求需求分析分析數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流圖和判定表(判定樹)、數(shù)據(jù)字典中處數(shù)據(jù)流圖和判定表(判定樹)、數(shù)據(jù)字典中處理過程的描述理過程的描述邏輯邏輯結(jié)構(gòu)結(jié)構(gòu)設(shè)

6、計設(shè)計概念模型(概念模型(E-RE-R圖)圖) 數(shù)據(jù)字典數(shù)據(jù)字典系統(tǒng)說明書包括:系統(tǒng)說明書包括:新系統(tǒng)要求、新系統(tǒng)要求、 方案和概圖方案和概圖反映新系統(tǒng)信息反映新系統(tǒng)信息 流的數(shù)據(jù)流圖流的數(shù)據(jù)流圖概念概念結(jié)構(gòu)結(jié)構(gòu)設(shè)計設(shè)計某種數(shù)據(jù)模型某種數(shù)據(jù)模型 關(guān)系關(guān)系 非關(guān)系非關(guān)系系統(tǒng)結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖(模塊結(jié)構(gòu))(模塊結(jié)構(gòu))物理物理設(shè)計設(shè)計存儲安排存儲安排方法選擇方法選擇存取路徑建立存取路徑建立模塊設(shè)計模塊設(shè)計IPOIPO表表實施實施階段階段編寫模式編寫模式裝入數(shù)據(jù)裝入數(shù)據(jù)數(shù)據(jù)庫試運行數(shù)據(jù)庫試運行程序編碼、程序編碼、編譯聯(lián)結(jié)、編譯聯(lián)結(jié)、測試測試運行運行維護(hù)維護(hù)性能監(jiān)測、轉(zhuǎn)儲性能監(jiān)測、轉(zhuǎn)儲/ /恢復(fù)恢復(fù)數(shù)據(jù)庫

7、重組和重構(gòu)數(shù)據(jù)庫重組和重構(gòu)新舊系統(tǒng)轉(zhuǎn)換、運行、維護(hù)(修正性、適應(yīng)性、新舊系統(tǒng)轉(zhuǎn)換、運行、維護(hù)(修正性、適應(yīng)性、改善性維護(hù))改善性維護(hù))CreatLoadIPO表輸入:輸出:處理:分區(qū)1分區(qū)2Main()ifthenend4.2 需求分析 需求分析就是分析用戶的需要與要求w 需求分析是設(shè)計數(shù)據(jù)庫的起點w 需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用 需求分析的任務(wù) 需求分析的任務(wù) 需求分析的重點 需求分析的難點 需求分析的任務(wù) 通過詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明

8、確用戶的各種需求 在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計數(shù)據(jù)庫 需求分析的重點 需求分析的重點是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。 信息要求w 用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)w 由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需存儲哪些數(shù)據(jù) 處理要求w 對處理功能的要求w 對處理的響應(yīng)時間的要求w 對處理方式的要求(批處理 / 聯(lián)機處理) 新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。 需求分析的難點 確定用戶最終需求的難點w 用戶缺少計算機知識,開始時無法確定計算機究竟能

9、為自己做什么,不能做什么,因此無法一下子準(zhǔn)確地表達(dá)自己的需求,他們所提出的需求往往不斷地變化。w 設(shè)計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。w 新的硬件、軟件技術(shù)的出現(xiàn)也會使需求發(fā)生變化。 需求分析的難點(續(xù)) 解決方法w 設(shè)計人員必須采用有效的方法,與用戶不斷深入地進(jìn)行交流,才能逐步得以確定用戶的實際需求需求分析的方法 調(diào)查清楚用戶的實際需求并進(jìn)行初步分析 與用戶達(dá)成共識 進(jìn)一步分析與表達(dá)這些需求 1) 調(diào)查組織機構(gòu)情況w (1) 該組織由哪些部門組成w (2) 各部門的職責(zé)和任務(wù) 2) 調(diào)查各部門的業(yè)務(wù)活動情況w (1) 各部門輸入輸出的數(shù)據(jù)和格式w (2)

10、所需的表格和卡片w (3) 如何加工處理這些數(shù)據(jù)w (4) 輸入輸出的部門 調(diào)查與初步分析用戶需求 3) 協(xié)助用戶明確對新系統(tǒng)的各種需求w (1) 信息要求w (2) 處理要求w (3) 安全性要求w (4) 完整性要求 4) 確定新系統(tǒng)的邊界w (1) 哪些功能由計算機完成w (2) 哪些活動由人工完成 5) 分析系統(tǒng)功能w (1) 系統(tǒng)應(yīng)具有哪些功能,完成哪些任務(wù)w (2) 設(shè)計人員和用戶協(xié)商、確定、備案w (3) 盡量滿足用戶的要求w (4) 不要隨便承諾用戶不合理或無法實現(xiàn)的要求w (5) 注意功能與條件的諧調(diào) 6) 分析系統(tǒng)數(shù)據(jù)w (1) 需要存儲哪些數(shù)據(jù) 1. 實體集 2. 實體的

11、屬性集 3. 實體集間的聯(lián)系w (2) 數(shù)據(jù)是否有矛盾 1. 基本數(shù)據(jù) 2. 導(dǎo)出數(shù)據(jù)w (3) 用戶對數(shù)據(jù)的處理要求 1. 完成什么樣的處理 2. 響應(yīng)時間 3. 安全性要求 4. 完整性要求w (4) 繪制數(shù)據(jù)流程圖w (5) 編制數(shù)據(jù)字典 7) 編寫系統(tǒng)分析報告w (1) 提交用戶的決策部門審核w (2) 報告內(nèi)容 1. 系統(tǒng)概況 2. 系統(tǒng)功能說明 3. 設(shè)計階段劃分 4. 可行性分析 5. 系統(tǒng)軟硬件環(huán)境要求(1) 計算機配置;(2) 操作系統(tǒng);(3) 漢字平臺(4) 數(shù)據(jù)庫管理系統(tǒng);(5) 網(wǎng)絡(luò)環(huán)境 6. 結(jié)構(gòu)圖表(1) 組織機構(gòu)圖;(2) 組織間聯(lián)系圖;(3) 各機構(gòu)功能業(yè)務(wù)圖

12、7. 數(shù)據(jù)圖表(1) 數(shù)據(jù)流程圖;(2) 功能模塊圖;(3) 數(shù)據(jù)字典 8) 后續(xù)工作w (1) 組織專家評估報告w (2) 項目雙方簽字w (3) 簽訂協(xié)議書簡單概括簡單概括: :需求分析的步驟有需求分析的步驟有四四步步 分析用戶活動,產(chǎn)生分析用戶活動,產(chǎn)生用戶活動圖用戶活動圖(即用戶的(即用戶的業(yè)務(wù)流程圖業(yè)務(wù)流程圖) ); ; 確定系統(tǒng)范圍,產(chǎn)生確定系統(tǒng)范圍,產(chǎn)生系統(tǒng)范圍圖系統(tǒng)范圍圖(即確定即確定人機界面人機界面); ; 分析用戶活動所涉及的數(shù)據(jù)分析用戶活動所涉及的數(shù)據(jù), ,產(chǎn)生產(chǎn)生數(shù)據(jù)流圖數(shù)據(jù)流圖( (數(shù)據(jù)的流向數(shù)據(jù)的流向及及加工加工) ); ; 分析系統(tǒng)數(shù)據(jù),產(chǎn)生分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)

13、字典數(shù)據(jù)字典。 需求分析階段的輸入和需求分析階段的輸入和輸出輸出 輸入輸入是總體信息需求和處理需求。是總體信息需求和處理需求。 輸出輸出是需求說明書包括系統(tǒng)的數(shù)據(jù)流程和數(shù)據(jù)字典。是需求說明書包括系統(tǒng)的數(shù)據(jù)流程和數(shù)據(jù)字典。數(shù)據(jù)流數(shù)據(jù)流圖圖和數(shù)據(jù)字典和數(shù)據(jù)字典 數(shù)據(jù)流數(shù)據(jù)流圖圖DFDDFD有四個基本成分:有四個基本成分: 用用箭頭箭頭表示數(shù)據(jù)流表示數(shù)據(jù)流、用用圓圈圓圈表示加工或處理,表示加工或處理, 用用雙線段雙線段表示文件表示文件、用用方框方框表示外部實體表示外部實體。返回 進(jìn)一步分析和表達(dá)用戶需求 結(jié)構(gòu)化分析方法w SA方法,Structured Analysisw 是從最上層的系統(tǒng)組織機構(gòu)入

14、手,采用自頂向下,逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。 1首先把任何一個系統(tǒng)都抽象為: 數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲數(shù)據(jù)存儲信息要求信息要求數(shù)據(jù)來源數(shù)據(jù)來源處理處理數(shù)據(jù)輸出數(shù)據(jù)輸出處理要求處理要求 2分解處理功能和數(shù)據(jù)w (1)分解處理功能 將處理功能的具體內(nèi)容分解為若干子功能,再將每個子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達(dá)清楚為止。w (2)分解數(shù)據(jù) 在處理功能逐步分解的同時,其所用的數(shù)據(jù)也逐級分解,形成若干層次的數(shù)據(jù)流圖 數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系w (3)表達(dá)方法 處理過程:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述 3將分析結(jié)果再次提交給用戶,征得

15、認(rèn)可補充:數(shù)據(jù)流程圖 數(shù)據(jù)流圖(DFD, Data Flow Diagram)w 是描述數(shù)據(jù)在系統(tǒng)中流動和變換的過程,表達(dá)了數(shù)據(jù)和處理過程的關(guān)系w 從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程w 是系統(tǒng)分析人員與用戶進(jìn)行交流的手段和系統(tǒng)設(shè)計的主要依據(jù)之一數(shù)據(jù)流程圖基本組成 1)外部項(外部實體)w 描述系統(tǒng)的數(shù)據(jù)來源和去向的各種實體或工作環(huán)節(jié)。 2)數(shù)據(jù)處理邏輯w 描述系統(tǒng)對信息進(jìn)行處理的邏輯功能。 3)數(shù)據(jù)存儲w 邏輯意義上的數(shù)據(jù)存儲環(huán)節(jié)。 4)數(shù)據(jù)流w 是描述系統(tǒng)信息處理功能有關(guān)的各種信息的載體,是各個加工環(huán)節(jié)進(jìn)行處理和輸出的數(shù)據(jù)集合。數(shù)據(jù)流程圖繪制方法 數(shù)據(jù)流

16、表示數(shù)據(jù)的流動情況; 加工(進(jìn)程)表示對數(shù)據(jù)的加工處理過程,它的名字應(yīng)能簡明扼要地表明所完成的是什么加工; 數(shù)據(jù)存貯在數(shù)據(jù)流圖中起著保存數(shù)據(jù)的作用,指向數(shù)據(jù)存貯的數(shù)據(jù)流可以理解為寫數(shù)據(jù),從數(shù)據(jù)存貯引出的數(shù)據(jù)流可以理解為讀數(shù)據(jù),雙向數(shù)據(jù)流可以理解為修改數(shù)據(jù); 數(shù)據(jù)源點或終點,表示圖中出現(xiàn)數(shù)據(jù)的始發(fā)點或終止點,它在圖中的出現(xiàn)僅僅是一種符號,并不需要以軟件的形式進(jìn)行設(shè)計和實現(xiàn)。實例:開發(fā)一個學(xué)校管理系統(tǒng) 1可行性分析和初步需求調(diào)查w 抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由教師管理子系統(tǒng)、學(xué)生管理子系統(tǒng)、后勤管理子系統(tǒng)組成,每個子系統(tǒng)分別配備一個開發(fā)小組。 2進(jìn)一步細(xì)化各個子系統(tǒng)w 其中學(xué)生管理子系統(tǒng)開

17、發(fā)小組通過進(jìn)行進(jìn)一步的需求調(diào)查,明確了該子系統(tǒng)的主要功能是進(jìn)行學(xué)籍管理和課程管理,包括學(xué)生報到、入學(xué)、畢業(yè)的管理,學(xué)生上課情況的管理。 畢業(yè)登記表畢業(yè)登記表畢業(yè)證書畢業(yè)證書畢業(yè)登記表畢業(yè)登記表 學(xué)生基學(xué)生基 本情況本情況學(xué)生檔案學(xué)生檔案1.0報報到到2.0入學(xué)入學(xué)3.0畢業(yè)畢業(yè)班主任班主任學(xué)生學(xué)生招生招生辦公室辦公室 學(xué)管理數(shù)據(jù)流圖:學(xué)管理數(shù)據(jù)流圖: 同意同意/不同意不同意接受接受核對通知書核對通知書體檢結(jié)果體檢結(jié)果畢業(yè)生名單畢業(yè)生名單離校手續(xù)離校手續(xù)日常管理日常管理錄取通知錄取通知報到證報到證新生名單新生名單體檢表體檢表宿舍描述宿舍描述 獎罰情況獎罰情況報到證學(xué)生學(xué)生1.1核對錄核對錄取通知

18、取通知書書1.2核對體核對體檢結(jié)果檢結(jié)果1.3同意同意入學(xué)入學(xué)招生招生辦公室辦公室新生名單新生名單 體檢表體檢表錄取通知已核對體檢結(jié)果同意或不同意審核已核對錄取通知同意或不同意接受同意/不同意選課成績單成績單 教室安排教室安排評定成績評定成績3.0考考 試試允許參加考試允許參加考試平時成績平時成績同意/不同意接受核對選課單2.0上上 課課選選 課課已選課程名單已選課程名單 選課名單選課名單1.0選選 課課學(xué)學(xué) 生生課程任課教師介紹任課教師介紹教師課程介紹課程介紹申請選課教教 師師選課單成成 績績教教 材材教教 室室選用教材選用教材教室安排教室安排教室安排教室安排考場安排考場安排評定考試成績評定

19、考試成績考考 場場 試試 卷卷 成成 績績考場安排考場安排試卷試卷成績成績課程管理課程管理數(shù)據(jù)流圖數(shù)據(jù)流圖返回 “先全局后局部,先整體后細(xì)節(jié),先抽象后具體” 通??蓪⑦@種分層的DFD圖,分為頂層、中間層、底層。 具體步驟: 1。先確定系統(tǒng)范圍,畫出頂層的DFD圖。 2。逐層分解頂層DFD圖,獲得若干中間層DFD圖。 3。畫出底層的DFD圖。 畫分層畫分層DFDDFD圖的方法圖的方法 頂層圖說明了系統(tǒng)的邊界,即系統(tǒng)的輸入和輸出數(shù)據(jù)流,頂層圖只有一張。底層圖由一些不能再分解的加工組成,這些加工都已足夠簡單,稱為基本加工。在頂層和底層之間的是中間層。中間層的數(shù)據(jù)流圖描述了某個加工的分解,而它的組成部

20、分又要進(jìn)一步分解。 畫各層DFD圖時,“由外向內(nèi)”。X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1頂層中 間 層底 層先全局后局部,先整體后細(xì)節(jié),先抽象后具體.0圖圖1圖圖2圖圖1.1圖圖2.1圖圖2.2圖圖分層DFD圖經(jīng)過初步的需求分析,得到系統(tǒng)功能要求:1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)。2、定時更新病歷。3、病員出現(xiàn)異常情況時報警。4、隨機地產(chǎn)生某一病員的病情報告。實例:醫(yī)院病房監(jiān)護(hù)系統(tǒng)產(chǎn)生病情報告監(jiān)視病情更新病歷實例:醫(yī)院病房監(jiān)護(hù)系統(tǒng)實例:醫(yī)院病房監(jiān)護(hù)系統(tǒng)系統(tǒng)功能要求: 1、監(jiān)視病員的病癥(血壓、體溫、

21、脈搏等) 2、定時更新病歷 3、病員出現(xiàn)異常情況時報警。 4、隨機地產(chǎn)生某一病員的病情報告。頂層:病員護(hù)士護(hù)士病員監(jiān)護(hù)系統(tǒng)病員日志病癥信號要求報告病癥報告報警例例2 2 醫(yī)院病房監(jiān)護(hù)系統(tǒng)醫(yī)院病房監(jiān)護(hù)系統(tǒng)第一層:病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號要求報告病癥報告報警局部監(jiān)視生成報告病員極限更新日志病員數(shù)據(jù)格式化病員數(shù)據(jù)生理信號極限值1324日志數(shù)據(jù)日志數(shù)據(jù)醫(yī)院病房監(jiān)護(hù)系統(tǒng)頂層醫(yī)院病房監(jiān)護(hù)系統(tǒng)頂層DFDDFD圖圖第二層:加工“中央監(jiān)視”分解計算超過極限值否病員病員數(shù)數(shù)據(jù)超過超過極限值極限值報警報警開解信號產(chǎn)生報警信息病員極限格式化病員數(shù)據(jù)體溫體溫血壓、體溫血壓、體溫脈搏脈搏生理信號生理信號極限值

22、極限值時間時間脈搏脈搏血壓血壓日期日期時鐘格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)3.13.23.33.4醫(yī)院病房監(jiān)護(hù)系統(tǒng)二層醫(yī)院病房監(jiān)護(hù)系統(tǒng)二層DFDDFD圖圖計算超過極限值否病員病員數(shù)據(jù)數(shù)據(jù)超過超過極限值極限值報警報警開解信號產(chǎn)生報警信息病員極限格式化病員數(shù)據(jù)體溫體溫血壓、體溫、血壓、體溫、脈搏脈搏生理信號生理信號極限值極限值時間時間脈搏脈搏血壓血壓日期日期時鐘格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)3.13.23.33.4第二層:加工“中央監(jiān)視”分解圖圖 2.15第一層格式化病員數(shù)據(jù)生理信號極限值病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號要求報告病癥報告報警局部監(jiān)視生成報告病員極限更新日志病員數(shù)據(jù)1324日志數(shù)據(jù)圖圖

23、 2.16加工分解的原則自然性:概念上合理、清晰; 均勻性:理想的分解是將一個問題分解成大小均勻的幾個部分;分解度:一般每一個加工每次分解最多不要超過個子加工,分解應(yīng)分解到基本加工為止。數(shù)據(jù)守恒與數(shù)據(jù)封閉原則 所謂數(shù)據(jù)守恒是指加工的輸入輸出數(shù)據(jù)流是否匹配,即每一個加工既有輸入數(shù)據(jù)流又有輸出數(shù)據(jù)流?;蛘哒f一個加工至少有一個輸入數(shù)據(jù)流,一個輸出數(shù)據(jù)流。 數(shù)據(jù)封閉是對整個系統(tǒng)而言。合理使用文件 當(dāng)文件作為某些加工之間的交界面時,文件必須畫出來,一旦文件作為數(shù)據(jù)流圖中的一個獨立成份畫出來了,那么他同其他成份之間的聯(lián)系也應(yīng)同時表達(dá)出來。DFD圖不是流程圖,不表示軟件的控制流程。子圖與父圖的“平衡”父圖中

24、某個加工的輸入輸出數(shù)據(jù)流應(yīng)該同相應(yīng)的子圖的輸入輸出相同(相對應(yīng)),分層數(shù)據(jù)流圖的這種特點稱為子圖與父圖“平衡”。分層DFD圖的改進(jìn) DFD圖必須經(jīng)過圖必須經(jīng)過反復(fù)修改反復(fù)修改,才能獲得最終的目標(biāo)系統(tǒng)的,才能獲得最終的目標(biāo)系統(tǒng)的邏輯模型(目標(biāo)系統(tǒng)的邏輯模型(目標(biāo)系統(tǒng)的DFD圖)??蓮囊韵路矫婵紤]圖)??蓮囊韵路矫婵紤]DFD圖圖的改進(jìn):的改進(jìn): 1 1、檢查數(shù)據(jù)流的正確性、檢查數(shù)據(jù)流的正確性 數(shù)據(jù)數(shù)據(jù)守恒守恒 子圖、父圖的平衡子圖、父圖的平衡 文件使用是否合理。特別注意輸入文件使用是否合理。特別注意輸入/ /出文件的數(shù)據(jù)流。出文件的數(shù)據(jù)流。 2 2、改進(jìn)、改進(jìn)DFDDFD圖的易理解性圖的易理解性

25、簡化加工之間的聯(lián)系(加工間的數(shù)據(jù)流越少,獨立性越簡化加工之間的聯(lián)系(加工間的數(shù)據(jù)流越少,獨立性越強,易理解性越好)。強,易理解性越好)。 改進(jìn)分解的均勻性。改進(jìn)分解的均勻性。 適當(dāng)命名(各成分名稱無二義性,準(zhǔn)確、具體)。適當(dāng)命名(各成分名稱無二義性,準(zhǔn)確、具體)。4.2.3 數(shù)據(jù)字典 數(shù)據(jù)字典的用途 數(shù)據(jù)字典的內(nèi)容 數(shù)據(jù)字典的用途 數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合 數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果 數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計中占有很重要的地位 數(shù)據(jù)字典的內(nèi)容 數(shù)據(jù)字典的內(nèi)容w 數(shù)據(jù)項w 數(shù)據(jù)結(jié)構(gòu)w 數(shù)據(jù)流w 數(shù)據(jù)存儲w 處理過程 數(shù)據(jù)項是數(shù)據(jù)的最小組成單位 若干個數(shù)據(jù)項可以組成一個

26、數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。 數(shù)據(jù)項 數(shù)據(jù)項是不可再分的數(shù)據(jù)單位 對數(shù)據(jù)項的描述數(shù)據(jù)項描述數(shù)據(jù)項名,數(shù)據(jù)項含義說明, 別名,數(shù)據(jù)類型,長度,取值范圍, 取值含義,與其他數(shù)據(jù)項的邏輯關(guān)系w 取值范圍、與其他數(shù)據(jù)項的邏輯關(guān)系定義了數(shù)據(jù)的完整性約束條件 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。 一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。 對數(shù)據(jù)結(jié)構(gòu)的描述數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)名,含義說明, 組成:數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?對數(shù)據(jù)流的描述數(shù)據(jù)流描述數(shù)據(jù)流

27、名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結(jié)構(gòu), 平均流量,高峰期流量w 數(shù)據(jù)流來源是說明該數(shù)據(jù)流來自哪個過程w 數(shù)據(jù)流去向是說明該數(shù)據(jù)流將到哪個過程去w 平均流量是指在單位時間里的傳輸次數(shù)w 高峰期流量則是指在高峰時期的數(shù)據(jù)流量 數(shù)據(jù)存儲 數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。 對數(shù)據(jù)存儲的描述:數(shù)據(jù)存儲描述數(shù)據(jù)存儲名,說明,編號, 流入的數(shù)據(jù)流 ,流出的數(shù)據(jù)流 , 組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量,存取方式w 流入的數(shù)據(jù)流:指出數(shù)據(jù)來源w 流出的數(shù)據(jù)流:指出數(shù)據(jù)去向w 數(shù)據(jù)量:每次存取多少數(shù)據(jù),每天(或每小時、每周等)存取幾次等信息w 存取方法:批處理 / 聯(lián)機處理;檢

28、索 / 更新;順序檢索 / 隨機檢索 處理過程 處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息 處理過程說明性信息的描述處理過程描述處理過程名,說明, 輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流, 處理:簡要說明處理過程(續(xù)) 簡要說明:w 主要說明該處理過程的功能及處理要求 功能:該處理過程用來做什么 處理要求:處理頻度要求(如單位時間里處理多少事務(wù),多少數(shù)據(jù)量);響應(yīng)時間要求等w 處理要求是后面物理設(shè)計的輸入及性能評價的標(biāo)準(zhǔn) 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù),而不是數(shù)據(jù)本身。數(shù)據(jù)本身將存放在物理數(shù)據(jù)庫中,由數(shù)據(jù)庫管理系統(tǒng)管理。 數(shù)據(jù)字典有助于這些數(shù)據(jù)的

29、進(jìn)一步管理和控制,為設(shè)計人員和數(shù)據(jù)庫管理員在數(shù)據(jù)庫設(shè)計、實現(xiàn)和運行階段控制有關(guān)數(shù)據(jù)提供依據(jù)。小結(jié)例:數(shù)據(jù)項 學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。w 數(shù)據(jù)項,以“學(xué)號”為例:數(shù)據(jù)項: 學(xué)號含義說明: 唯一標(biāo)識每個學(xué)生別名: 學(xué)生編號類型: 字符型長度: 8取值范圍: 00000000至99999999取值含義: 前兩位標(biāo)別該學(xué)生所在年級,后六位按順序編號與其他數(shù)據(jù)項的邏輯關(guān)系:例:數(shù)據(jù)結(jié)構(gòu) 以“學(xué)生”為例w “學(xué)生”是該系統(tǒng)中的一個核心數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu): 學(xué)生含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個學(xué)生的有關(guān)信息組成: 學(xué)號,姓名,性別,年齡,所在系,年級例:數(shù)據(jù)流 數(shù)據(jù)流“體檢結(jié)果”可

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

31、處理時間應(yīng)不超過15分鐘。需求分析階段小結(jié) 把需求收集和分析作為數(shù)據(jù)庫設(shè)計的第一階段是十分重要的。w 這一階段收集到的基礎(chǔ)數(shù)據(jù)(用數(shù)據(jù)字典來表達(dá))和一組數(shù)據(jù)流程圖是下一步進(jìn)行概念設(shè)計的基礎(chǔ)。 特別強調(diào):w 收集將來應(yīng)用所涉及的數(shù)據(jù),設(shè)計者應(yīng)充分考慮到可能的擴(kuò)充和改變,使設(shè)計易于更改,系統(tǒng)易于擴(kuò)充。w 強調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的特點。概念概念設(shè)計設(shè)計階段階段需求分析階段需求分析階段熟悉業(yè)務(wù)活動明確用戶需求確定系統(tǒng)邊界分析系統(tǒng)功能分析系統(tǒng)數(shù)據(jù)編寫分析報告調(diào)查機構(gòu)情況數(shù)據(jù)數(shù)據(jù)字典字典DD數(shù)據(jù)數(shù)據(jù)流程圖流程圖DFD數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計人員設(shè)計人員用戶用戶4.3 概念結(jié)構(gòu)設(shè)計 什么是概念結(jié)構(gòu)設(shè)

32、計w 需求分析階段描述的用戶應(yīng)用需求是現(xiàn)實世界的具體需求w 將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計w 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定。w 概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵現(xiàn)實世界現(xiàn)實世界機器世界機器世界信息世界信息世界需求分析需求分析概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 描述概念模型的工具:E-R模型概念結(jié)構(gòu)設(shè)計的特點w (1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。w (2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)

33、計成功的關(guān)鍵。w (3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和擴(kuò)充。w (4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。4.3.1 概念結(jié)構(gòu)設(shè)計的方法與步驟 設(shè)計概念結(jié)構(gòu)的四類方法w 自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化w 自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)w 逐步擴(kuò)張 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)w 混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。 常用策略w 自頂向

34、下地進(jìn)行需求分析w 自底向上地設(shè)計概念結(jié)構(gòu) 自底向上設(shè)計概念結(jié)構(gòu)的步驟w 第1步:抽象數(shù)據(jù)并設(shè)計局部視圖w 第2步:集成局部視圖,得到全局概念結(jié)構(gòu)邏輯邏輯設(shè)計設(shè)計階段階段概念設(shè)計階段概念設(shè)計階段合并取消沖突修改重構(gòu)消除冗余數(shù)據(jù)數(shù)據(jù)字典字典DD數(shù)據(jù)數(shù)據(jù)流程圖流程圖DFD需求需求分析分析階段階段抽象數(shù)據(jù)設(shè)計局部視圖局部局部E-R圖圖初步初步E-R圖圖總總E-R圖圖4.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計 數(shù)據(jù)抽象 局部視圖設(shè)計 數(shù)據(jù)抽象 概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象w 從實際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié)w 把這些特性用各種概念精確地加以描述w 這些概念組成了某種模型三種常

35、用抽象 1. 分類(Classification)w 定義某一類概念作為現(xiàn)實世界中一組對象的類型w 這些對象具有某些共同的特性和行為w 它抽象了對象值和型之間的“is member of”的語義w 在E-R模型中,實體型就是這種抽象張英王平劉勇趙斌學(xué) 生“is member of” 2. 聚集(Aggregation)w 定義某一類型的組成成分w 它抽象了對象內(nèi)部類型和成分之間“is part of”的語義w 在E-R模型中若干屬性的聚集組成了實體型,就是這種抽象學(xué) 生姓名學(xué)號班級專業(yè)實體型屬性“is a part of”倉庫號面積主任姓名年齡性別工資倉庫更復(fù)雜的聚集聚集 3. 概括(Gene

36、ralization)w 定義類型之間的一種子集聯(lián)系w 它抽象了類型之間的“is subset of”的語義w 概括有一個很重要的性質(zhì):繼承性。子類繼承超類上定義的所有抽象。學(xué)生本科生研究生超類子類“is subset of”概括 注:原E-R模型不具有概括,現(xiàn)對E-R模型作了擴(kuò)充,允許定義超類實體型和子類實體型。w 用雙豎邊的矩形框表示子類w 用直線加小圓圈表示超類-子類的聯(lián)系數(shù)據(jù)抽象的用途 對需求分析階段收集到的數(shù)據(jù)進(jìn)行分類、組織(聚集),形成:w 實體w 實體的屬性,標(biāo)識實體的碼w 確定實體之間的聯(lián)系類型(1:1,1:n,m:n) 局部視圖設(shè)計 設(shè)計分E-R圖的步驟:w 選擇局部應(yīng)用 根

37、據(jù)系統(tǒng)具體情況,利用需求分析階段得到的數(shù)據(jù)流圖,在多層數(shù)據(jù)流圖中選擇一個適當(dāng)層次的數(shù)據(jù)流圖,讓這組圖中每一部分對應(yīng)一個局部應(yīng)用,即可以這一層的數(shù)據(jù)流圖為出發(fā)點設(shè)計分E-R圖w 逐一設(shè)計分E-R圖 將局部應(yīng)用中所用的數(shù)據(jù)從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,標(biāo)定局部應(yīng)用中的實體、實體的屬性、標(biāo)識實體的碼,確定實體之間的聯(lián)系及其類型。并對其進(jìn)行必要的調(diào)整。 選擇局部應(yīng)用 依據(jù)w 多層數(shù)據(jù)流圖w 數(shù)據(jù)字典 步驟w 選擇一個適當(dāng)層次的數(shù)據(jù)流圖w 讓這組圖中每一部分對應(yīng)一個局部應(yīng)用w 以此為出發(fā)點,設(shè)計分E-R圖。 通常以中層數(shù)據(jù)流圖作為設(shè)計分E-R圖的依據(jù)w 高層數(shù)據(jù)流圖只能反映系統(tǒng)的概貌w 中層數(shù)據(jù)流

38、圖能較好地反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成w 低層數(shù)據(jù)流圖過細(xì) 例:w 由于學(xué)籍管理、課程管理等都不太復(fù)雜,因此可以它們?nèi)胧衷O(shè)計學(xué)生管理子系統(tǒng)的分E-R圖。如果局部應(yīng)用比較復(fù)雜,則可以從更下層的數(shù)據(jù)流圖入手。 逐一設(shè)計分E-R圖 任務(wù):標(biāo)定局部應(yīng)用中的實體、屬性、碼,實體間的聯(lián)系w 將各局部應(yīng)用涉及的數(shù)據(jù)從數(shù)據(jù)字典中抽取出來w 參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實體、實體的屬性、標(biāo)識實體的碼w 確定實體之間的聯(lián)系及其類型(1:1,1:n,m:n)如何抽象實體和屬性 實體:w 現(xiàn)實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實體之間是“is member of的關(guān)系。例:在學(xué)

39、校環(huán)境中,可把張三、李四等對象抽象為學(xué)生實體。 屬性:w 對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是“is part of的關(guān)系。例:學(xué)號、姓名、專業(yè)、年級等可以抽象為學(xué)生實體的屬性。其中學(xué)號為標(biāo)識學(xué)生實體的碼。如何區(qū)分實體和屬性 實體與屬性是相對而言的。w 同一事物,在一種應(yīng)用環(huán)境中作為“屬性”,在另一種應(yīng)用環(huán)境中就必須作為“實體”。 例:w 學(xué)校中的系,在某種應(yīng)用環(huán)境中,它只是作為“學(xué)生”實體的一個屬性,表明一個學(xué)生屬于哪個系;而在另一種環(huán)境中,由于需要考慮一個系的系主任、教師人數(shù)、學(xué)生人數(shù)、辦公地點等,這時它就需要作為實體了。 一般原則w 屬性不能再具有需要描述的性

40、質(zhì)。即屬性必須是不可分的數(shù)據(jù)項,不能再由另一些屬性組成。w 屬性不能與其他實體具有聯(lián)系。聯(lián)系只發(fā)生在實體之間。 符合上述兩條特性的事物一般作為屬性對待。w 現(xiàn)實世界中的事物凡能夠作為屬性對待的,應(yīng)盡量作為屬性。 例1:w “學(xué)生”由學(xué)號、姓名等屬性進(jìn)一步描述,根據(jù)準(zhǔn)則,“學(xué)生”只能作為實體,不能作為屬性。 例2:w 職稱通常作為教師實體的屬性,但在涉及住房分配時,由于分房與職稱有關(guān),也就是說職稱與住房實體之間有聯(lián)系,根據(jù)準(zhǔn)則,這時把職稱作為實體來處理會更合適些。設(shè)計分E-R圖的步驟 (1)以數(shù)據(jù)字典為出發(fā)點定義E-R圖。w 數(shù)據(jù)字典中的“數(shù)據(jù)結(jié)構(gòu)”、“數(shù)據(jù)流”和“數(shù)據(jù)存儲”等已是若干屬性的有意

41、義的聚合 (2)按上面給出的實體、屬性準(zhǔn)則進(jìn)行必要的調(diào)整。 例:w 學(xué)籍管理局部應(yīng)用中主要涉及的實體包括學(xué)生、宿舍、檔案材料、班級、班主任。 實體之間的聯(lián)系:w 由于一個宿舍可以住多個學(xué)生,而一個學(xué)生只能住在某一個宿舍中,因此宿舍與學(xué)生之間是1:n的聯(lián)系。w 由于一個班級往往有若干名學(xué)生,而一個學(xué)生只能屬于一個班級,因此班級與學(xué)生之間也是1:n的聯(lián)系。w 班主任與學(xué)生之間存在指導(dǎo)聯(lián)系,一個班主任要教多名學(xué)生,而一個學(xué)生只對應(yīng)一個班主任,因此班主任與學(xué)生之間也是1:n的聯(lián)系。w 而學(xué)生和他自己的檔案材料之間,班級與班主任之間都是1:1的聯(lián)系。學(xué)籍管理局部應(yīng)用的分E-R圖草圖適當(dāng)調(diào)整E-R圖 (1

42、) 在一般情況下,性別通常作為學(xué)生實體的屬性,但在本局部應(yīng)用中,由于宿舍分配與學(xué)生性別有關(guān),根據(jù)準(zhǔn)則,應(yīng)該把性別作為實體對待。 (2) 數(shù)據(jù)存儲“學(xué)生登記表”,由于是手工填寫,供存檔使用,其中有用的部分已轉(zhuǎn)入學(xué)生檔案材料中,因此這里就不必作為實體了。學(xué)籍管理局部應(yīng)用的分E-R圖學(xué)籍管理局部E-R圖實體屬性 上圖中省略了各個實體的屬性描述:w 學(xué)生:學(xué)號,姓名,出生日期w 性別:性別w 檔案材料:檔案號, w 班級:班級號,學(xué)生人數(shù)w 班主任:職工號,姓名,性別, 是否為優(yōu)秀班主任w 宿舍:宿舍編號,地址,人數(shù) 其中有下劃線的屬性為實體的碼。課程管理局部應(yīng)用的分E-R圖 同樣方法可以得到課程管理

43、局部應(yīng)用的分E-R圖課程管理局部應(yīng)用的分E-R圖 各實體的屬性分別為:w 學(xué)生:姓名,學(xué)號,性別,年齡,所在系, 年級,平均成績w 課程:課程號,課程名,學(xué)分w 教師:職工號,姓名,性別,職稱w 教科書:書號,書名,價錢w 教室:教室編號,地址,容量4.3.3 視圖的集成 視圖集成w 將各個局部視圖進(jìn)行合并,集成為總E-R圖 視圖集成的兩種方式w 一次集成 一次集成多個分E-R圖 通常用于局部視圖比較簡單時w 逐步累積式 首先集成兩個局部視圖(通常是比較關(guān)鍵的兩個局部視圖) 以后每次將一個新的局部視圖集成進(jìn)來集成局部E-R圖的步驟w 合并 修改與重構(gòu) 驗證整體概念結(jié)構(gòu)邏輯邏輯設(shè)計設(shè)計階段階段概

44、念設(shè)計階段概念設(shè)計階段合并取消沖突修改重構(gòu)消除冗余抽象數(shù)據(jù)設(shè)計局部視圖局部局部E-R圖圖初步初步E-R圖圖基本基本E-R圖圖 合并分E-R圖,生成初步E-R圖 合并而不是簡單拼湊的原因:w 各分E-R圖存在沖突 合并分E-R圖的主要工作與關(guān)鍵所在:w 合理消除各分E-R圖的沖突各個局部應(yīng)用所面向的問題不同;由不同的設(shè)計人員進(jìn)行設(shè)計各個分E-R圖之間必定會存在許多不一致的地方?jīng)_突的種類 1、屬性沖突 2、命名沖突 3、結(jié)構(gòu)沖突1、屬性沖突 兩類屬性沖突w 屬性域沖突:屬性值的類型、取值范圍或取值集合不同。w 屬性取值單位沖突 屬性沖突的解決方法w 通常用討論、協(xié)商等行政手段加以解決 例1:w 由

45、于學(xué)號是數(shù)字,因此某些部門(即局部應(yīng)用)將學(xué)號定義為整數(shù)形式,而由于學(xué)號不用參與運算,因此另一些部門(即局部應(yīng)用)將學(xué)號定義為字符型形式。(屬性域沖突) 例2:w 某些部門(即局部應(yīng)用)以出生日期形式表示學(xué)生的年齡,而另一些部門(即局部應(yīng)用)用整數(shù)形式表示學(xué)生的年齡。(屬性域沖突) 例3:w 學(xué)生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位。(屬性取值單位沖突)2、命名沖突 兩類命名沖突w 同名異義:不同意義的對象在不同的局部應(yīng)用中具有相同的名字w 異名同義(一義多名):同一意義的對象在不同的局部應(yīng)用中具有不同的名字 發(fā)生的位置w 命名沖突可能發(fā)生在屬性級、實體級、聯(lián)系級上。其中屬

46、性的命名沖突更為常見。 命名沖突的解決方法w 通過討論、協(xié)商等行政手段加以解決 例1:w 局部應(yīng)用A中將教室稱為房間w 局部應(yīng)用B中將學(xué)生宿舍稱為房間同名異義 例2:w 有的部門把教科書稱為課本w 有的部門則把教科書稱為教材異名同義(一義多名)3、結(jié)構(gòu)沖突(三類) 1)同一對象在不同應(yīng)用中具有不同的抽象w 解決方法:通常是把屬性變換為實體或把實體變換為屬性,使同一對象具有相同的抽象。變換時要遵循前面講過的兩個準(zhǔn)則。 例:w “課程”在某一局部應(yīng)用中被當(dāng)作實體w 在另一局部應(yīng)用中則被當(dāng)作屬性 2)同一實體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。w 產(chǎn)生原因:不同的局

47、部應(yīng)用關(guān)心的是該實體的不同側(cè)面。w 解決方法:使該實體的屬性取各分E-R圖中屬性的并集,再適當(dāng)設(shè)計屬性的次序。 在應(yīng)用A中w 學(xué)生(學(xué)號,姓名,性別,平均成績) 在應(yīng)用B中w 學(xué)生(姓名,學(xué)號,出生日期,所在系,年級) 在應(yīng)用C中w 學(xué)生(姓名,政治面貌,學(xué)號) 合并后w 學(xué)生(學(xué)號,姓名,出生日期,政治面貌,所在系, 年級,性別,平均成績) 3)實體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型w 解決方法:根據(jù)應(yīng)用語義對實體聯(lián)系的類型進(jìn)行綜合或調(diào)整。 例1:w 實體E1與E2在局部應(yīng)用A中是多對多聯(lián)系,而在局部應(yīng)用B中是一對多聯(lián)系 例2:w 在局部應(yīng)用X中E1與E2發(fā)生聯(lián)系,而在局部應(yīng)用Y中E1

48、、E2、E3三者之間有聯(lián)系。(E-R)1(E-R)2(E-R)12合并兩個分合并兩個分 E-R 圖時的綜合圖時的綜合合并分E-R圖,生成初步E-R圖實例 例:w 合并學(xué)籍管理局部視圖, 課程管理局部視圖w 這兩個分E-R圖存在著多方面的沖突 (1) 班主任實際上也屬于教師w 學(xué)籍管理中的班主任實體與課程管理中的教師實體在一定程度上屬于異名同義,可以應(yīng)將學(xué)籍管理中的班主任實體與課程管理中的教師實體統(tǒng)一稱為教師。w 統(tǒng)一后教師實體的屬性構(gòu)成為:教師:職工號,姓名,性別,職稱, 是否為優(yōu)秀班主任 (2) 合并教師與學(xué)生間的兩種聯(lián)系w 將班主任改為教師后,教師與學(xué)生之間的聯(lián)系在兩個局部視圖中呈現(xiàn)兩種不

49、同的類型:一種是學(xué)籍管理中教師與學(xué)生之間的指導(dǎo)聯(lián)系一種是課程管理中教師與學(xué)生之間的教學(xué)聯(lián)系w 可以將這兩種聯(lián)系綜合為教學(xué)聯(lián)系。指導(dǎo)聯(lián)系實際上可以包含在教學(xué)聯(lián)系之中。 (3) 合并性別在兩個局部應(yīng)用中的不同抽象w 性別在兩個局部應(yīng)用中具有不同的抽象,它在學(xué)籍管理中為實體,在課程管理中為屬性,按照前面提到的兩個原則,在合并后的E-R圖中性別只能作為實體,否則它無法與宿舍實體發(fā)生聯(lián)系。 (4) 調(diào)整學(xué)生屬性次序w 在兩個局部E-R圖中,學(xué)生實體屬性組成及次序都存在差異,應(yīng)將所有屬性綜合,并重新調(diào)整次序。w 假設(shè)調(diào)整結(jié)果為:學(xué)生:學(xué)號,姓名,出生日期,年齡, 所在系,年級,平均成績解決上述沖突后,學(xué)籍管理分E-R圖與課程管理分E-R圖合并為下圖所示形式:學(xué)生管理子系統(tǒng)的初步E-R圖 修改與重構(gòu) 消除冗余的數(shù)據(jù)與冗余的實體間聯(lián)系 設(shè)計生成基本E-R圖邏輯邏輯設(shè)計設(shè)計階段階段概念設(shè)計階段概念設(shè)計階段合并取消沖突修改重構(gòu)消除冗余抽象數(shù)據(jù)設(shè)計局部視圖局部局部E-R圖圖初步初步E-R圖圖基本基本E-R圖圖1、冗余 冗余的數(shù)據(jù)w 是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù)。 冗余的聯(lián)系w 是指可由其他聯(lián)系導(dǎo)出的聯(lián)系。 消除冗余要把握好度w 冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫的完整性,給數(shù)據(jù)庫維護(hù)增加困難。w 有時為了提高某些應(yīng)用的效率,不得不以冗余信息作為代價。

溫馨提示

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

評論

0/150

提交評論