江蘇大學(xué)計算機科學(xué)與通信工程學(xué)院計算機科學(xué)系_第1頁
已閱讀1頁,還剩149頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database System,江蘇大學(xué)計算機科學(xué)與通信工程學(xué)院計算機科學(xué)系,數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database System第六章 數(shù)據(jù)庫設(shè)計,An Introduction to Database System,第六章 數(shù)據(jù)庫設(shè)計,目前,一個國家的數(shù)據(jù)庫建設(shè)規(guī)模(數(shù)據(jù)庫的個數(shù)、種類)、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量這個國家信息化程度的重要標志

2、之一。,An Introduction to Database System,第六章 數(shù)據(jù)庫設(shè)計,6.1 數(shù)據(jù)庫設(shè)計概述6.2 需求分析6.3 概念結(jié)構(gòu)設(shè)計6.4 邏輯結(jié)構(gòu)設(shè)計6.5 數(shù)據(jù)庫的物理設(shè)計6.6 數(shù)據(jù)庫實施與維護6.7 小結(jié),An Introduction to Database System,6.1 數(shù)據(jù)庫設(shè)計概述,在數(shù)據(jù)庫領(lǐng)域內(nèi),通常把使用數(shù)據(jù)庫的各類信息系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。例如,以

3、數(shù)據(jù)庫為基礎(chǔ)的各種管理信息系統(tǒng)、辦公自動化系統(tǒng)、地理信息系統(tǒng)、電子政務(wù)系統(tǒng)、電子商務(wù)系統(tǒng)等。,An Introduction to Database System,數(shù)據(jù)庫設(shè)計概述(續(xù)),廣義地講,是數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計,即設(shè)計整個的數(shù)據(jù)庫應(yīng)用系統(tǒng)。狹義的講,是設(shè)計數(shù)據(jù)庫本身,即設(shè)計數(shù)據(jù)庫的各級模式并建立數(shù)據(jù)庫。,An Introduction to Database System,數(shù)據(jù)庫設(shè)計概述(續(xù)),什么是數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)

4、計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。,An Introduction to Database System,數(shù)據(jù)庫設(shè)計概述(續(xù)),信息管理要求 在數(shù)據(jù)庫中應(yīng)該存儲和管理哪些數(shù)據(jù)對象。數(shù)據(jù)操作要求對數(shù)據(jù)庫對象需要進行哪些操作,如查詢、增、刪、改、統(tǒng)計等操作。數(shù)據(jù)庫設(shè)計的目標是為用

5、戶和各種運營系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效率的運行環(huán)境(存取效率、存儲空間的利用率、系統(tǒng)運行管理的效率)。,An Introduction to Database System,6.1 數(shù)據(jù)庫設(shè)計概述,6.1.1 數(shù)據(jù)庫設(shè)計的特點6.1.2 數(shù)據(jù)庫設(shè)計方法6.1.3 數(shù)據(jù)庫設(shè)計的基本步驟6.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,An Introduction to Database System,6.1.1 數(shù)據(jù)庫設(shè)計的特

6、點,數(shù)據(jù)庫建設(shè)的基本規(guī)律“三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)”是數(shù)據(jù)庫設(shè)計的特點之一結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合結(jié)構(gòu)(數(shù)據(jù))設(shè)計:設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu)行為(處理)設(shè)計:設(shè)計應(yīng)用程序、事務(wù)處理等,An Introduction to Database System,數(shù)據(jù)庫設(shè)計的特點(續(xù)),結(jié)構(gòu)和行為分離的設(shè)計傳統(tǒng)的軟件工程忽視對應(yīng)用中數(shù)據(jù)語義的分析和抽象,只要有可能就盡量推遲數(shù)據(jù)結(jié)構(gòu)設(shè)計的決策早期的數(shù)據(jù)庫設(shè)

7、計致力于數(shù)據(jù)模型和建模方法研究,忽視了對行為的設(shè)計,An Introduction to Database System,數(shù)據(jù)庫設(shè)計的特點(續(xù)),數(shù)據(jù)庫設(shè)計,應(yīng)用系統(tǒng)設(shè)計,An Introduction to Database System,6.1 數(shù)據(jù)庫設(shè)計概述,6.1.1 數(shù)據(jù)庫設(shè)計的特點6.1.2 數(shù)據(jù)庫設(shè)計方法6.1.3 數(shù)據(jù)庫設(shè)計的基本步驟6.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,An Introduction t

