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