第7章數(shù)據(jù)庫設(shè)計_第1頁
第7章數(shù)據(jù)庫設(shè)計_第2頁
第7章數(shù)據(jù)庫設(shè)計_第3頁
第7章數(shù)據(jù)庫設(shè)計_第4頁
第7章數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫系統(tǒng)原理

與應(yīng)用技術(shù)

主講:陳漫紅chmh1@263.net北京聯(lián)合大學(xué)師范學(xué)院電氣信息系第7章

數(shù)據(jù)庫設(shè)計7.1數(shù)據(jù)庫設(shè)計概述7.2數(shù)據(jù)庫的需求分析7.3數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計7.4數(shù)據(jù)庫的行為設(shè)計7.5數(shù)據(jù)庫的實施、運行與維護(hù)

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.1數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計應(yīng)該和應(yīng)用系統(tǒng)設(shè)計相結(jié)合,即包括:結(jié)構(gòu)(數(shù)據(jù))設(shè)計;行為(處理)設(shè)計兩個方面的內(nèi)容。這是數(shù)據(jù)庫設(shè)計的主要特點。(1)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計是指根據(jù)給定的應(yīng)用環(huán)境,進(jìn)行數(shù)據(jù)庫的模式或子模式的設(shè)計,并且具有較小的冗余、能滿足不同用戶的需求、能實現(xiàn)數(shù)據(jù)的共享等特點。(2)數(shù)據(jù)庫的行為設(shè)計是指確定數(shù)據(jù)庫用戶的行為和動作。在數(shù)據(jù)庫系統(tǒng)中,用戶的行為和動作指用戶對數(shù)據(jù)庫的操作,這些要通過應(yīng)用程序來實現(xiàn),所以數(shù)據(jù)庫的行為設(shè)計就是應(yīng)用程序的設(shè)計。結(jié)構(gòu)和行為設(shè)計相互分離數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)分析功能分析概念模型設(shè)計邏輯模型設(shè)計物理數(shù)據(jù)庫設(shè)計加載數(shù)據(jù)庫功能模型功能說明事務(wù)設(shè)計程序設(shè)計調(diào)試運行7.1.2數(shù)據(jù)庫設(shè)計的方法新奧爾良(NewOrleans)方法基于E-R模型的數(shù)據(jù)庫設(shè)計方法、基于3NF的設(shè)計方法、基于抽象語法規(guī)范的設(shè)計方法等都是數(shù)據(jù)庫設(shè)計不同階段支持實現(xiàn)的具體技術(shù)和方法。數(shù)據(jù)庫設(shè)計方法從本質(zhì)上看仍然是手工設(shè)計方法,其基本思想是過程迭代和逐步求精。

需求說明需求分析概念結(jié)構(gòu)概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)結(jié)構(gòu)物理設(shè)計7.1.3數(shù)據(jù)庫設(shè)計的步驟需求分析概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理設(shè)計數(shù)據(jù)庫實施數(shù)據(jù)庫運行和維護(hù)數(shù)據(jù)庫各個設(shè)計階段的描述

設(shè)計階段設(shè)計描述數(shù)據(jù)處理需求分析數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流圖和判定表、數(shù)據(jù)字典中處理過程的,描述概念結(jié)構(gòu)設(shè)計概念模型(E-R)圖數(shù)據(jù)字典系統(tǒng)說明書包括:(1)

新系統(tǒng)要求、方案和概圖(2)

新系統(tǒng)數(shù)據(jù)流圖邏輯結(jié)構(gòu)設(shè)計某種數(shù)據(jù)模型系統(tǒng)結(jié)構(gòu)圖(模塊結(jié)構(gòu))物理設(shè)計存儲安排、方法選擇、存取路徑建立模塊設(shè)計IPO表實施階段編寫模式、裝入數(shù)據(jù)、數(shù)據(jù)庫試運行程序編碼、編譯連接、測試運行維護(hù)性能監(jiān)測、轉(zhuǎn)儲/恢復(fù)、數(shù)據(jù)庫重組和重構(gòu)新舊系統(tǒng)轉(zhuǎn)換、運行、維護(hù)(修正性、適應(yīng)性、改善性維護(hù))7.2數(shù)據(jù)庫的需求分析分析用戶的要求;是數(shù)據(jù)庫設(shè)計的起點;其結(jié)果將直接影響到后面各階段的設(shè)計;并影響到最終的數(shù)據(jù)庫系統(tǒng)能否被合理地使用。