8、o Database System,6.1.2 數(shù)據(jù)庫設(shè)計方法,數(shù)據(jù)庫設(shè)計人員應(yīng)該具備的技術(shù)和知識計算機的基礎(chǔ)知識軟件工程的原理和方法程序設(shè)計的方法和技巧數(shù)據(jù)庫的基本知識數(shù)據(jù)庫設(shè)計技術(shù)應(yīng)用領(lǐng)域的知識,An Introduction to Database System,數(shù)據(jù)庫設(shè)計方法(續(xù)),手工試湊法設(shè)計質(zhì)量與設(shè)計人員的經(jīng)驗和水平有直接關(guān)系數(shù)據(jù)庫設(shè)計是一種技藝,缺乏科學(xué)理論和工程方法的支持,設(shè)計質(zhì)量難以保證數(shù)據(jù)庫運行

9、一段時間后又不同程度地發(fā)現(xiàn)各種問題,需要進行修改甚至重新設(shè)計,增加了系統(tǒng)維護代價。,An Introduction to Database System,數(shù)據(jù)庫設(shè)計方法(續(xù)),規(guī)范設(shè)計法手工設(shè)計方法基本思想:過程迭代和逐步求精典型方法:新奧爾良(New Orleans)方法 將數(shù)據(jù)庫設(shè)計分為若干階段和步驟,并采用一些輔助手段去實現(xiàn)每一過程。它運用軟件工程的思想,按一定的設(shè)計規(guī)程用工程化方法設(shè)計數(shù)據(jù)庫。,An Introducti

10、on to Database System,數(shù)據(jù)庫設(shè)計方法(續(xù)),基于E-R模型的數(shù)據(jù)庫設(shè)計方法用E-R模型來設(shè)計數(shù)據(jù)庫的概念模型,是數(shù)據(jù)庫概念設(shè)計階段廣泛采用的方法。3NF的設(shè)計方法用關(guān)系規(guī)范理論為指導(dǎo)來設(shè)計數(shù)據(jù)庫的邏輯模型,是設(shè)計關(guān)系數(shù)據(jù)庫時在邏輯階段可以采用的一種有效方法。,An Introduction to Database System,數(shù)據(jù)庫設(shè)計方法(續(xù)),ODL(Object Definition Language

11、)方法面向?qū)ο蟮脑O(shè)計方法。用面向?qū)ο蟮母拍詈托g(shù)語來說明數(shù)據(jù)結(jié)構(gòu)。ODL可以描述對象數(shù)據(jù)庫結(jié)構(gòu)設(shè)計,可以直接轉(zhuǎn)換為面向?qū)ο蟮臄?shù)據(jù)庫。,An Introduction to Database System,數(shù)據(jù)庫設(shè)計方法簡述(續(xù)),計算機輔助設(shè)計ORACLE Designer 2000SYBASE PowerDesigner,An Introduction to Database System,6.1 數(shù)據(jù)庫設(shè)計概述,6.1.1

12、 數(shù)據(jù)庫設(shè)計的特點6.1.2 數(shù)據(jù)庫設(shè)計方法6.1.3 數(shù)據(jù)庫設(shè)計的基本步驟6.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,An Introduction to Database System,6.1.3 數(shù)據(jù)庫設(shè)計的基本步驟,一、數(shù)據(jù)庫設(shè)計的準備工作——選定參加設(shè)計的人員1. 數(shù)據(jù)庫分析、設(shè)計人員數(shù)據(jù)庫設(shè)計的核心人員自始至終參與數(shù)據(jù)庫設(shè)計其水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量,An Introduction to Database

13、 System,6.1.4 數(shù)據(jù)庫設(shè)計的基本步驟,2. 用戶和DBA在數(shù)據(jù)庫設(shè)計中也是舉足輕重的主要參加需求分析和數(shù)據(jù)庫的運行維護用戶積極參與帶來的好處加速數(shù)據(jù)庫設(shè)計決定數(shù)據(jù)庫設(shè)計質(zhì)量的決定因素,An Introduction to Database System,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),3. 應(yīng)用開發(fā)人員(程序員和操作員)在系統(tǒng)實施階段參與進來,負責編制程序 在系統(tǒng)實施階段參與進來,準備軟硬件環(huán)境,An Intro

