第23~25講-數據庫設計(需求分析、概念結構設計)11PPT_第1頁
第23~25講-數據庫設計(需求分析、概念結構設計)11PPT_第2頁
第23~25講-數據庫設計(需求分析、概念結構設計)11PPT_第3頁
第23~25講-數據庫設計(需求分析、概念結構設計)11PPT_第4頁
第23~25講-數據庫設計(需求分析、概念結構設計)11PPT_第5頁
已閱讀5頁,還剩103頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第6 6章章 數據庫設計數據庫設計6.1 數據庫設計的步驟 什么是數據庫設計w 是指對于一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息需求和處理要求)w 在數據庫領域內,常常把使用數據庫的各類系統統稱為數據庫應用系統。 數據庫是信息系統的核心和基礎w 數據庫是信息系統的各個部分能否緊密地結合在一起以及如何結合的關鍵所在w 數據庫設計是信息系統開發和建設的重要組成部分 按照應用的要求、工作環境要求,在DBMS支持下,對其結構(數據)設計和行為(處理)設計,從而設計出一個結構合理、使用方便、效率較高的數據庫及其應用系統。數據

2、庫設計目標數據庫設計的內容 數據庫結構設計(靜態)w 1)邏輯數據庫設計 局部邏輯結構 全局邏輯結構w 2)物理數據庫設計 存儲結構 數據庫行為設計(動態)w 1)數據的裝載w 2)應用程序設計參加設計的人員 1. 數據庫分析設計人員w 數據庫設計的核心人員w 自始至終參與數據庫設計w 其水平決定了數據庫系統的質量 2. 用戶w 在數據庫設計中也是舉足輕重的w 主要參加需求分析和數據庫的運行維護w 用戶積極參與帶來的好處 加速數據庫設計 提高數據庫設計的質量 3. 程序員w 在系統實施階段參與進來,負責編制程序 4. 操作員w 在系統實施階段參與進來,準備軟硬件環境參加設計的人員(續)數據庫分

3、析設計人員應具備的知識 計算機技術 數據庫技術 軟件工程知識 應用領域的知識數據庫設計的過程(六個階段) 需求分析階段 概念結構設計階段 邏輯結構設計階段 數據庫物理設計階段 數據庫實施階段 數據庫運行和維護階段設計一個完善的數據庫應用系統往往是上述六個階段的不斷反復。 需求分析階段w 綜合各個用戶的應用需求,是整個設計過程的基礎w 需求分析做的不好,可能會導致整個數據庫設計失敗 概念結構設計階段w 是整個數據庫設計的關鍵w 通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型 邏輯結構設計階段w 將概念結構轉換成具體的數據庫產品支持的數據模型,并對其模型進行優化,形成數據

4、庫邏輯模式。w 根據用戶處理的要求、安全性考慮,在基本表上建立必要的視圖,形成數據的外模式 數據庫物理設計階段w 為邏輯數據模型選取合適的物理結構。根據DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數據庫內模式。 數據庫實施階段w 運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果 建立數據庫 編制與調試應用程序 組織數據入庫 并進行試運行 數據庫運行和維護階段w 正式運行,并不斷對其進行評價、調整和修改。分析系統需求設計概念結構設計邏輯結構優化數據模型決策評價決策評價設計物理結構決策評價實施數據庫使用維護數據庫6、數據庫運行和維護階段5、數據庫實施階段4、數

5、據庫物理結構設計階段3、邏輯結構設計階段1、系統需求分析階段2、概念結構設計階段設計設計階段階段設設 計計 描描 述述數數 據據處處 理理需求需求分析分析數據字典、全系統中數據項、數據字典、全系統中數據項、數據流、數據存儲的描述數據流、數據存儲的描述數據流圖和判定表(判定樹)、數據字典中處數據流圖和判定表(判定樹)、數據字典中處理過程的描述理過程的描述邏輯邏輯結構結構設計設計概念模型(概念模型(E-RE-R圖)圖) 數據字典數據字典系統說明書包括:系統說明書包括:新系統要求、新系統要求、 方案和概圖方案和概圖反映新系統信息反映新系統信息 流的數據流圖流的數據流圖概念概念結構結構設計設計某種數據