7.2數(shù)據(jù)庫的需求分析7.2.1需求分析的任務(wù)7.2.2需求分析的方法7.2.3數(shù)據(jù)字典7.2.1需求分析的任務(wù)信息需求。處理需求。安全性與完整性要求。數(shù)據(jù)存儲數(shù)據(jù)源數(shù)據(jù)輸出處理調(diào)查用戶需求的具體步驟①調(diào)查組織機(jī)構(gòu)情況。包括了解該組織的部門組成情況、各部門的職責(zé)等,為分析信息流程做準(zhǔn)備。②調(diào)查各部門的業(yè)務(wù)活動情況。包括了解各個部門輸入和使用什么數(shù)據(jù),如何加工處理這些數(shù)據(jù),輸出什么信息,輸出到什么部門,輸出結(jié)果的格式是什么,這是調(diào)查的重點。③在熟悉了業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求,包括信息要求、處理要求、完全性與完整性要求,這是調(diào)查的又一個重點。④確定新系統(tǒng)的邊界。對前面調(diào)查的結(jié)果進(jìn)行初步分析,確定哪些功能由計算機(jī)完成或?qū)頊?zhǔn)備讓計算機(jī)完成,哪些活動由人工完成。由計算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實現(xiàn)的功能。7.2.2需求分析的方法(1)跟班作業(yè)。通過親身參加業(yè)務(wù)工作來了解業(yè)務(wù)活動的情況。這種方法可以比較準(zhǔn)確地理解用戶的需求,但比較耗費時間。(2)開調(diào)查會。通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求。座談時,參加者之間可以相互啟發(fā)。(3)請專人介紹。(4)詢問。對某些調(diào)查中的問題,可以找專人詢問。(5)設(shè)計調(diào)查表請用戶填寫。如果調(diào)查表設(shè)計得合理,這種方法是很有效,也易于為用戶接受。(6)查閱記錄。查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄。結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法(StructuredAnalysis,簡稱SA方法)是一種簡單實用的方法。SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用自頂向下、逐層分解的方式分析系統(tǒng)。SA方法把任何一個系統(tǒng)都抽象為如圖所示的形式。

需求分析的過程7.2.3數(shù)據(jù)字典數(shù)據(jù)字典則是系統(tǒng)中各類數(shù)據(jù)描述的集合。對數(shù)據(jù)庫設(shè)計來講,數(shù)據(jù)字典是對系統(tǒng)中數(shù)據(jù)的詳細(xì)描述,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。它與數(shù)據(jù)流圖互為注釋,因此在數(shù)據(jù)庫設(shè)計中占有很重要的地位。數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個部分。7.3數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計7.3.1概念結(jié)構(gòu)設(shè)計7.3.2邏輯結(jié)構(gòu)設(shè)計

7.3.3物理結(jié)構(gòu)設(shè)計

7.3.1概念結(jié)構(gòu)設(shè)計著重信息結(jié)構(gòu)的設(shè)計;是整個數(shù)據(jù)庫系統(tǒng)設(shè)計的關(guān)鍵;獨立于邏輯結(jié)構(gòu)設(shè)計;獨立于DBMS。