14、duction to Database System,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),二、數(shù)據(jù)庫設(shè)計的過程(六個階段) ?、毙枨蠓治鲭A段準確了解與分析用戶需求(包括數(shù)據(jù)與處理)是整個設(shè)計過程的基礎(chǔ),是最困難、最耗費時間的一步,An Introduction to Database System,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),⒉概念結(jié)構(gòu)設(shè)計階段是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模

15、型,An Introduction to Database System,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),⒊邏輯結(jié)構(gòu)設(shè)計階段將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型并對其進行優(yōu)化,An Introduction to Database System,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),⒋數(shù)據(jù)庫物理設(shè)計階段為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法),An Introduction to Database Sys

16、tem,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),⒌數(shù)據(jù)庫實施階段運用DBMS提供的數(shù)據(jù)庫語言(如SQL)及其宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫并進行試運行,An Introduction to Database System,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),⒍數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調(diào)整與修改。,An Intr

17、oduction to Database System,數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)),設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)。 P202 圖7.2,An Introduction to Database System,設(shè)計特點,在設(shè)計過程中把數(shù)據(jù)庫的設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進行,相互參照,相互補充,以完善兩方面的設(shè)計設(shè)計過程各個階段的設(shè)

18、計描述:P204圖7.3,An Introduction to Database System,6.1 數(shù)據(jù)庫設(shè)計概述,6.1.1 數(shù)據(jù)庫設(shè)計的特點6.1.2 數(shù)據(jù)庫設(shè)計方法6.1.3 數(shù)據(jù)庫設(shè)計的基本步驟6.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,An Introduction to Database System,6.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,數(shù)據(jù)庫各級模式的形成過程(P205圖6.4)需求分析階段 綜合各

19、個用戶的應(yīng)用需求概念設(shè)計階段 形成獨立于機器特點,獨立于各個DBMS產(chǎn)品的概念模式(E-R圖),An Introduction to Database System,6.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,邏輯設(shè)計階段首先將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式然后根據(jù)用戶處理的要求、安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖(View),形成數(shù)據(jù)的外模式,An Introductio

20、n to Database System,6.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式,物理設(shè)計階段根據(jù)DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式,An Introduction to Database System,第六章 數(shù)據(jù)庫設(shè)計,6.1 數(shù)據(jù)庫設(shè)計概述6.2 需求分析6.3 概念結(jié)構(gòu)設(shè)計6.4 邏輯結(jié)構(gòu)設(shè)計6.5 數(shù)據(jù)庫的物理設(shè)計6.6 數(shù)據(jù)庫實施與維護6.7 小結(jié),An In

21、troduction to Database System,6.2 需求分析,6.2.1 需求分析的任務(wù)6.2.2 需求分析的方法6.2.3 數(shù)據(jù)字典,An Introduction to Database System,需求分析(續(xù)),需求分析就是分析用戶的需要與要求需求分析是設(shè)計數(shù)據(jù)庫的起點需求分析的結(jié)果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用,An Introd

22、uction to Database System,6.2 需求分析,6.2.1 需求分析的任務(wù)6.2.2 需求分析的方法6.2.3 數(shù)據(jù)字典,An Introduction to Database System,6.2.1 需求分析的任務(wù),一、需求分析的任務(wù)二、需求分析的重點三、需求分析的難點,An Introduction to Database System,一、需求分析的任務(wù),通過詳細調(diào)查現(xiàn)實世界要處理的對象(

23、組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求 在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應(yīng)用需求來設(shè)計數(shù)據(jù)庫,An Introduction to Database System,二、需求分析的重點,需求分析的重點是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。 信息要求用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)由用戶

24、的信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù),An Introduction to Database System,需求分析的重點(續(xù)),處理要求對處理功能的要求對處理的響應(yīng)時間的要求對處理方式的要求(批處理 / 聯(lián)機處理)新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。,An Introduction to Database System,三、需求分析的難點,確定用戶最終需求的難點用戶缺少

25、計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準確地表達自己的需求,他們所提出的需求往往不斷地變化。設(shè)計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。新的硬件、軟件技術(shù)的出現(xiàn)也會使用戶需求發(fā)生變化。,An Introduction to Database System,需求分析的難點(續(xù)),解決方法設(shè)計人員必須采用有效的方法,與用戶不斷深入地進行交流,才能逐步得以確定用戶的實際