6、模型某種數據模型 關系關系 非關系非關系系統結構圖系統結構圖(模塊結構)(模塊結構)物理物理設計設計存儲安排存儲安排方法選擇方法選擇存取路徑建立存取路徑建立模塊設計模塊設計IPOIPO表表實施實施階段階段編寫模式編寫模式裝入數據裝入數據數據庫試運行數據庫試運行程序編碼、程序編碼、編譯聯結、編譯聯結、測試測試運行運行維護維護性能監測、轉儲性能監測、轉儲/ /恢復恢復數據庫重組和重構數據庫重組和重構新舊系統轉換、運行、維護(修正性、適應性、新舊系統轉換、運行、維護(修正性、適應性、改善性維護)改善性維護)CreatLoadIPO表輸入:輸出:處理:分區1分區2Main()ifthenend6.2

7、需求分析 需求分析就是分析用戶的需要與要求w 需求分析是設計數據庫的起點w 需求分析的結果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用6.2.1 需求分析的任務 需求分析的任務 需求分析的重點 需求分析的難點 需求分析的任務 通過詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統(手工系統或計算機系統)工作概況,明確用戶的各種需求 在此基礎上確定新系統的功能。新系統必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數據庫 需求分析的重點 需求分析的重點是調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完

8、整性要求。 信息要求w 用戶需要從數據庫中獲得信息的內容與性質w 由信息要求可以導出數據要求,即在數據庫中需存儲哪些數據 處理要求w 對處理功能的要求w 對處理的響應時間的要求w 對處理方式的要求(批處理 / 聯機處理) 新系統的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。 需求分析的難點 確定用戶最終需求的難點w 用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準確地表達自己的需求,他們所提出的需求往往不斷地變化。w 設計人員缺少用戶的專業知識,不易理解用戶的真正需求,甚至誤解用戶的需求。w 新的硬件、軟件技術的出現也會使需求發生變化。

9、 解決方法w 設計人員必須采用有效的方法,與用戶不斷深入地進行交流,才能逐步得以確定用戶的實際需求6.2.2 需求分析的方法 調查清楚用戶的實際需求并進行初步分析 與用戶達成共識 進一步分析與表達這些需求 1) 調查組織機構情況w (1) 該組織由哪些部門組成w (2) 各部門的職責和任務 2) 調查各部門的業務活動情況w (1) 各部門輸入輸出的數據和格式w (2) 所需的表格和卡片w (3) 如何加工處理這些數據w (4) 輸入輸出的部門 調查與初步分析用戶需求 3) 協助用戶明確對新系統的各種需求w (1) 信息要求w (2) 處理要求w (3) 安全性要求w (4) 完整性要求 4)

10、確定新系統的邊界w (1) 哪些功能由計算機完成w (2) 哪些活動由人工完成 5) 分析系統功能w (1) 系統應具有哪些功能,完成哪些任務w (2) 設計人員和用戶協商、確定、備案w (3) 盡量滿足用戶的要求w (4) 不要隨便承諾用戶不合理或無法實現的要求w (5) 注意功能與條件的諧調 6) 分析系統數據w (1) 需要存儲哪些數據 1. 實體集 2. 實體的屬性集 3. 實體集間的聯系w (2) 數據是否有矛盾 1. 基本數據 2. 導出數據w (3) 用戶對數據的處理要求 1. 完成什么樣的處理 2. 響應時間 3. 安全性要求 4. 完整性要求w (4) 繪制數據流程圖w (5

11、) 編制數據字典 7) 編寫系統分析報告w (1) 提交用戶的決策部門審核w (2) 報告內容 1. 系統概況 2. 系統功能說明 3. 設計階段劃分 4. 可行性分析 5. 系統軟硬件環境要求 (1) 計算機配置;(2) 操作系統;(3) 漢字平臺 (4) 數據庫管理系統;(5) 網絡環境 6. 結構圖表 (1) 組織機構圖;(2) 組織間聯系圖; (3) 各機構功能業務圖 7. 數據圖表 (1) 數據流程圖;(2) 功能模塊圖;(3) 數據字典 8) 后續工作w (1) 組織專家評估報告w (2) 項目雙方簽字w (3) 簽訂協議書 常用調查方法 做需求調查時,往往需要同時采用多種方法w

