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

下載本文檔

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

文檔簡介

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

2、之一。,An Introduction to Database System,第六章 數據庫設計,6.1 數據庫設計概述6.2 需求分析6.3 概念結構設計6.4 邏輯結構設計6.5 數據庫的物理設計6.6 數據庫實施與維護6.7 小結,An Introduction to Database System,6.1 數據庫設計概述,在數據庫領域內,通常把使用數據庫的各類信息系統統稱為數據庫應用系統。例如,以

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

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

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

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

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

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

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

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

11、)方法面向對象的設計方法。用面向對象的概念和術語來說明數據結構。ODL可以描述對象數據庫結構設計,可以直接轉換為面向對象的數據庫。,An Introduction to Database System,數據庫設計方法簡述(續(xù)),計算機輔助設計ORACLE Designer 2000SYBASE PowerDesigner,An Introduction to Database System,6.1 數據庫設計概述,6.1.1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

31、的集合數據字典是進行詳細的數據收集和數據分析所獲得的主要結果數據字典在數據庫設計中占有很重要的地位,An Introduction to Database System,二、數據字典的內容,數據字典的內容數據項數據結構數據流數據存儲處理過程 數據項是數據的最小組成單位 若干個數據項可以組成一個數據結構 數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏輯內容。,通過定義,,,描述,數據的描述信息不

32、是信息本身,An Introduction to Database System,⒈ 數據項,數據項是不可再分的數據單位 對數據項的描述數據項描述={數據項名,數據項含義說明, 別名,數據類型,長度,取值范圍, 取值含義,與其他數據項的邏輯關系}取值范圍、與其他數據項的邏輯關系定義了數據的完整性約束條件用關系規(guī)范化理論為指導。用數據依賴的

33、概念分析和表示數據項之間的關系。,,,An Introduction to Database System,⒉ 數據結構,數據結構反映了數據之間的組合關系。 一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成,或由若干個數據項和數據結構混合組成。 對數據結構的描述數據結構描述={數據結構名,含義說明, 組成:{數據項或數據結構}},An Introduct

34、ion to Database System,⒊ 數據流,數據流是數據結構在系統內傳輸的路徑。 對數據流的描述 數據流描述={數據流名,說明,數據流來源, 數據流去向,組成:{數據結構}, 平均流量,高峰期流量}數據流來源是說明該數據流來自哪個過程數據流去向是說明該數據流將到哪個過程去平均流量是指在單位時間(每天、每周、每月

35、等)里的傳輸次數高峰期流量則是指在高峰時期的數據流量,An Introduction to Database System,⒋ 數據存儲,數據存儲是數據結構停留或保存的地方,也是數據流的來源和去向之一。對數據存儲的描述 數據存儲描述={數據存儲名,說明,編號, 流入的數據流 ,流出的數據流 , 組成:{數據結構},數據量

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

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

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

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

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

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

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

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

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

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

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

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

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

49、uction to Database System,逐一設計分E-R圖,兩條準則:區(qū)分實體和屬性屬性不能再有需要描述的性質,必須是不可分的數據項,不能包含其他屬性。屬性不能與其他實體具有聯系,即E-R圖中所表示的聯系是實體之間的聯系。,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圖綜合成一個系統的總E-R圖實現的方式:多個分E-R圖一次集成:復雜,難度大,基本E-R圖,初步E-R圖,E-R圖 1,E-R圖 2,E-R圖 n,…,An Introduction to D

52、atabase System,6.3.4 視圖的集成,實現的方式:逐步集成:每次集成兩個分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圖;修改和重構:消除不必要的冗余,生成基本E-R圖。,合并消除沖突,修改和重構消除冗余

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論