26、需求,An Introduction to Database System,6.2 需求分析,6.2.1 需求分析的任務(wù)6.2.2 需求分析的方法6.2.3 數(shù)據(jù)字典,An Introduction to Database System,6.2.2 需求分析的方法,調(diào)查清楚用戶的實際需求并進行初步分析 與用戶達成共識 進一步分析與表達這些需求,An Introduction to Database System,一、

27、調(diào)查與初步分析用戶需求,⑴ 調(diào)查組織機構(gòu)情況。⑵ 調(diào)查各部門的業(yè)務(wù)活動情況。調(diào)查重點之一。⑶ 在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求。調(diào)查重點之二。⑷ 確定新系統(tǒng)的邊界。,An Introduction to Database System,二、常用調(diào)查方法,常用的調(diào)查方法跟班作業(yè)開調(diào)查會請專人介紹詢問設(shè)計調(diào)查表請用戶填寫查閱記錄,需要用戶的積極參與和配合,An Introduction to Dat

28、abase System,三、進一步分析和表達用戶需求,分析和表達用戶的需求的常用方法自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)SA方法從最上層的系統(tǒng)組織機構(gòu)入手,采用自頂向下、逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。,An Introduction to Database System,進一步分析和表達用戶需求(續(xù)),1.首先把任何一個系統(tǒng)都抽象為:,An Introduct

29、ion to Database System,進一步分析和表達用戶需求(續(xù)),逐層分解包括功能的逐層分解數(shù)據(jù)的逐層分解SA方法中的各工具數(shù)據(jù)流圖:數(shù)據(jù)和處理過程的關(guān)系判定表、判定樹:處理邏輯數(shù)據(jù)字典(DD):系統(tǒng)中的數(shù)據(jù),若干層次的數(shù)據(jù)流圖,,An Introduction to Database System,進一步分析和表達用戶需求(續(xù)),,調(diào)查組織機構(gòu)總體情況,熟悉業(yè)務(wù)活動,明確用戶需求,明確系統(tǒng)邊界,,需求

30、分析,,概念設(shè)計,An Introduction to Database System,6.2 需求分析,6.2.1 需求分析的任務(wù)6.2.2 需求分析的方法6.2.3 數(shù)據(jù)字典,An Introduction to Database System,6.2.3 數(shù)據(jù)字典,一、數(shù)據(jù)字典的用途二、數(shù)據(jù)字典的內(nèi)容,An Introduction to Database System,一、數(shù)據(jù)字典的用途,數(shù)據(jù)字典是各類數(shù)據(jù)描述

31、的集合數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計中占有很重要的地位,An Introduction to Database System,二、數(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)容。,通過定義,,,描述,數(shù)據(jù)的描述信息不

32、是信息本身,An Introduction to Database System,⒈ 數(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ù)的完整性約束條件用關(guān)系規(guī)范化理論為指導(dǎo)。用數(shù)據(jù)依賴的

33、概念分析和表示數(shù)據(jù)項之間的關(guān)系。,,,An Introduction to Database System,⒉ 數(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)}},An Introduct

34、ion to Database System,⒊ 數(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ù)流將到哪個過程去平均流量是指在單位時間(每天、每周、每月

35、等)里的傳輸次數(shù)高峰期流量則是指在高峰時期的數(shù)據(jù)流量,An Introduction to Database System,⒋ 數(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ù)量

36、,存取方式}流入的數(shù)據(jù)流:指出數(shù)據(jù)來源流出的數(shù)據(jù)流:指出數(shù)據(jù)去向數(shù)據(jù)量:每次存取多少數(shù)據(jù),每天(或每小時、每周等)存取幾次等信息存取方法:批處理 / 聯(lián)機處理;檢索 / 更新;順序檢索 / 隨機檢索,An Introduction to Database System,⒌ 處理過程,處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息處理過程說明性信息的描述 處理過程描述={處理過程名,

37、說明, 輸入:{數(shù)據(jù)流},輸出:{數(shù)據(jù)流}, 處理:{簡要說明}},An Introduction to Database System,處理過程(續(xù)),簡要說明:主要說明該處理過程的功能及處理要求功能:該處理過程用來做什么處理要求:處理頻度要求,如單位時間里處理多少事務(wù),多少數(shù)據(jù)量,響應(yīng)時間要求等,An Introduction to Data