12、無論使用何種調查方法,都必須有用戶的積極參與和配合w 設計人員應該和用戶取得共同的語言,幫助不熟悉計算機的用戶建立數據庫環境下的共同概念,并對設計工作的最后結果共同承擔責任常用調查方法 跟班作業w 通過親身參加業務工作了解業務活動的情況w 能比較準確地理解用戶的需求,但比較耗時 開調查會w 通過與用戶座談來了解業務活動情況及用戶需求 請專人介紹常用調查方法(續) 詢問w 對某些調查中的問題,可以找專人詢問 設計調查表請用戶填寫w 如果調查表設計合理,則很有效,且易于為用戶接受 查閱記錄w 查閱與原系統有關的數據記錄 進一步分析和表達用戶需求 結構化分析方法w SA方法,Structured A

13、nalysisw 是從最上層的系統組織機構入手,采用自頂向下,逐層分解的方式分析系統,并用數據流圖和數據字典描述系統。 1首先把任何一個系統都抽象為: 數據流數據流數據流數據流數據存儲數據存儲信息要求信息要求數據來源數據來源處理處理數據輸出數據輸出處理要求處理要求 2分解處理功能和數據w (1)分解處理功能 將處理功能的具體內容分解為若干子功能,再將每個子功能繼續分解,直到把系統的工作過程表達清楚為止。w (2)分解數據 在處理功能逐步分解的同時,其所用的數據也逐級分解,形成若干層次的數據流圖 數據流圖表達了數據和處理過程的關系w (3)表達方法 處理過程:用判定表或判定樹來描述 數據:用數據

14、字典來描述 3將分析結果再次提交給用戶,征得認可補充:數據流程圖 數據流圖(DFD, Data Flow Diagram)w 是描述數據在系統中流動和變換的過程,表達了數據和處理過程的關系w 從數據傳遞和加工的角度,以圖形的方式刻畫數據流從輸入到輸出的移動變換過程w 是系統分析人員與用戶進行交流的手段和系統設計的主要依據之一數據流程圖基本組成 1)外部項(外部實體)w 描述系統的數據來源和去向的各種實體或工作環節。 2)數據處理邏輯w 描述系統對信息進行處理的邏輯功能。 3)數據存儲w 邏輯意義上的數據存儲環節。 4)數據流w 是描述系統信息處理功能有關的各種信息的載體,是各個加工環節進行處理

15、和輸出的數據集合。數據流程圖繪制方法 數據流表示數據的流動情況; 加工(進程)表示對數據的加工處理過程,它的名字應能簡明扼要地表明所完成的是什么加工; 數據存貯在數據流圖中起著保存數據的作用,指向數據存貯的數據流可以理解為寫數據,從數據存貯引出的數據流可以理解為讀數據,雙向數據流可以理解為修改數據; 數據源點或終點,表示圖中出現數據的始發點或終止點,它在圖中的出現僅僅是一種符號,并不需要以軟件的形式進行設計和實現。實例:開發一個學校管理系統 1可行性分析和初步需求調查w 抽象出該系統最高層數據流圖,該系統由教師管理子系統、學生管理子系統、后勤管理子系統組成,每個子系統分別配備一個開發小組。 2

