數(shù)據(jù)庫原理課件--07數(shù)據(jù)庫設(shè)計.ppt_第1頁
數(shù)據(jù)庫原理課件--07數(shù)據(jù)庫設(shè)計.ppt_第2頁
數(shù)據(jù)庫原理課件--07數(shù)據(jù)庫設(shè)計.ppt_第3頁
數(shù)據(jù)庫原理課件--07數(shù)據(jù)庫設(shè)計.ppt_第4頁
數(shù)據(jù)庫原理課件--07數(shù)據(jù)庫設(shè)計.ppt_第5頁
已閱讀5頁,還剩128頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1,數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System 第七章 數(shù)據(jù)庫設(shè)計,2,第七章 數(shù)據(jù)庫設(shè)計,7.1 數(shù)據(jù)庫設(shè)計概述 7.2 需求分析 7.3 概念結(jié)構(gòu)設(shè)計 7.4 邏輯結(jié)構(gòu)設(shè)計 7.5 數(shù)據(jù)庫的物理設(shè)計 7.6 數(shù)據(jù)庫實施和維護 7.7 小結(jié),3,數(shù)據(jù)庫設(shè)計概述(續(xù)),什么是數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求) 在數(shù)據(jù)庫領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。,4,數(shù)據(jù)庫設(shè)計人員應(yīng)該具備的技術(shù)和知識,數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計技術(shù) 計算機科學的基礎(chǔ)知識和程序設(shè)計的方法和技巧 軟件工程的原理和方法 應(yīng)用領(lǐng)域的知識,5,7.1 數(shù)據(jù)庫設(shè)計概述,7.1.1 數(shù)據(jù)庫設(shè)計的特點 7.1.2 數(shù)據(jù)庫設(shè)計方法 7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟 7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,返回,6,7.1.1 數(shù)據(jù)庫設(shè)計的特點,數(shù)據(jù)庫建設(shè)的基本規(guī)律 三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù) 數(shù)據(jù)庫設(shè)計應(yīng)該與應(yīng)用系統(tǒng)設(shè)計相結(jié)合 結(jié)構(gòu)(數(shù)據(jù))設(shè)計:設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu) 行為(處理)設(shè)計:設(shè)計應(yīng)用程序、事務(wù)處理等,7,7.1.2 數(shù)據(jù)庫設(shè)計方法簡述,手工試湊法 設(shè)計質(zhì)量與設(shè)計人員的經(jīng)驗和水平有直接關(guān)系 缺乏科學理論和工程方法的支持,工程的質(zhì)量難以保證 使數(shù)據(jù)庫設(shè)計成為一種技藝而不是工程技術(shù) 數(shù)據(jù)庫運行一段時間后常常又不同程度地發(fā)現(xiàn)各種問題,增加了維護代價,8,數(shù)據(jù)庫設(shè)計方法簡述(續(xù)),規(guī)范設(shè)計法 運用軟件工程思想,按一定的設(shè)計規(guī)程用工程化方法設(shè)計數(shù)據(jù)庫。 從本質(zhì)上看仍是手工設(shè)計方法 基本思想 過程迭代和逐步求精(P202圖7.2),9,數(shù)據(jù)庫設(shè)計方法簡述(續(xù)),規(guī)范設(shè)計法(續(xù)) 典型方法 新奧爾良(New Orleans)方法 將數(shù)據(jù)庫設(shè)計分為四個階段 基于E-R模型的數(shù)據(jù)庫設(shè)計方法 概念設(shè)計階段廣泛采用 3NF(第三范式)的設(shè)計方法 邏輯階段可采用的有效方法 ODL(Object Definition Language)方法 面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法,10,數(shù)據(jù)庫設(shè)計方法簡述(續(xù)),計算機輔助設(shè)計法 指在數(shù)據(jù)庫設(shè)計的某些過程中模擬某一規(guī)范化設(shè)計的方法,并以人的知識或經(jīng)驗為主導,通過人機交互方式實現(xiàn)設(shè)計中的某些部分。 計算機輔助軟件工程(Computer Aided Software Engineering,CASE)工具 SYSBASE公司的PowerDesigner Oracle公司的Design 2000。,返回,11,7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟,一、數(shù)據(jù)庫設(shè)計的準備工作 選定參加設(shè)計的人員 數(shù)據(jù)庫分析設(shè)計人員 應(yīng)用開發(fā)人員 數(shù)據(jù)庫管理人員 用戶代表,12,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),二、數(shù)據(jù)庫設(shè)計的過程(六個階段) 需求分析階段 準確了解與分析用戶需求(包括數(shù)據(jù)與處理) 是整個設(shè)計過程的基礎(chǔ),是最困難、最耗費時間的一步,13,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),概念結(jié)構(gòu)設(shè)計階段 是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵 通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,14,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),邏輯結(jié)構(gòu)設(shè)計階段 將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型 對其進行優(yōu)化 數(shù)據(jù)庫物理設(shè)計階段 為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法),15,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),數(shù)據(jù)庫實施階段 運用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果 建立數(shù)據(jù)庫 編制與調(diào)試應(yīng)用程序 組織數(shù)據(jù)入庫 并進行試運行,16,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),數(shù)據(jù)庫運行和維護階段 數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行。 在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調(diào)整與修改。,17,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復 P202圖7.2,18,返回,19,7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,數(shù)據(jù)庫各級模式的形成過程(P205圖7.4) 需求分析階段 綜合各個用戶的應(yīng)用需求 概念設(shè)計階段 形成獨立于機器特點,獨立于各個DBMS產(chǎn)品的概念模式(E-R圖),20,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),邏輯設(shè)計階段 首先將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式 然后根據(jù)用戶處理的要求、安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖(View),形成數(shù)據(jù)的外模式 物理設(shè)計階段 根據(jù)DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式,21,7.2 需求分析,需求分析就是分析用戶的需要與要求 需求分析是設(shè)計數(shù)據(jù)庫的起點 需求分析的結(jié)果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用 結(jié)果得到數(shù)據(jù)字典描述的數(shù)據(jù)需求和數(shù)據(jù)流圖描述的處理需求,22,7.2 需求分析,7.2.1 需求分析的任務(wù) 7.2.2 需求分析的方法 7.2.3 數(shù)據(jù)字典,23,7.2.1 需求分析的任務(wù),通過詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求。 在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應(yīng)用需求來設(shè)計數(shù)據(jù)庫。,24,需求分析的任務(wù)(續(xù)),需求分析的重點是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。 1.信息要求 用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì) 由用戶的信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù),25,2.處理要求 對處理功能的要求 對處理的響應(yīng)時間的要求 對處理方式的要求(批處理 / 聯(lián)機處理) 3.安全性與完整性要求,需求分析的任務(wù)(續(xù)),26,確定用戶最終需求的難點 用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準確地表達自己的需求,他們所提出的需求往往不斷地變化。 設(shè)計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。 新的硬件、軟件技術(shù)的出現(xiàn)也會使用戶需求發(fā)生變化。,需求分析的任務(wù)(續(xù)),27,解決方法 設(shè)計人員必須采用有效的方法,與用戶不斷深入地進行交流,才能逐步得以確定用戶的實際需求,需求分析的任務(wù)(續(xù)),返回,28,7.2.2 需求分析的方法,調(diào)查清楚用戶的實際需求并進行初步分析與用戶達成共識 進一步分析與表達這些需求,29,調(diào)查用戶需求的具體步驟, 調(diào)查組織機構(gòu)情況 組織部門的組成情況 各部門的職責等,30,調(diào)查用戶需求的具體步驟(續(xù)), 調(diào)查各部門的業(yè)務(wù)活動情況。調(diào)查重點之一。 各個部門輸入和使用什么數(shù)據(jù) 如何加工處理這些數(shù)據(jù) 輸出什么信息 輸出到什么部門 輸出結(jié)果的格式是什么,31,調(diào)查用戶需求的具體步驟(續(xù)), 在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求。調(diào)查重點之二。 信息要求 處理要求 完全性與完整性要求,32,調(diào)查用戶需求的具體步驟(續(xù)), 對前面調(diào)查的結(jié)果進行初步分析 確定新系統(tǒng)的邊界 確定哪些功能由計算機完成或?qū)頊蕚渥層嬎銠C完成 確定哪些活動由人工完成 由計算機完成的功能就是新系統(tǒng)應(yīng)該實現(xiàn)的功能,33,常用調(diào)查方法,常用調(diào)查方法 跟班作業(yè) 通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動的情況 能比較準確地理解用戶的需求,但比較耗時 開調(diào)查會 通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求 請專人介紹,34,常用調(diào)查方法(續(xù)),詢問 對某些調(diào)查中的問題,可以找專人詢問 設(shè)計調(diào)查表請用戶填寫 如果調(diào)查表設(shè)計合理,則很有效,且易于為用戶接受 查閱記錄 查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄,35,進一步分析和表達用戶需求,分析和表達用戶的需求的常用方法 自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法) SA方法從最上層的系統(tǒng)組織機構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。,36,進一步分析和表達用戶需求(續(xù)),1首先把任何一個系統(tǒng)都抽象為: 例,數(shù)據(jù)流,數(shù)據(jù)流,數(shù)據(jù) 存儲,信息要求,數(shù)據(jù) 來源,處理,數(shù)據(jù) 輸出,處理要求,37,進一步分析和表達用戶需求(續(xù)),2分解處理功能和數(shù)據(jù) (1)分解處理功能 將處理功能的具體內(nèi)容分解為若干子功能,再將每個子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達清楚為止。 (2)分解數(shù)據(jù) 在處理功能逐步分解的同時,其所用的數(shù)據(jù)也逐級分解,形成若干層次的數(shù)據(jù)流圖。 數(shù)據(jù)流圖表達了數(shù)據(jù)和處理過程的關(guān)系。,38,進一步分析和表達用戶需求(續(xù)),(3)表達方法 處理過程:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述 3將分析結(jié)果再次提交給用戶,征得用戶的認可,39,數(shù)據(jù)流圖,數(shù)據(jù)流圖是描述數(shù)據(jù)在系統(tǒng)中流動和處理的工具,表達了數(shù)據(jù)與處理的關(guān)系。 數(shù)據(jù)流圖(Data Flow Diagram)簡稱DFD,它是一種描述“分解”的圖示工具。它用直觀的圖形清晰地描繪了系統(tǒng)的邏輯模型,圖中只是描述數(shù)據(jù)在系統(tǒng)中的流動和處理的情況,具有直觀、形象、容易理解的優(yōu)點。,40,數(shù)據(jù)流圖(續(xù)),數(shù)據(jù)源點或終點(用矩形表示); 數(shù)據(jù)存儲(用雙直線段或 表示) ; 處理(用圓表示); 數(shù)據(jù)流(用箭頭表示)。,41,數(shù)據(jù)流圖(續(xù)),畫數(shù)據(jù)流圖(DFD)步驟: 首先畫系統(tǒng)的輸入輸出,即先畫頂層數(shù)據(jù)流圖。頂層圖只包含一個加工,用以表示被開發(fā)的系統(tǒng)。 畫系統(tǒng)內(nèi)部,即畫下層數(shù)據(jù)流圖。一般將層號從0號開始編號,采用自頂向下,由外向內(nèi)的原則。 畫下層數(shù)據(jù)流圖時,則分解上層圖中的處理,一般沿著輸出入流的方向,凡數(shù)據(jù)流的組成或值發(fā)生變化的地方則設(shè)置一個處理,一直進行到輸出數(shù)據(jù)流。 如果處理的內(nèi)部還有數(shù)據(jù)流,則繼續(xù)分解,直到每個處理足夠簡單,不能再分解為止。不能分解的處理稱為基本處理。,42,數(shù)據(jù)流圖(續(xù)),數(shù)據(jù)流圖(DFD)注意事項: 兩個處理之間可能有多個數(shù)據(jù)流 編號:如果一張數(shù)據(jù)流圖中的某個加工分解成另一張數(shù)據(jù)流圖時,則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應(yīng)編號。 數(shù)據(jù)流名稱只能是名詞或名詞短語, 處理命名一般為動賓結(jié)構(gòu) 同一數(shù)據(jù)流可流向不同的加工,不同的加工可以流出相同的數(shù)據(jù)流 流入流出簡單存儲的數(shù)據(jù)流不需要命名,43,例 銷售管理系統(tǒng)數(shù)據(jù)流圖,44,判定樹與判定表,例如,“檢查訂購單”的處理邏輯是:“ 如果金額超過500元,又未過期,則發(fā)出批準單和提貨單; 如果金額超過 500元,但過期了,則不發(fā)批準單; 如果金額低于 500元,則不論是否過期都發(fā)出批準單和提貨單,在過期的情況下還需發(fā)出通知單”。,45,判定樹與判定表(續(xù)),46,判定樹與判定表(續(xù)),判定樹本質(zhì)上同判定表是一樣的,當用戶不易接受判定表這種描述方式時,我們可以用判定樹的形式,判定樹是一種圖形表示,更易被用戶理解。,47,7.2.3 數(shù)據(jù)字典,一、數(shù)據(jù)字典的用途 二、數(shù)據(jù)字典的內(nèi)容,48,一、數(shù)據(jù)字典的用途,數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合 數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果 數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計中占有很重要的地位,返回,49,二、數(shù)據(jù)字典的內(nèi)容,數(shù)據(jù)字典的內(nèi)容 數(shù)據(jù)項 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)流 數(shù)據(jù)存儲 處理過程 數(shù)據(jù)項是數(shù)據(jù)的最小組成單位 若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。,50, 數(shù)據(jù)項,數(shù)據(jù)項是不可再分的數(shù)據(jù)單位 對數(shù)據(jù)項的描述 數(shù)據(jù)項描述數(shù)據(jù)項名,數(shù)據(jù)項含義說明, 別名,數(shù)據(jù)類型,長度,取值范圍, 取值含義,與其他數(shù)據(jù)項的邏輯關(guān)系 取值范圍、與其他數(shù)據(jù)項的邏輯關(guān)系定義了數(shù)據(jù)的完整性約束條件,51,數(shù)據(jù)項舉例,例:學生學籍管理子系統(tǒng)的數(shù)據(jù)字典。 數(shù)據(jù)項 以“學號”為例: 數(shù)據(jù)項: 學號 含義說明:唯一標識每個學生 別名: 學生編號 類型: 字符型 長度: 8 取值范圍:00000000至99999999 取值含義:前兩位標別該學生所在年級, 后六位按順序編號 與其他數(shù)據(jù)項的邏輯關(guān)系:,52, 數(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),53,數(shù)據(jù)結(jié)構(gòu)舉例,數(shù)據(jù)結(jié)構(gòu) 以“學生”為例 “學生”是該系統(tǒng)中的一個核心數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)結(jié)構(gòu): 學生 含義說明: 是學籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié) 構(gòu),定義了一個學生的有關(guān)信息 組成: 學號,姓名,性別,年齡,所在 系,年級,54, 數(shù)據(jù)流,數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?對數(shù)據(jù)流的描述 數(shù)據(jù)流描述數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結(jié)構(gòu), 平均流量,高峰期流量 數(shù)據(jù)流來源是說明該數(shù)據(jù)流來自哪個過程 數(shù)據(jù)流去向是說明該數(shù)據(jù)流將到哪個過程去 平均流量是指在單位時間(每天、每周、每月等)里的傳輸次數(shù) 高峰期流量則是指在高峰時期的數(shù)據(jù)流量,55,數(shù)據(jù)流舉例,數(shù)據(jù)流“體檢結(jié)果”可如下描述: 數(shù)據(jù)流: 體檢結(jié)果 說明: 學生參加體格檢查的最終結(jié)果 數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準 組成: 平均流量: 10000次左右 高峰期流量:經(jīng)常在學期開學初進行體檢時,56, 數(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ù)量,存取方式 流入的數(shù)據(jù)流:指出數(shù)據(jù)來源 流出的數(shù)據(jù)流:指出數(shù)據(jù)去向 數(shù)據(jù)量:每次存取多少數(shù)據(jù),每天(或每小時、每周等)存取幾次等信息 存取方法:批處理 / 聯(lián)機處理;檢索 / 更新;順序檢索 / 隨機檢索,57,數(shù)據(jù)存儲舉例,數(shù)據(jù)存儲“學生登記表”可如下描述: 數(shù)據(jù)存儲: 學生登記表 說明: 記錄學生的基本情況 流入數(shù)據(jù)流: 流出數(shù)據(jù)流: 組成: 數(shù)據(jù)量: 每年3000張 存取方式: 隨機存取,58, 處理過程,處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息 處理過程說明性信息的描述 處理過程描述處理過程名,說明, 輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流, 處理:簡要說明,59,處理過程(續(xù)),簡要說明:主要說明該處理過程的功能及處理要求 功能:該處理過程用來做什么 處理要求:處理頻度要求(如單位時間里處理多少事務(wù),多少數(shù)據(jù)量);響應(yīng)時間要求等 處理要求是后面物理設(shè)計的輸入及性能評價的標準,60,處理過程舉例,處理過程“分配宿舍”可如下描述: 處理過程:分配宿舍 說明: 為所有新生分配學生宿舍 輸入: 學生,宿舍, 輸出: 宿舍安排 處理: 在新生報到后,為所有新生分配學生宿舍。要求同一間宿舍只能安排同一性別的學生,同一個學生只能安排在一個宿舍中。每個學生的居住面積不小于3平方米。安排新生宿舍其處理時間應(yīng)不超過15分鐘。,61,四、需求分析小結(jié),需求分析過程圖,62,需求分析小結(jié)(續(xù)),分析用戶活動涉及的數(shù)據(jù),產(chǎn)生數(shù)據(jù)流圖 深入分析用戶的業(yè)務(wù)處理,以數(shù)據(jù)流圖的形式表示出數(shù)據(jù)的流向和對數(shù)據(jù)所進行的加工。 分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)字典 數(shù)據(jù)字典是對數(shù)據(jù)描述的集中管理,它的功能是存儲和檢索各種數(shù)據(jù)描述(稱為元數(shù)據(jù)Metadata)。對數(shù)據(jù)庫設(shè)計來說,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。,63,數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System 第七章 數(shù)據(jù)庫設(shè)計(續(xù)),64,7.3 概念結(jié)構(gòu)設(shè)計,7.3.1 概念結(jié)構(gòu)設(shè)計 7.3.2 概念結(jié)構(gòu)設(shè)計的方法與步驟 7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計 7.3.4 視圖的集成 本節(jié)小結(jié),65,7.3.1 概念結(jié)構(gòu),什么是概念結(jié)構(gòu)設(shè)計 需求分析階段描述的用戶應(yīng)用需求是現(xiàn)實世界的具體需求 將需求分析得到的用戶需求,抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定 概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,返回,66,概念結(jié)構(gòu),DBMS支持的數(shù)據(jù)模型,概念模型,認識 抽象,信息世界,機器世界,現(xiàn)實世界中客觀對象的抽象過程,現(xiàn)實世界,需求分析,概念結(jié)構(gòu)設(shè)計,67,概念結(jié)構(gòu)(續(xù)),概念結(jié)構(gòu)設(shè)計的特點 (1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。 (2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計成功的關(guān)鍵。 (3)易于更改,當應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和擴充。 (4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。,68,7.3.2 概念結(jié)構(gòu)設(shè)計的方法與步驟,設(shè)計概念結(jié)構(gòu)的四類方法 自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化,69,7.3.2 概念結(jié)構(gòu)設(shè)計的方法與步驟,設(shè)計概念結(jié)構(gòu)的四類方法 自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu),70,概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù)),逐步擴張 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu),71,概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù)),混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。,72,概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù)),常用策略(P211圖7.8) 自頂向下地進行需求分析 自底向上地設(shè)計概念結(jié)構(gòu) 自底向上設(shè)計概念結(jié)構(gòu)的步驟(P211圖7.9) 第1步:抽象數(shù)據(jù)并設(shè)計局部視圖 第2步:集成局部視圖,得到全局概念結(jié)構(gòu),返回,73,7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計,數(shù)據(jù)抽象 局部視圖設(shè)計,74,數(shù)據(jù)抽象,概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象 從實際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細節(jié) 把這些特性用各種概念精確地加以描述 這些概念組成了某種模型,75,數(shù)據(jù)抽象(續(xù)),三種常用抽象 1. 分類(Classification) 定義某一類概念作為現(xiàn)實世界中一組對象的類型 這些對象具有某些共同的特性和行為 它抽象了對象值和型之間的“is member of”的語義 在E-R模型中,實體型就是這種抽象 例:P212圖7.10,76,77,數(shù)據(jù)抽象(續(xù)),2. 聚集(Aggregation) 定義某一類型的組成成分 它抽象了對象內(nèi)部類型和成分之間“is part of”的語義 在E-R模型中若干屬性的聚集組成了實體型,就是這種抽象 例:P212圖7.11,圖7.12,78,79,數(shù)據(jù)抽象(續(xù)),復雜的聚集,某一類型的成分仍是一個聚集,更復雜的聚集,80,數(shù)據(jù)抽象(續(xù)),3. 概括(Generalization) 定義類型之間的一種子集聯(lián)系 它抽象了類型之間的“is subset of”的語義 概括有一個很重要的性質(zhì):繼承性。子類繼承超類上定義的所有抽象。 例:P213圖7.130,81,82,數(shù)據(jù)抽象(續(xù)),數(shù)據(jù)抽象的用途 對需求分析階段收集到的數(shù)據(jù)進行分類、組織(聚集),形成 實體 實體的屬性,標識實體的碼 確定實體之間的聯(lián)系類型(1:1,1:n,m:n),返回,83,局部視圖設(shè)計,設(shè)計分E-R圖的步驟: 選擇局部應(yīng)用 逐一設(shè)計分E-R圖,返回,84,1.選擇局部應(yīng)用,需求分析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個系統(tǒng)。 設(shè)計分E-R圖首先需要根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個適當層次的數(shù)據(jù)流圖,讓這組圖中每一部分對應(yīng)一個局部應(yīng)用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點,設(shè)計分E-R圖。,85,選擇局部應(yīng)用(續(xù)),通常以中層數(shù)據(jù)流圖作為設(shè)計分E-R圖的依據(jù)。原因: 高層數(shù)據(jù)流圖只能反映系統(tǒng)的概貌 中層數(shù)據(jù)流圖能較好地反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成 低層數(shù)據(jù)流圖過細,86,選擇局部應(yīng)用(續(xù)),返回,87, 逐一設(shè)計分E-R圖,任務(wù) 標定局部應(yīng)用中的實體、屬性、碼,實體間的聯(lián)系 將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,標定各局部應(yīng)用中的實體、實體的屬性、標識實體的碼,確定實體之間的聯(lián)系及其類型(1:1,1:n,m:n),88,逐一設(shè)計分E-R圖(續(xù)),如何抽象實體和屬性 實體:現(xiàn)實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實體之間是“is member of“的關(guān)系。 例:在學校環(huán)境中,可把張三、李四等對象抽象為學生實體。,89,逐一設(shè)計分E-R圖(續(xù)),屬性:對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是“is part of“的關(guān)系。 例:學號、姓名、專業(yè)、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼。,90,逐一設(shè)計分E-R圖(續(xù)),如何區(qū)分實體和屬性 一般原則 屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項,不能再由另一些屬性組成。 屬性不能與其他實體具有聯(lián)系。聯(lián)系只發(fā)生在實體之間。 符合上述兩條特性的事物一般作為屬性對待。,91,逐一設(shè)計分E-R圖(續(xù)),實體與屬性是相對而言的。同一事物,在一種應(yīng)用環(huán)境中作為“屬性”,在另一種應(yīng)用環(huán)境中就可能作為“實體”。 例:學校中的系,在某種應(yīng)用環(huán)境中,它只是作為“學生”實體的一個屬性,表明一個學生屬于哪個系;而在另一種環(huán)境中,由于需要考慮一個系的系主任、教師人數(shù)、學生人數(shù)、辦公地點等,這時它就需要作為實體了。 為了簡化E-R圖的處置,現(xiàn)實世界中的事物凡能夠作為屬性對待的,應(yīng)盡量作為屬性。,92,逐一設(shè)計分E-R圖(續(xù)),職稱作為一個實體,93,逐一設(shè)計分E-R圖(續(xù)),病房作為一個實體,94,逐一設(shè)計分E-R圖(續(xù)),設(shè)計分E-R圖的步驟 (1)以數(shù)據(jù)字典為出發(fā)點定義E-R圖。 數(shù)據(jù)字典中的“數(shù)據(jù)結(jié)構(gòu)”、“數(shù)據(jù)流”和“數(shù)據(jù)存儲”等已是若干屬性的有意義的聚合 (2)按上面給出的準則進行必要的調(diào)整。,95,逐一設(shè)計分E-R圖(續(xù)),實例銷售管理子系統(tǒng)分E-R圖的設(shè)計 銷售管理子系統(tǒng)的主要功能: 處理顧客和銷售員送來的訂單 工廠是根據(jù)訂貨安排生產(chǎn)的 交出貨物同時開出發(fā)票 收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進行應(yīng)收款處理,96,逐一設(shè)計分E-R圖(續(xù)),下圖是第一層數(shù)據(jù)流圖,虛線部分劃出了系統(tǒng)邊界,圖7.18 銷售管理子系統(tǒng)第一層數(shù)據(jù)流圖,97,逐一設(shè)計分E-R圖(續(xù)),上圖中把系統(tǒng)功能又分為4個子系統(tǒng),下面四個圖是第二層數(shù)據(jù)流圖,圖7.19 接收訂單,98,逐一設(shè)計分E-R圖(續(xù)),圖7.20 處理訂單,99,逐一設(shè)計分E-R圖(續(xù)),圖7.21 開發(fā)票,100,逐一設(shè)計分E-R圖(續(xù)),圖7.22 支付過賬,101,逐一設(shè)計分E-R圖(續(xù)),分E-R圖的框架,102,逐一設(shè)計分E-R圖(續(xù)),參照第二層數(shù)據(jù)流圖和數(shù)據(jù)字典,遵循兩個準則,進行如下調(diào)整: (1) 訂單與訂單細節(jié)是1n的聯(lián)系 (2) 原訂單和產(chǎn)品的聯(lián)系實際上是訂單細節(jié)和產(chǎn)品的聯(lián)系。 (3) 圖7.21中“發(fā)票主清單”是一個數(shù)據(jù)存儲,不必作為實體加入分E-R圖 (4) 工廠對大宗訂貨給予優(yōu)惠,103,逐一設(shè)計分E-R圖(續(xù)),得到分E-R圖如下圖所示,銷售管理子系統(tǒng)的分E-R圖,104,逐一設(shè)計分E-R圖(續(xù)),對每個實體定義的屬性如下: 顧客:顧客號,顧客名,地址,電話,信貸狀況,賬目余額 訂單:訂單號,顧客號,訂貨項數(shù),訂貨日期,交貨日期,工種號,生產(chǎn)地點 訂單細則:訂單號,細則號,零件號,訂貨數(shù),金額 應(yīng)收賬款:顧客號,訂單號,發(fā)票號,應(yīng)收金額,支付日期,支付金額,當前余額,貨款限額 產(chǎn)品描述:產(chǎn)品號,產(chǎn)品名,單價,重量 折扣規(guī)則:產(chǎn)品號,訂貨量,折扣,105,7.3.4 視圖的集成,各個局部視圖即分E-R圖建立好后,還需要對它們進行合并,集成為一個整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。,106,視圖的集成(續(xù)),視圖集成的兩種方式 一次集成(P219圖7.25(a)) 一次集成多個分E-R圖 通常用于局部視圖比較簡單時 逐步累積式(P219圖7.25(b)) 首先集成兩個局部視圖(通常是比較關(guān)鍵的兩個局部視圖) 以后每次將一個新的局部視圖集成進來,107,視圖的集成(續(xù)),集成局部E-R圖的步驟 1. 合并 2. 修改與重構(gòu),返回,108,一、合并分E-R圖,生成初步E-R圖,局部應(yīng)用所面向問題不同,由不同設(shè)計人員進行局部設(shè)計,導致存在許多不一致的地方: 各分E-R圖之間的沖突主要有三類: 屬性沖突、命名沖突和結(jié)構(gòu)沖突。 解決方法是根據(jù)應(yīng)用的語義對實體聯(lián)系的類型進行綜合或調(diào)整。,109, 屬性沖突,兩類屬性沖突 屬性域沖突:屬性值的類型、取值范圍或取值集合不同。 例1, 由于學號是數(shù)字,因此某些部門(即局部應(yīng)用)將學號定義為整數(shù)形式,而由于學號不用參與運算,因此另一些部門(即局部應(yīng)用)將學號定義為字符型形式。 例2, 某些部門(即局部應(yīng)用)以出生日期形式表示學生的年齡,而另一些部門(即局部應(yīng)用)用整數(shù)形式表示學生的年齡。,110,屬性沖突(續(xù)),屬性取值單位沖突。 例:學生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位。 屬性沖突的解決方法 通常用討論、協(xié)商等行政手段加以解決,111, 命名沖突,兩類命名沖突 同名異義:不同意義的對象在不同的局部應(yīng)用中具有相同的名字 例:局部應(yīng)用A中將教室稱為房間 局部應(yīng)用B中將學生宿舍稱為房間 異名同義(一義多名):同一意義的對象在不同的局部應(yīng)用中具有不同的名字 例:有的部門把教科書稱為課本 有的部門則把教科書稱為教材,112,命名沖突(續(xù)),命名沖突可能發(fā)生在屬性級、實體級、聯(lián)系級上。其中屬性的命名沖突更為常見。 命名沖突的解決方法 通過討論、協(xié)商等行政手段加以解決,113, 結(jié)構(gòu)沖突,三類結(jié)構(gòu)沖突 同一對象在不同應(yīng)用中具有不同的抽象 例:“課程”在某一局部應(yīng)用中被當作實體,在另一局部應(yīng)用中則被當作屬性 解決方法:通常是把屬性變換為實體或把實體變換為屬性,使同一對象具有相同的抽象。變換時要遵循兩個準則。,114,結(jié)構(gòu)沖突(續(xù)),同一實體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 產(chǎn)生原因:不同的局部應(yīng)用關(guān)心的是該實體的不同側(cè)面。 解決方法:使該實體的屬性取各分E-R圖中屬性的并集,再適當設(shè)計屬性的次序。,115,結(jié)構(gòu)沖突(續(xù)),學生,學號,姓名,性別,平均成績,(a)在局部應(yīng)用A中,116,結(jié)構(gòu)沖突(續(xù)),學生,學號,姓名,出生日期,年級,(b)在局部應(yīng)用B中,所在系,117,結(jié)構(gòu)沖突(續(xù)),學生,學號,姓名,政治面貌,(c)在局部應(yīng)用C中,118,結(jié)構(gòu)沖突(續(xù)),學生,政治 面貌,學號,出生 日期,年級,(d)合并后,所在系,平均 成績,姓名,性別,119,結(jié)構(gòu)沖突(續(xù)),實體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型 例1:實體E1與E2在局部應(yīng)用A中是多對多聯(lián)系,而在局部應(yīng)用B中是一對多聯(lián)系 例2:在局部應(yīng)用X中E1與E2發(fā)生聯(lián)系,而在局部應(yīng)用Y中E1、E2、E3三者之間有聯(lián)系。 解決方法:根據(jù)應(yīng)用語義對實體聯(lián)系的類型進行綜合

溫馨提示

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

評論

0/150

提交評論