38、base System,6.2.3 數(shù)據(jù)字典,數(shù)據(jù)字典是在關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù),而不是數(shù)據(jù)本身。數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實、完善。,An Introduction to Database System,需求分析小結(jié),需求分析階段的一個重要而困難的任務(wù)是收集將來應(yīng)用所涉及的數(shù)據(jù),設(shè)計人員應(yīng)充分考慮到可能的擴充和改變,使設(shè)計易于更改,系統(tǒng)易于擴充。必須強調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)

39、計的特點。,An Introduction to Database System,第六章 數(shù)據(jù)庫設(shè)計,6.1 數(shù)據(jù)庫設(shè)計概述6.2 需求分析6.3 概念結(jié)構(gòu)設(shè)計6.4 邏輯結(jié)構(gòu)設(shè)計6.5 數(shù)據(jù)庫的物理設(shè)計6.6 數(shù)據(jù)庫實施與維護6.7 小結(jié),An Introduction to Database System,6.3 概念結(jié)構(gòu)設(shè)計,,數(shù)據(jù)庫設(shè)計的關(guān)鍵,DDDFD,抽象化,獨立于具體DBMS的概念模型,?

40、,An Introduction to Database System,6.3.1概念結(jié)構(gòu),主要特點現(xiàn)實世界的一個真實模型:反映現(xiàn)實世界,包括事物之間的聯(lián)系,滿足用戶對數(shù)據(jù)處理的 要求。易于理解:可和用戶很好的交換意見。易于更改:當應(yīng)用環(huán)境和要求發(fā)生變化,容易對模型修改和擴充。易于向關(guān)系、網(wǎng)狀、層次模型轉(zhuǎn)換。主要工具:E-R模型,An Introduction to Database System,6.3.2概念結(jié)構(gòu)設(shè)計的方法

41、與步驟,四類方法自頂向下:首先定義全局框架,然后逐步細化,需求,An Introduction to Database System,6.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟,自底向上:首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來。,子需求,子需求,子需求,…,全局概念模式,An Introduction to Database System,6.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟,逐步擴張:首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,核心

42、概念結(jié)構(gòu),核心需求,,An Introduction to Database System,6.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟,混合策略自頂向下設(shè)計全局概念結(jié)構(gòu)框架自底向上設(shè)計各局部概念結(jié)構(gòu),An Introduction to Database System,6.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟,設(shè)計步驟 兩步:自底向上抽象數(shù)據(jù)、設(shè)計局部概念結(jié)構(gòu)視圖集成視圖→全局的概念結(jié)構(gòu),An Introduction to Data

43、base System,6.3.3數(shù)據(jù)抽象與局部視圖設(shè)計,抽象:對實際的人、物、事和概念進行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細節(jié),將這些特性用各種概念精確地加以描述,組成某種模型。概念結(jié)構(gòu)(模型):是對現(xiàn)實世界的一種抽象。,An Introduction to Database System,6.3.3數(shù)據(jù)抽象與局部視圖設(shè)計,三類抽象分類:classification例子:E-R模型中的實體型,定義某一類概念

44、作為現(xiàn)實世界中一組對象(具有某些共同的特性和行為)的類型。 抽取了值和型之間:is member of的語義,An Introduction to Database System,6.3.3數(shù)據(jù)抽象與局部視圖設(shè)計,聚集:aggregation定義某一類型的組成成分。抽象了對象內(nèi)部類型和成分之間: is part of的語義例子:E-R模型中若干屬性聚集組成的實體型。,學(xué)生,學(xué)號,姓名,專業(yè),班級,實體型,屬性,An Intro

45、duction to Database System,6.3.3數(shù)據(jù)抽象與局部視圖設(shè)計,,概括:generalization定義類型之間的一種子集聯(lián)系。抽象了類型之間:is subset of 的語義原有的E-R模型中沒有。例子:,學(xué)生,本科生,研究生,,,,,,,超類,子類,An Introduction to Database System,6.3.3數(shù)據(jù)抽象與局部視圖設(shè)計,概括的重要性質(zhì):繼承性。子類繼承超類上定義的所有

46、抽象。子類可以增加自己的某些特殊屬性。,An Introduction to Database System,6.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計,局部視圖設(shè)計的任務(wù):對需求分析階段收集到的數(shù)據(jù)進行分類、組織(聚集);實體、實體的屬性標識實體的碼確定實體之間的聯(lián)系類型(1:1,1:n,m:n)設(shè)計分E-R圖具體的做法選擇局部應(yīng)用、逐一設(shè)計分E-R圖,An Introduction to Database System,6.