概念模型的特點有豐富的語義表達(dá)能力。易于交流和理解。易于更改。易于向各種數(shù)據(jù)模型轉(zhuǎn)換概念結(jié)構(gòu)設(shè)計的策略自底向上。先定義局部應(yīng)用的概念結(jié)構(gòu),然后按一定的規(guī)則把它們集成起來,從而得到全局概念模型。自頂向下:先定義全局概念模型,然后再逐步細(xì)化。由里向外:先定義最重要的核心結(jié)構(gòu),然后再逐步向外擴(kuò)展?;旌喜呗浴⒆皂斚蛳潞妥缘紫蛏辖Y(jié)合起來使用。采用E-R模型方法的概念結(jié)構(gòu)設(shè)計設(shè)計局部E-R模型E-R模型的設(shè)計內(nèi)容包括確定局部E-R模型的范圍、定義實體、聯(lián)系以及它們的屬性。設(shè)計全局E-R模型將所有局部E-R圖集成為一個全局E-R圖,即全局E-R模型。優(yōu)化全局E-R模型設(shè)計局部E-R模型概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進(jìn)行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)細(xì)節(jié),并把這些特性用各種概念準(zhǔn)確的加以描述。一般有三種抽象方法:分類概括聚集分類學(xué)生張三李四王五…classIsamumberof概括學(xué)生本科生研究生超類子類Isasubsetof高職生聚集學(xué)生…實體型屬性學(xué)號姓名性別Isapartof設(shè)計全局E-R模型將局部E-R圖集成為全局E-R圖;需消除各分E-R圖合并時產(chǎn)生的沖突;解決沖突是合并E-R圖的主要工作和關(guān)鍵所在。沖突主要有三類:屬性沖突:屬性域沖突、屬性取值單位沖突命名沖突:同名異義和異名同義

結(jié)構(gòu)沖突:同一對象在不同應(yīng)用中具有不同的抽象、同一實體在不同的局部E-R圖中所包含的屬性個數(shù)和屬性的排列次序不完全相同。優(yōu)化全局E-R模型實體個數(shù)盡可能少;實體所包含的屬性盡可能少;實體間聯(lián)系無冗余。概念結(jié)構(gòu)設(shè)計示例例如在簡單的生產(chǎn)管理系統(tǒng)中有下列聯(lián)系,請畫出生產(chǎn)部門和供應(yīng)部門的局部E-R圖:(1)一件產(chǎn)品可由多個零件組成,一個零件可以組裝多件不同的產(chǎn)品,因此產(chǎn)品和零件是多對多聯(lián)系。(2)意見產(chǎn)品可以使用多種材料,一種材料可以用于多件不同的產(chǎn)品,因此產(chǎn)品和材料是多對多聯(lián)系。(3)一個倉庫可以存放多種材料,一種材料只存放于一個倉庫中,因此倉庫和材料是一對多聯(lián)系。生產(chǎn)部門的局部E-R圖產(chǎn)品產(chǎn)品序號產(chǎn)品名性能功能組裝零件零件型號零件名零件規(guī)格材料名耗用量供應(yīng)部門的局部E-R圖成品使用倉庫存儲材料成品序號成品名價格生產(chǎn)日期使用量存儲量倉庫名倉庫號負(fù)責(zé)人倉庫容量存儲日期地址1nmn材料號材料名計量單位價格屬性類別規(guī)格7.3.2邏輯結(jié)構(gòu)設(shè)計步驟:將概念模型轉(zhuǎn)換為某種組織層數(shù)據(jù)模型;對數(shù)據(jù)模型進(jìn)行優(yōu)化。E-R模型向關(guān)系模型的轉(zhuǎn)換一個實體轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的標(biāo)識符就是關(guān)系的碼。對于實體間的聯(lián)系有以下不同的情況:一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端所對應(yīng)的關(guān)系模式合并。一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端所對應(yīng)的關(guān)系模式合并。一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。具有相同碼的關(guān)系模式可以合并。