16、進一步細化各個子系統w 其中學生管理子系統開發小組通過進行進一步的需求調查,明確了該子系統的主要功能是進行學籍管理和課程管理,包括學生報到、入學、畢業的管理,學生上課情況的管理。 參考數據庫系統原理教程P1886.2.3 數據字典 數據字典的用途 數據字典的內容 數據字典的用途 數據字典是各類數據描述的集合 數據字典是進行詳細的數據收集和數據分析所獲得的主要結果 數據字典在數據庫設計中占有很重要的地位 數據字典的內容 數據字典的內容w 數據項w 數據結構w 數據流w 數據存儲w 處理過程 數據項是數據的最小組成單位 若干個數據項可以組成一個數據結構 數據字典通過對數據項和數據結構的定義來描述數

17、據流、數據存儲的邏輯內容。 數據項 數據項是不可再分的數據單位 對數據項的描述數據項描述數據項名,數據項含義說明, 別名,數據類型,長度,取值范圍, 取值含義,與其他數據項的邏輯關系w 取值范圍、與其他數據項的邏輯關系定義了數據的完整性約束條件 數據結構 數據結構反映了數據之間的組合關系。 一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成,或由若干個數據項和數據結構混合組成。 對數據結構的描述數據結構描述數據結構名,含義說明, 組成:數據項或數據結構 數據流 數據流是數據結構在系統內傳輸的路徑。 對數據流的描述數據流描述數據流名,說明,數據流來源, 數據流去向,組成:數據結構,

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

19、程的具體處理邏輯一般用判定表或判定樹來描述。數據字典中只需要描述處理過程的說明性信息 處理過程說明性信息的描述處理過程描述處理過程名,說明, 輸入:數據流,輸出:數據流, 處理:簡要說明處理過程(續) 簡要說明:w 主要說明該處理過程的功能及處理要求 功能:該處理過程用來做什么 處理要求:處理頻度要求(如單位時間里處理多少事務,多少數據量);響應時間要求等w 處理要求是后面物理設計的輸入及性能評價的標準 數據字典是關于數據庫中數據的描述,即元數據,而不是數據本身。數據本身將存放在物理數據庫中,由數據庫管理系統管理。 數據字典有助于這些數據的進一步管理和控制,為設計人員和數據庫管理員在數據庫設計

20、、實現和運行階段控制有關數據提供依據。小結例:數據項 學生學籍管理子系統的數據字典。w 數據項,以“學號”為例:數據項: 學號含義說明: 唯一標識每個學生別名: 學生編號類型: 字符型長度: 8取值范圍: 00000000至99999999取值含義: 前兩位標別該學生所在年級,后六位按順序編號與其他數據項的邏輯關系:例:數據結構 以“學生”為例w “學生”是該系統中的一個核心數據結構:數據結構: 學生含義說明:是學籍管理子系統的主體數據結構,定義了一個學生的有關信息組成: 學號,姓名,性別,年齡,所在系,年級例:數據流 數據流“體檢結果”可如下描述:數據流: 體檢結果說明: 學生參加體格檢查的

21、最終結果數據流來源: 體檢數據流去向: 批準組成: 平均流量: 高峰期流量: 例:數據存儲 數據存儲“學生登記表”可如下描述數據存儲: 學生登記表說明: 記錄學生的基本情況流入數據流: 流出數據流: 組成: 數據量: 每年3000張存取方式: 隨機存取例:處理過程 處理過程“分配宿舍”可如下描述處理過程: 分配宿舍說明: 為所有新生分配學生宿舍輸入: 學生,宿舍,輸出: 宿舍安排處理: 在新生報到后,為所有新生分配學生宿舍。要求同一間宿舍只能安排同一性別的學生,同一個學生只能安排在一個宿舍中。每個學生的居住面積不小于3平方米。安排新生宿舍其處理時間應不超過15分鐘。需求分析階段小結 把需求收集