47、3.3 數(shù)據(jù)抽象與局部視圖設(shè)計,選擇局部應(yīng)用在多層的數(shù)據(jù)流圖中選擇一個適當層次的數(shù)據(jù)流圖作為設(shè)計分E-R圖的出發(fā)點。這組圖中每一部分←→一個局部應(yīng)用。一般選擇中層的數(shù)據(jù)流圖,An Introduction to Database System,6.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計,逐一設(shè)計分E-R圖局部E-R圖:對選擇的局部應(yīng)用逐一設(shè)計分E-R圖。主要的工作:將涉及的數(shù)據(jù)從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖;標定局部應(yīng)用中的實體

48、實體的屬性標識實體的碼確定實體之間的聯(lián)系及其類型,An Introduction to Database System,逐一設(shè)計分E-R圖,實體和屬性:在現(xiàn)實世界中具體的應(yīng)用環(huán)境已經(jīng)做了大體的自然的劃分。在數(shù)據(jù)字典中:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流和數(shù)據(jù)存儲是屬性的集合,體現(xiàn)了劃分。分E-R圖設(shè)計的方法從數(shù)據(jù)字典中的各內(nèi)容出發(fā),定義E-R圖;再進行必要的調(diào)整:原則:現(xiàn)實世界的事物能作為屬性對待的,盡量作為屬性對待。,An Introd

49、uction to Database System,逐一設(shè)計分E-R圖,兩條準則:區(qū)分實體和屬性屬性不能再有需要描述的性質(zhì),必須是不可分的數(shù)據(jù)項,不能包含其他屬性。屬性不能與其他實體具有聯(lián)系,即E-R圖中所表示的聯(lián)系是實體之間的聯(lián)系。,An Introduction to Database System,例子:職工,職工,職工號,姓名,年齡,職稱,職工,職稱,職工號,姓名,年齡,職工代碼,工資,住房標準,附加福利,聘任,,An In

50、troduction to Database System,例子:醫(yī)生,病人,住院號,姓名,病房號,病人,病房,住院號,姓名,病房號,住在,,醫(yī)療,醫(yī)生,n,1,1,m,An Introduction to Database System,實例,An Introduction to Database System,實例,,An Introduction to Database System,實例,,An Introduction to

51、 Database System,實例,,An Introduction to Database System,實例,,An Introduction to Database System,6.3.4 視圖的集成,完成的工作:將所有的分E-R圖綜合成一個系統(tǒng)的總E-R圖實現(xiàn)的方式:多個分E-R圖一次集成:復(fù)雜,難度大,基本E-R圖,初步E-R圖,E-R圖 1,E-R圖 2,E-R圖 n,…,An Introduction to D

52、atabase System,6.3.4 視圖的集成,實現(xiàn)的方式:逐步集成:每次集成兩個分E-R圖,基本E-R圖,初步E-R圖,E-R圖 1,E-R圖 2,E-R圖 12,E-R圖 3,…,An Introduction to Database System,6.3.4 視圖的集成,集成的步驟合并:解決分E-R圖之間的沖突,合并成初步的E-R圖;修改和重構(gòu):消除不必要的冗余,生成基本E-R圖。,合并消除沖突,修改和重構(gòu)消除冗余

53、,,分E-R圖,初步E-R圖,基本E-R圖,分析,規(guī)范化理論,An Introduction to Database System,合并分E-R圖,主要的三類沖突屬性沖突屬性域沖突屬性取值單位沖突命名沖突同名異義異名同義結(jié)構(gòu)沖突同一對象在不同應(yīng)用中具有不同的抽象同一實體在不同分E-R圖中不同實體之間的聯(lián)系在分E-R圖中不同,An Introduction to Database System,消除冗余,存在的形式

54、冗余的數(shù)據(jù):可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù)冗余的實體間聯(lián)系:可由其他聯(lián)系導(dǎo)出的聯(lián)系消除的方法分析方法:以DD和DFD為依據(jù),根據(jù)DD中數(shù)據(jù)項之間邏輯關(guān)系的說明來消除冗余。 不是所有的冗余都需要消除。但此時應(yīng)在DD中數(shù)據(jù)關(guān)聯(lián)中說明作為完整性約束條件。,破壞完整性增加維護困難,,初步E-R圖→基本E-R圖,An Introduction to Database System,消除冗余,消除的方法規(guī)范化理論消除:函數(shù)依賴的概念提供