1:1轉(zhuǎn)換示例11經(jīng)理部門管理部門名部門號經(jīng)理號經(jīng)理名電話部門表(部門號,部門名,經(jīng)理號)經(jīng)理表(經(jīng)理號,經(jīng)理名,電話)或者:部門表(部門號,部門名)經(jīng)理表(經(jīng)理號,部門號,經(jīng)理名,電話)1:n轉(zhuǎn)換示例n1職工部門工作部門名部門號職工號職工名工資部門表(部門號,部門名)職工表(職工號,部門號,職工名,工資)m:n轉(zhuǎn)換示例教師表(教師號,教師名,職稱)課程表(課程號,課程名,學(xué)分)授課表(教師號,課程號,授課時數(shù))nm課程教師授課教師名教師號課程號課程名學(xué)分職稱授課時數(shù)數(shù)據(jù)模型的優(yōu)化關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo),并考慮系統(tǒng)的性能。具體方法為:確定各屬性間的數(shù)據(jù)依賴。消除冗余的聯(lián)系。確定最合適的范式。確定是否要對某些模式進(jìn)行分解或合并。對關(guān)系模式進(jìn)行必要的分解,以提高數(shù)據(jù)的操作效率和存儲空間的利用率。

水平分解以時間、空間、類型等范疇屬性取值為條件,滿足相同條件的數(shù)據(jù)行為一個子表。分解的依據(jù)一般以范疇屬性取值范圍劃分?jǐn)?shù)據(jù)行。這樣在操作同表數(shù)據(jù)時,時空范圍相對集中,便于管理。

K#A1…AmK#A1…AmK#A1…Am垂直分解以非主屬性所描述的應(yīng)用對象生命歷程的先后為條件,對應(yīng)相同歷程的屬性為一個子表。分解的依據(jù)是將非主屬性按其數(shù)據(jù)生成的時間段劃分,描述相同時間段的屬性劃分在一個組中。使操作同表數(shù)據(jù)時時空范圍相對集中,便于管理。K#A11…A1mA21…A2nK#A11…A1mK#A21…A2n設(shè)計外模式將概念模型轉(zhuǎn)換為邏輯數(shù)據(jù)模型之后,還應(yīng)該根據(jù)局部應(yīng)用需求,并結(jié)合具體的數(shù)據(jù)庫管理系統(tǒng)的特點,設(shè)計用戶的外模式。外模式概念對應(yīng)關(guān)系數(shù)據(jù)庫的視圖概念,設(shè)計外模式是為了更好地滿足局部用戶的需求。定義數(shù)據(jù)庫的模式主要是從系統(tǒng)的時間效率、空間效率、易維護(hù)等角度出發(fā)。

定義外模式考慮事項使用更符合用戶習(xí)慣的別名。對不同級別的用戶定義不同的視圖,以保證數(shù)據(jù)的安全。簡化用戶對系統(tǒng)的使用。

7.3.3物理結(jié)構(gòu)設(shè)計對已確定的邏輯數(shù)據(jù)結(jié)構(gòu),利用DBMS提供的方法、技術(shù),以較優(yōu)的存儲結(jié)構(gòu)、數(shù)據(jù)存取路徑、合理的數(shù)據(jù)存儲位置以及存儲分配,設(shè)計出一個高效的、可實現(xiàn)的物理數(shù)據(jù)庫結(jié)構(gòu)。

數(shù)據(jù)庫的物理設(shè)計通常分為兩步:確定數(shù)據(jù)庫的物理結(jié)構(gòu);對物理結(jié)構(gòu)進(jìn)行時間和空間效率的評價。物理結(jié)構(gòu)設(shè)計的內(nèi)容和方法對于數(shù)據(jù)查詢,需要得到如下信息:查詢所涉及的關(guān)系;查詢條件所涉及的屬性;連接條件所涉及的屬性;查詢列表中涉及的屬性。對于更新數(shù)據(jù)的事務(wù),需要得到如下信息:更新所涉及的關(guān)系;每個關(guān)系上的更新條件所涉及的屬性;更新操作所涉及的屬性。確定存取方法一般用戶可以通過建立索引的方法來加快數(shù)據(jù)的查詢效率。建立索引的一般原則為:在經(jīng)常作為查詢條件的屬性上建立索引。在經(jīng)常作為連接條件的屬性上建立索引。在經(jīng)常作為分組依據(jù)列的屬性上建立索引。對經(jīng)常進(jìn)行連接操作的表可以建立索引。一個表可以建立多個索引,但只能建立一個聚簇索引。