22、和分析作為數據庫設計的第一階段是十分重要的。w 這一階段收集到的基礎數據(用數據字典來表達)和一組數據流程圖是下一步進行概念設計的基礎。 特別強調:w 收集將來應用所涉及的數據,設計者應充分考慮到可能的擴充和改變,使設計易于更改,系統易于擴充。w 強調用戶的參與,這是數據庫應用系統設計的特點。概念概念設計設計階段階段需求分析階段需求分析階段熟悉業務活動明確用戶需求確定系統邊界分析系統功能分析系統數據編寫分析報告調查機構情況數據數據字典字典DD數據數據流程圖流程圖DFD數據庫數據庫設計人員設計人員用戶用戶6.3 概念結構設計 什么是概念結構設計w 需求分析階段描述的用戶應用需求是現實世界的具體需

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

24、改變時,容易對概念模型修改和擴充。w (4)易于向關系、網狀、層次等各種數據模型轉換。6.3.1 概念結構設計的方法與步驟 設計概念結構的四類方法w 自頂向下 首先定義全局概念結構的框架,然后逐步細化w 自底向上 首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構w 逐步擴張 首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構w 混合策略 將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。 常用策略w 自頂向下地進行需求分析w 自底向上地設計概念結構 自底向上設

25、計概念結構的步驟w 第1步:抽象數據并設計局部視圖w 第2步:集成局部視圖,得到全局概念結構邏輯邏輯設計設計階段階段概念設計階段概念設計階段合并取消沖突修改重構消除冗余數據數據字典字典DD數據數據流程圖流程圖DFD需求需求分析分析階段階段抽象數據設計局部視圖局部局部E-R圖圖初步初步E-R圖圖總總E-R圖圖6.3.2 數據抽象與局部視圖設計 概念結構是對現實世界的一種抽象,即對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質的細節,并把這些特性用各種概念精確地加以描述。 因此用自底向上的方法設計概念結構首先要根據需求分析的結果對現實世界的數據進行抽象,設計各個局部視圖即分E

26、R圖。 設計分E-R圖的步驟:w 選擇局部應用 根據系統具體情況,利用需求分析階段得到的數據流圖,在多層數據流圖中選擇一個適當層次的數據流圖,讓這組圖中每一部分對應一個局部應用,即可以這一層的數據流圖為出發點設計分E-R圖w 逐一設計分E-R圖 將局部應用中所用的數據從數據字典中抽取出來,參照數據流圖,標定局部應用中的實體、實體的屬性、標識實體的碼,確定實體之間的聯系及其類型。并對其進行必要的調整。 選擇局部應用 依據w 多層數據流圖w 數據字典 步驟w 選擇一個適當層次的數據流圖w 讓這組圖中每一部分對應一個局部應用w 以此為出發點,設計分E-R圖。 通常以中層數據流圖作為設計分E-R圖的依

27、據w 高層數據流圖只能反映系統的概貌w 中層數據流圖能較好地反映系統中各局部應用的子系統組成w 低層數據流圖過細 例:w 由于學籍管理、課程管理等都不太復雜,因此可以它們入手設計學生管理子系統的分E-R圖。如果局部應用比較復雜,則可以從更下層的數據流圖入手。 逐一設計分E-R圖 任務:標定局部應用中的實體、屬性、碼,實體間的聯系w 將各局部應用涉及的數據從數據字典中抽取出來w 參照數據流圖,標定各局部應用中的實體、實體的屬性、標識實體的碼w 確定實體之間的聯系及其類型(1:1,1:n,m:n)如何抽象實體和屬性 實體:w 現實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實

28、體之間是“is member of的關系。例:在學校環境中,可把張三、李四等對象抽象為學生實體。 屬性:w 對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是“is part of的關系。例:學號、姓名、專業、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼。如何區分實體和屬性 實體與屬性是相對而言的。w 同一事物,在一種應用環境中作為“屬性”,在另一種應用環境中就必須作為“實體”。 例:w 學校中的系,在某種應用環境中,它只是作為“學生”實體的一個屬性,表明一個學生屬于哪個系;而在另一種環境中,由于需要考慮一個系的系主任、教師人數、學生人數、辦公地點等,這時它就需要作