55、了消除冗余聯(lián)系的形式化工具書上的實例,An Introduction to Database System,6.4 邏輯結(jié)構(gòu)設(shè)計,任務(wù):將獨立于具體DBMS的概念結(jié)構(gòu)(基本E-R圖)→與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。原因不同的DBMS支持不同的數(shù)據(jù)模型;不同的DBMS對數(shù)據(jù)模型的支持程度不同;,An Introduction to Database System,6.4 邏輯結(jié)構(gòu)設(shè)計,設(shè)計的三個步驟概念

56、結(jié)構(gòu)→關(guān)系、網(wǎng)狀、層次模型;數(shù)據(jù)模型→特定DBMS支持下的數(shù)據(jù)模型;對數(shù)據(jù)模型進行優(yōu)化。,轉(zhuǎn)換規(guī)則,DBMS的特點和限制,優(yōu)化方法,概念結(jié)構(gòu)基本E-R圖,一般數(shù)據(jù)模型關(guān)系、網(wǎng)狀、層次,特定DBMS支持的數(shù)據(jù)模型,優(yōu)化的數(shù)據(jù)模型,An Introduction to Database System,6.4.1 E-R圖→關(guān)系模型,要解決的問題實體、實體之間的聯(lián)系→關(guān)系模式(屬性、碼)遵循的原則:實體一個實體型→一個關(guān)系

57、模式:實體的屬性→關(guān)系的屬性實體的碼→關(guān)系的碼,An Introduction to Database System,6.4.1 E-R圖→關(guān)系模型,遵循的原則:聯(lián)系一個1:1的聯(lián)系→一個獨立的關(guān)系模式:與該聯(lián)系相連的各實體的碼、聯(lián)系本身的屬性→關(guān)系的屬性;實體的碼都是關(guān)系的候選碼。與任意一端對應(yīng)的關(guān)系模式合并:在該關(guān)系模式的屬性中加入另一個關(guān)系模式的碼和聯(lián)系本身的屬性。,An Introduction to Database

58、 System,單獨的關(guān)系模式 領(lǐng)導(dǎo)(部門號,經(jīng)理職工號,…)與部門模式合并 部門(部門號,部門名,經(jīng)理職工號,…),部門,職工,領(lǐng)導(dǎo),6.4.1 E-R圖→關(guān)系模型,,,1,1,An Introduction to Database System,6.4.1 E-R圖→關(guān)系模型,遵循的原則:聯(lián)系一個1:n的聯(lián)系→一個獨立的關(guān)系模式:與該聯(lián)系相連的各實體的碼、聯(lián)系本身的屬性→關(guān)系的屬性;n端實體的碼

59、→關(guān)系的碼。與n端對應(yīng)的關(guān)系模式合并:在n端的關(guān)系模式的屬性中加入1端關(guān)系模式的碼和聯(lián)系本身的屬性。,An Introduction to Database System,6.4.1 E-R圖→關(guān)系模型,部門,職工,屬于,,,1,n,單獨的關(guān)系模式 屬于(部門號,職工號,…)與n端職工模式合并 職工(職工號,部門號,職工名,職務(wù),…),An Introduction to Database Syste

60、m,6.4.1 E-R圖→關(guān)系模型,遵循的原則:聯(lián)系一個m:n的聯(lián)系→一個關(guān)系模式與該聯(lián)系相連的各實體的碼、聯(lián)系本身的屬性→關(guān)系的屬性;各實體碼的組合→關(guān)系的碼;三個或三個以上實體間的一個多元聯(lián)系→一個關(guān)系模式相連的各實體的碼、聯(lián)系的屬性→關(guān)系的屬性各實體碼的組合→關(guān)系的碼;有相同碼的關(guān)系模式可以合并,An Introduction to Database System,6.4.1 E-R圖→關(guān)系模型,供應(yīng)商(供應(yīng)商號,姓

61、名,…)產(chǎn)品(產(chǎn)品號,產(chǎn)品名,產(chǎn)品組成的職工號,…)零件(零件號,零件名,…)供應(yīng)(供應(yīng)商號,產(chǎn)品號,零件號,供應(yīng)量),供應(yīng)商,產(chǎn)品,零件,供應(yīng),,,,m,n,p,供應(yīng)量,,An Introduction to Database System,一般關(guān)系模型?特定DBMS支持的關(guān)系模型,方法 結(jié)合特定DBMS的特點和限制進行修正。注意點數(shù)據(jù)類型要是特定DBMS支持的數(shù)據(jù)類型特定DBMS中的限制,An Introducti