確定存儲結(jié)構(gòu)一般的存儲方式有:順序存儲散列存儲聚簇存儲一般情況下系統(tǒng)都會為數(shù)據(jù)選擇一種最合適的存儲方式。

物理結(jié)構(gòu)設(shè)計的評價評價物理結(jié)構(gòu)設(shè)計的方法完全依賴于具體的DBMS,主要考慮的是操作開銷,即為使用戶獲得及時、準(zhǔn)確的數(shù)據(jù)所需的開銷和計算機(jī)的資源的開銷。具體可分為如下幾類:查詢和響應(yīng)時間更新事務(wù)的開銷生成報告的開銷主存儲空間的開銷輔助存儲空間的開銷

7.4數(shù)據(jù)庫的行為設(shè)計

7.4.1功能需求分析7.4.2功能設(shè)計7.4.3事務(wù)設(shè)計7.4.1功能需求分析在進(jìn)行需求分析時,我們實際上進(jìn)行了兩項工作,一項是“數(shù)據(jù)流”的調(diào)查分析,另一項是“事務(wù)處理”過程的調(diào)查分析。數(shù)據(jù)流的調(diào)查分析為數(shù)據(jù)庫的信息結(jié)構(gòu)提供了最原始的依據(jù),事務(wù)處理的調(diào)查分析是行為設(shè)計的基礎(chǔ)。對行為特性要進(jìn)行的分析標(biāo)識所有的查詢、報表、事務(wù)及動態(tài)特性,指出對數(shù)據(jù)庫所要進(jìn)行的各種處理;指出對每個實體所進(jìn)行的操作(增、刪、改、查);給出每個操作的語義,包括結(jié)構(gòu)約束和操作約束;給出每個操作(針對某一對象)的頻率;給出每個操作(針對某一應(yīng)用)的響應(yīng)時間;給出該系統(tǒng)總的目標(biāo)。7.4.2功能設(shè)計¨¨目標(biāo)功能2功能n功能1功能22功能23功能21例:“學(xué)籍管理”的功能結(jié)構(gòu)圖學(xué)籍管理錄取分班入學(xué)報到…錄入修改查詢修課管理7.4.3事務(wù)設(shè)計事務(wù)處理是計算機(jī)模擬人處理事務(wù)的過程,包括:輸入設(shè)計輸出設(shè)計功能設(shè)計等等

輸入設(shè)計原始單據(jù)的設(shè)計格式制成輸入一覽表制作輸入數(shù)據(jù)描述文檔輸出設(shè)計用途。區(qū)分輸出結(jié)果是給客戶的還是用于內(nèi)部或報送上級領(lǐng)導(dǎo)的。輸出設(shè)備的選擇.是僅僅顯示出來,還是要打印出來或需要永久保存。輸出量。輸出格式。7.5數(shù)據(jù)庫的實施、運行與維護(hù)

7.5.1數(shù)據(jù)庫數(shù)據(jù)的加載和試運行7.5.2數(shù)據(jù)庫的運行和維護(hù)

7.5.1數(shù)據(jù)庫數(shù)據(jù)的加載和試運行數(shù)據(jù)加載在數(shù)據(jù)庫系統(tǒng)中,一般數(shù)據(jù)量都很大,各應(yīng)用環(huán)境差異也很大。為了保證數(shù)據(jù)庫中的數(shù)據(jù)正確、無誤,必須十分重視數(shù)據(jù)的校驗工作。在將數(shù)據(jù)輸入系統(tǒng)進(jìn)行數(shù)據(jù)轉(zhuǎn)換過程中,應(yīng)該進(jìn)行多次的校驗。

對于重要的數(shù)據(jù)的校驗更應(yīng)該反復(fù)多次,確認(rèn)無誤后再進(jìn)入到數(shù)據(jù)庫中。

7.5.1數(shù)據(jù)庫數(shù)據(jù)的加載和試運行數(shù)據(jù)庫的試運行在有一部分?jǐn)?shù)據(jù)加載到數(shù)據(jù)庫之

溫馨提示

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

評論

0/150

提交評論