29、為實體了。 一般原則w 屬性不能再具有需要描述的性質。即屬性必須是不可分的數據項,不能再由另一些屬性組成。w 屬性不能與其他實體具有聯系。聯系只發生在實體之間。 符合上述兩條特性的事物一般作為屬性對待。w 現實世界中的事物凡能夠作為屬性對待的,應盡量作為屬性。 例1:w “學生”由學號、姓名等屬性進一步描述,根據準則,“學生”只能作為實體,不能作為屬性。 例2:w 職稱通常作為教師實體的屬性,但在涉及住房分配時,由于分房與職稱有關,也就是說職稱與住房實體之間有聯系,根據準則,這時把職稱作為實體來處理會更合適些。設計分E-R圖的步驟 (1)以數據字典為出發點定義E-R圖。w 數據字典中的“數據結

30、構”、“數據流”和“數據存儲”等已是若干屬性的有意義的聚合 (2)按上面給出的實體、屬性準則進行必要的調整。 例:w 學籍管理局部應用中主要涉及的實體包括學生、宿舍、檔案材料、班級、班主任。 實體之間的聯系:w 由于一個宿舍可以住多個學生,而一個學生只能住在某一個宿舍中,因此宿舍與學生之間是1:n的聯系。w 由于一個班級往往有若干名學生,而一個學生只能屬于一個班級,因此班級與學生之間也是1:n的聯系。w 班主任與學生之間存在指導聯系,一個班主任要教多名學生,而一個學生只對應一個班主任,因此班主任與學生之間也是1:n的聯系。w 而學生和他自己的檔案材料之間,班級與班主任之間都是1:1的聯系。學籍

31、管理局部應用的分E-R圖草圖適當調整E-R圖 (1) 在一般情況下,性別通常作為學生實體的屬性,但在本局部應用中,由于宿舍分配與學生性別有關,根據準則,應該把性別作為實體對待。 (2) 數據存儲“學生登記表”,由于是手工填寫,供存檔使用,其中有用的部分已轉入學生檔案材料中,因此這里就不必作為實體了。學籍管理局部應用的分E-R圖學籍管理局部E-R圖實體屬性 上圖中省略了各個實體的屬性描述:w 學生:學號,姓名,出生日期w 性別:性別w 檔案材料:檔案號, w 班級:班級號,學生人數w 班主任:職工號,姓名,性別, 是否為優秀班主任w 宿舍:宿舍編號,地址,人數 其中有下劃線的屬性為實體的碼。課程

32、管理局部應用的分E-R圖 同樣方法可以得到課程管理局部應用的分E-R圖課程管理局部應用的分E-R圖 各實體的屬性分別為:w 學生:姓名,學號,性別,年齡,所在系, 年級,平均成績w 課程:課程號,課程名,學分w 教師:職工號,姓名,性別,職稱w 教科書:書號,書名,價錢w 教室:教室編號,地址,容量6.3.3 視圖的集成 視圖集成w 將各個局部視圖進行合并,集成為總E-R圖 視圖集成的兩種方式w 一次集成 一次集成多個分E-R圖 通常用于局部視圖比較簡單時w 逐步累積式 首先集成兩個局部視圖(通常是比較關鍵的兩個局部視圖) 以后每次將一個新的局部視圖集成進來集成局部E-R圖的步驟w 合并 修改

33、與重構 驗證整體概念結構邏輯邏輯設計設計階段階段概念設計階段概念設計階段合并取消沖突修改重構消除冗余抽象數據設計局部視圖局部局部E-R圖圖初步初步E-R圖圖基本基本E-R圖圖 合并分E-R圖,生成初步E-R圖 合并而不是簡單拼湊的原因:w 各分E-R圖存在沖突 合并分E-R圖的主要工作與關鍵所在:w 合理消除各分E-R圖的沖突各個局部應用所面向的問題不同;由不同的設計人員進行設計各個分E-R圖之間必定會存在許多不一致的地方沖突的種類 1、屬性沖突 2、命名沖突 3、結構沖突1、屬性沖突 兩類屬性沖突w 屬性域沖突:屬性值的類型、取值范圍或取值集合不同。w 屬性取值單位沖突 屬性沖突的解決方法w