62、on to Database System,6.4.2 數(shù)據(jù)模型的優(yōu)化,概念數(shù)據(jù)庫邏輯設(shè)計的結(jié)果不唯一。為了進一步提高系統(tǒng)性能,需要適當?shù)男薷模{(diào)整數(shù)據(jù)模型的結(jié)構(gòu)。方法:以規(guī)范化理論為指導(dǎo)確定數(shù)據(jù)依賴。進行數(shù)據(jù)依賴極小化處理,消除冗余的聯(lián)系??疾焓欠翊嬖诓糠?、傳遞函數(shù)依賴和多值依賴。判斷是否需要對模式進行合并和分解。對關(guān)系模式進行必要的分解:提高系統(tǒng)效率水平分解、垂直分解,An Introduction to Datab

63、ase System,數(shù)據(jù)模型的優(yōu)化(續(xù)),水平分解什么是水平分解把(基本)關(guān)系的元組分為若干子集合,定義每個子集合為一個子關(guān)系,以提高系統(tǒng)的效率。,An Introduction to Database System,數(shù)據(jù)模型的優(yōu)化(續(xù)),水平分解的適用范圍1. 滿足“80/20原則”的應(yīng)用80/20原則:一個大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一部分,約20%把經(jīng)常使用的數(shù)據(jù)分解出來,形成一個子關(guān)系,可以減少查詢的數(shù)據(jù)量

64、。,An Introduction to Database System,數(shù)據(jù)模型的優(yōu)化(續(xù)),水平分解的適用范圍2. 并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù)如果關(guān)系R上具有n個事務(wù),而且多數(shù)事務(wù)存取的數(shù)據(jù)不相交,則R可分解為少于或等于n個子關(guān)系,使每個事務(wù)存取的數(shù)據(jù)對應(yīng)一個關(guān)系。,An Introduction to Database System,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解什么是垂直分解把關(guān)系模式R的屬性分解為若干子集合,形成若干

65、子關(guān)系模式。垂直分解的原則經(jīng)常在一起使用的屬性從R中分解出來形成一個子關(guān)系模式。,An Introduction to Database System,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解的優(yōu)點可以提高某些事務(wù)的效率垂直分解的缺點可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。,An Introduction to Database System,6.4.3 設(shè)計用戶子模式,產(chǎn)生的原因全局模式:從系統(tǒng)的時間效率、空間效率、易維

66、護角度出發(fā);用戶模式:考慮用戶的習慣與方便。概念在形成全局邏輯模型后,根據(jù)局部應(yīng)用需求,結(jié)合具體DBMS的特點,設(shè)計用戶的外模式。方法利用視圖view的概念。,An Introduction to Database System,6.4.3 設(shè)計用戶子模式,定義外模式的優(yōu)點:使用符合用戶習慣的別名:設(shè)計view時可以重新定義屬性名,滿足用戶習慣一致。對不同級別的用戶定義不同的View,保證系統(tǒng)的安全性;簡化用戶對系統(tǒng)的使

67、用:保存復(fù)雜查詢,簡化用戶的使用。,An Introduction to Database System,6.5 數(shù)據(jù)庫的物理設(shè)計,數(shù)據(jù)庫的物理結(jié)構(gòu)數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法,依賴于給定的計算機系統(tǒng)。數(shù)據(jù)庫的物理設(shè)計為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。設(shè)計步驟確定數(shù)據(jù)庫的物理結(jié)構(gòu):存取方法和存儲結(jié)構(gòu);評價物理結(jié)構(gòu):時間和空間效率。,反復(fù)過程,An Introduction to Da

68、tabase System,6.5.1 內(nèi)容和方法,數(shù)據(jù)庫物理設(shè)計的目標:運行的事務(wù)響應(yīng)時間小,存儲空間利用率高,事務(wù)吞吐率大。一般的原則:對運行事務(wù)進行詳細分析,獲得參數(shù);充分了解所用的DBMS的內(nèi)部特性:存取方法和存儲結(jié)構(gòu)。了解存放數(shù)據(jù)的外存設(shè)備的特性,An Introduction to Database System,數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù)),選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù) 數(shù)據(jù)庫查詢事務(wù)查詢的關(guān)系 查詢條

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論