34、 通常用討論、協商等行政手段加以解決 例1:w 由于學號是數字,因此某些部門(即局部應用)將學號定義為整數形式,而由于學號不用參與運算,因此另一些部門(即局部應用)將學號定義為字符型形式。(屬性域沖突) 例2:w 某些部門(即局部應用)以出生日期形式表示學生的年齡,而另一些部門(即局部應用)用整數形式表示學生的年齡。(屬性域沖突) 例3:w 學生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位。(屬性取值單位沖突)2、命名沖突 兩類命名沖突w 同名異義:不同意義的對象在不同的局部應用中具有相同的名字w 異名同義(一義多名):同一意義的對象在不同的局部應用中具有不同的名字 發生的位置w

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

36、者屬性的排列次序不完全相同。w 產生原因:不同的局部應用關心的是該實體的不同側面。w 解決方法:使該實體的屬性取各分E-R圖中屬性的并集,再適當設計屬性的次序。 在應用A中w 學生(學號,姓名,性別,平均成績) 在應用B中w 學生(姓名,學號,出生日期,所在系,年級) 在應用C中w 學生(姓名,政治面貌,學號) 合并后w 學生(學號,姓名,出生日期,政治面貌,所在系, 年級,性別,平均成績) 3)實體之間的聯系在不同局部視圖中呈現不同的類型w 解決方法:根據應用語義對實體聯系的類型進行綜合或調整。 例1:w 實體E1與E2在局部應用A中是多對多聯系,而在局部應用B中是一對多聯系 例2:w 在局

37、部應用X中E1與E2發生聯系,而在局部應用Y中E1、E2、E3三者之間有聯系。(E-R)1(E-R)2(E-R)12合并兩個分合并兩個分 E-R 圖時的綜合圖時的綜合合并分E-R圖,生成初步E-R圖實例 例:w 合并學籍管理局部視圖, 課程管理局部視圖w 這兩個分E-R圖存在著多方面的沖突 (1) 班主任實際上也屬于教師w 學籍管理中的班主任實體與課程管理中的教師實體在一定程度上屬于異名同義,可以應將學籍管理中的班主任實體與課程管理中的教師實體統一稱為教師。w 統一后教師實體的屬性構成為:教師:職工號,姓名,性別,職稱, 是否為優秀班主任 (2) 合并教師與學生間的兩種聯系w 將班主任改為教師

38、后,教師與學生之間的聯系在兩個局部視圖中呈現兩種不同的類型:一種是學籍管理中教師與學生之間的指導聯系一種是課程管理中教師與學生之間的教學聯系w 可以將這兩種聯系綜合為教學聯系。指導聯系實際上可以包含在教學聯系之中。 (3) 合并性別在兩個局部應用中的不同抽象w 性別在兩個局部應用中具有不同的抽象,它在學籍管理中為實體,在課程管理中為屬性,按照前面提到的兩個原則,在合并后的E-R圖中性別只能作為實體,否則它無法與宿舍實體發生聯系。 (4) 調整學生屬性次序w 在兩個局部E-R圖中,學生實體屬性組成及次序都存在差異,應將所有屬性綜合,并重新調整次序。w 假設調整結果為:學生:學號,姓名,出生日期,年齡, 所在系,年級,平均成績解決上述沖突后,學籍管理分E-R圖與課程管理分E-R圖合并為下圖所示形式:學生管理子系統的初步E-R圖 修改與重構 消除冗余的數據與冗余的實體間聯系 設計生成基本E-R圖邏輯邏輯設計設計階段階段概念設計階段概念設計階段合并取消沖突修改重構消除冗余抽象數據設計局部視圖局部局部E-R圖圖初步初步E-R圖圖基本基本E-R圖圖1、冗余 冗余的數據w 是指可由基本數據導出的數據。 冗余的聯系w 是指可由其他聯系導出的聯系。 消除冗余要把握好度w 冗余數

溫馨提示

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

評論

0/150

提交評論