




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章數(shù)據(jù)庫設(shè)計(jì)1本章講述從軟件工程角度如何系統(tǒng)地剖析數(shù)據(jù)庫設(shè)計(jì)的全過程。重點(diǎn)介紹數(shù)據(jù)庫設(shè)計(jì)的基本方法和數(shù)據(jù)庫設(shè)計(jì)的基本步驟,掌握如何從實(shí)際應(yīng)用需求出發(fā)逐步構(gòu)建以數(shù)據(jù)庫為基礎(chǔ)的應(yīng)用管理系統(tǒng)的全過程?!?/p>
本章內(nèi)容:數(shù)據(jù)庫設(shè)計(jì)概述需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫的實(shí)施數(shù)據(jù)庫的運(yùn)行和維護(hù)6.1
數(shù)據(jù)庫設(shè)計(jì)概述2數(shù)據(jù)庫設(shè)計(jì)屬于軟件工程的范疇,面向一個(gè)使用數(shù)據(jù)庫的應(yīng)用系統(tǒng),利用已有的DBMS,設(shè)計(jì)出有效、合理地?cái)?shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用系統(tǒng)的主要內(nèi)容?!?/p>
本節(jié)內(nèi)容:什么是數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫的設(shè)計(jì)方法數(shù)據(jù)庫設(shè)計(jì)的基本步驟6.1
數(shù)據(jù)庫設(shè)計(jì)概述3數(shù)據(jù)庫設(shè)計(jì)是指在給定的應(yīng)用環(huán)境下,構(gòu)造最優(yōu)的數(shù)據(jù)庫邏輯結(jié)構(gòu)和物理結(jié)構(gòu),建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。在數(shù)據(jù)庫領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能
使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫中獲得所需的信息數(shù)據(jù)庫是信息系統(tǒng)的各個(gè)部分能否緊密地結(jié)合在一起以及如何結(jié)合的關(guān)鍵所在數(shù)據(jù)庫設(shè)計(jì)是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分6.1
數(shù)據(jù)庫設(shè)計(jì)概述4評(píng)判數(shù)據(jù)庫設(shè)計(jì)好壞的一般準(zhǔn)則:完備性一致性規(guī)范性6.1.1數(shù)據(jù)庫設(shè)計(jì)方法簡(jiǎn)述·
結(jié)構(gòu)和行為分離的設(shè)計(jì)方法56.1.1數(shù)據(jù)庫設(shè)計(jì)方法簡(jiǎn)述6將軟件工程的思想和方法引入到數(shù)據(jù)庫的設(shè)計(jì)之中,其基本思想采用過程迭代和逐步求精,分為以下幾種方法:新奧爾良(New
Orleans)方法將數(shù)據(jù)庫設(shè)計(jì)分為四個(gè)階段:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。S.B.Yao方法將數(shù)據(jù)庫設(shè)計(jì)分為五個(gè)步驟:需求分析、模式構(gòu)成、模式匯總、模式重構(gòu)、模式分析和物理數(shù)據(jù)庫設(shè)計(jì)。I.R.Palmer方法把數(shù)據(jù)庫設(shè)計(jì)當(dāng)成一步接一步的過程,并采用一些輔助手段實(shí)現(xiàn)每一過程。階段性設(shè)計(jì)方法E-R模型的數(shù)據(jù)庫設(shè)計(jì)方法,基于3NF的設(shè)計(jì)方法,基于抽象語法規(guī)范的設(shè)計(jì)方法等。·
計(jì)算機(jī)輔助設(shè)計(jì)ORACLE Designer
2000、SYBASE
PowerDesigner等。6.1.2數(shù)據(jù)庫設(shè)計(jì)的基本步驟7參照軟件工程的思想,將數(shù)據(jù)庫系統(tǒng)的生命周期(Lifecycle)劃分為以下六個(gè)階段:需求分析全面、準(zhǔn)確了解用戶的實(shí)際要求。概念結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫的概念結(jié)構(gòu),即通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)是將抽象的概念結(jié)構(gòu)轉(zhuǎn)換為所選用的
DBMS支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。數(shù)據(jù)庫物理設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)是對(duì)為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。6.1.2數(shù)據(jù)庫設(shè)計(jì)的基本步驟8數(shù)據(jù)庫實(shí)施在數(shù)據(jù)庫實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。數(shù)據(jù)庫運(yùn)行和維護(hù)數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行。在數(shù)
據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。以上七個(gè)階段構(gòu)成了數(shù)據(jù)庫系統(tǒng)的整個(gè)生命周期,直到該系統(tǒng)被新的系統(tǒng)所替代或消亡為止。嚴(yán)格地說,從第二階段需求分析開始到第五階段數(shù)據(jù)庫的物理設(shè)計(jì)為數(shù)據(jù)庫的設(shè)計(jì)階段。從需求分析到數(shù)據(jù)庫的運(yùn)行和維護(hù)階段都存在著反復(fù),即當(dāng)后一階段發(fā)現(xiàn)問題,需要回溯到之前的某一階段進(jìn)行修改,再繼續(xù)沿著這一過程向前進(jìn)行。6.1.2數(shù)據(jù)庫設(shè)計(jì)的基本步驟96.2需求分析10需求分析就是收集用戶的各項(xiàng)業(yè)務(wù)活動(dòng)及活動(dòng)中所使用的數(shù)據(jù),并由系統(tǒng)分析人員按照分析方法加以總結(jié)和提煉,正確地描述用戶使用中的業(yè)務(wù)信息?!?/p>
本節(jié)內(nèi)容需求分析的方法數(shù)據(jù)流圖數(shù)據(jù)字典6.2需求分析11需求分析就是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求,并在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計(jì)數(shù)據(jù)庫。需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。信息要求:用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì),由此導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲(chǔ)哪些數(shù)據(jù)。處理要求:用戶對(duì)處理功能的要求,對(duì)處理的響應(yīng)時(shí)間的要求,對(duì)處理方式的要求(批處理/聯(lián)機(jī)處理)。安全性與完整性要求:數(shù)據(jù)自身的約束,數(shù)據(jù)之間的約束關(guān)系,以及數(shù)據(jù)的敏感分析,訪問及數(shù)據(jù)數(shù)據(jù)的用戶級(jí)別等。6.2.3
需求信息方法12調(diào)查系統(tǒng)的組織結(jié)構(gòu)熟悉系統(tǒng)主要業(yè)務(wù)確定用戶需求進(jìn)行系統(tǒng)劃分6.2.2數(shù)據(jù)流圖數(shù)據(jù)流圖表達(dá)系統(tǒng)中數(shù)據(jù)與處理的關(guān)系數(shù)據(jù)流圖的基本元素包括:圓圈:表示一次處理過程有向線:表示數(shù)據(jù)流雙線段:表示存儲(chǔ)的信息136.2.3數(shù)據(jù)字典14·
數(shù)據(jù)字典數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,通常以表格的形式詳細(xì)地描述業(yè)務(wù)處理過程中用到的各類數(shù)據(jù)。數(shù)據(jù)字典的內(nèi)容包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理過程等五部分。①數(shù)據(jù)項(xiàng):數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小單位,對(duì)數(shù)據(jù)項(xiàng)的描述一般包括項(xiàng)名、含義說明、別名、類型、長(zhǎng)度、取值范圍及該項(xiàng)與其它項(xiàng)的邏輯關(guān)系。常以表格的形式給出。――――――――――――――――――――――――――――數(shù)據(jù)項(xiàng):
職工號(hào)含義說明:唯一標(biāo)識(shí)一個(gè)員工別名:類型:整型長(zhǎng)度:字符型8取值范圍:00000000~99999999取值含義:前四位表示工作年份,第5、6位表示所在部門,最后兩位表示報(bào)到序號(hào)。如2003年參加工作,分在采購部(假定編號(hào)為02),第一位報(bào)到的職工編號(hào)為:20030201。――――――――――――――――――――――――――――6.2.3
需求信息的分析15②數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)是若干數(shù)據(jù)項(xiàng)的有意義的集合,通常代表某一具體的事物。包括數(shù)據(jù)結(jié)構(gòu)名、含義、組成成份等。――――――――――――――――――――――――――――數(shù)據(jù)結(jié)構(gòu):含義說明:組成:會(huì)場(chǎng)定義了一個(gè)描述會(huì)場(chǎng)的信息結(jié)構(gòu)會(huì)場(chǎng)編號(hào),會(huì)場(chǎng)名稱,會(huì)場(chǎng)地點(diǎn),可容納人數(shù)――――――――――――――――――――――――――――6.2.3
需求信息的分析16③數(shù)據(jù)流:數(shù)據(jù)流可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu),表示某一次處理的輸入/輸出數(shù)據(jù)。包括數(shù)據(jù)流名,說明,數(shù)據(jù)來源,數(shù)據(jù)去向,及需要的數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)。――――――――――――――――――――――――――――數(shù)據(jù)流:說明:排會(huì)信息表示會(huì)議和會(huì)場(chǎng)的安排情況數(shù)據(jù)流來源:會(huì)議表、會(huì)場(chǎng)表數(shù)據(jù)流去向:會(huì)議安排表組成:平均流量:會(huì)議編號(hào)+會(huì)場(chǎng)編號(hào)100條/天高峰期流量:500條/天――――――――――――――――――――――――――――6.2.3
需求信息的分析17④數(shù)據(jù)存儲(chǔ):加工中需要存儲(chǔ)的數(shù)據(jù)。包括數(shù)據(jù)存儲(chǔ)名、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、組成成份、數(shù)據(jù)量、存取方式、存取頻度等。――――――――――――――――――――――――――――數(shù)據(jù)存儲(chǔ):說明:會(huì)議安排表記錄會(huì)議和會(huì)場(chǎng)的安排情況流入數(shù)據(jù)流:會(huì)議信息,會(huì)場(chǎng)信息流出數(shù)據(jù)流:會(huì)場(chǎng)安排信息組成:
會(huì)議編號(hào)、會(huì)場(chǎng)編號(hào)、排會(huì)時(shí)間、會(huì)議開始時(shí)間、會(huì)議結(jié)束時(shí)間、會(huì)議應(yīng)到人數(shù)數(shù)據(jù)量:存取方式:平均每年5000條隨機(jī)存取――――――――――――――――――――――――――――6.2.3
需求信息的分析18⑤處理過程:加工處理過程定義和說明。包括處理名稱、輸入數(shù)據(jù)、輸出數(shù)據(jù)、數(shù)據(jù)存儲(chǔ)、響應(yīng)時(shí)間等。――――――――――――――――――――――――――――處理過程:會(huì)議預(yù)約完成會(huì)議預(yù)約處理部門號(hào),與會(huì)人數(shù),開會(huì)日期,會(huì)議開始時(shí)間,會(huì)議說明:輸入:結(jié)束時(shí)間輸出:處理:會(huì)議預(yù)約信息首先判斷會(huì)場(chǎng)是否能夠滿足與會(huì)人數(shù)要求,其次對(duì)會(huì)議預(yù)約進(jìn)行處理,檢測(cè)排會(huì)情況,判斷是否能直接滿足排會(huì)要求,如能直接滿足則進(jìn)入排會(huì)處理模塊;如不能直接滿足,則根據(jù)算法給出用戶一個(gè)或多個(gè)推薦時(shí)間進(jìn)行選擇,選擇通過后進(jìn)入排會(huì)處理模塊,處理時(shí)間不超過0.5秒。――――――――――――――――――――――――――――6.2需求分析19需求分析總結(jié):需求分析的目的在于了解用戶對(duì)新系統(tǒng)的要求,即用戶需要新系統(tǒng)來做些什么;需求調(diào)查就是收集用戶各項(xiàng)業(yè)務(wù)活動(dòng)中所使用的各類數(shù)據(jù)的樣本,以及了角用戶各項(xiàng)業(yè)務(wù)處理的流程及其對(duì)數(shù)據(jù)的使用情況;需求信息的分析是分析人員根據(jù)收集的用戶需求、業(yè)務(wù)處理流程及各類數(shù)據(jù),進(jìn)行分析處理,以數(shù)據(jù)流圖和數(shù)據(jù)字典的方式加工整理,即以專業(yè)人員的語言來描述企業(yè)的數(shù)據(jù)及業(yè)務(wù);需求分析的結(jié)果應(yīng)能正確地描述企業(yè)現(xiàn)實(shí)信息,分析人員的分析結(jié)果應(yīng)得到用戶的認(rèn)可,數(shù)據(jù)流圖和數(shù)據(jù)字典被認(rèn)為是分析人員和用戶交流的語言;在此我們重點(diǎn)解決的是數(shù)據(jù)分析,只占整個(gè)系統(tǒng)分析的一部分,分析是設(shè)計(jì)的基礎(chǔ)。6.3
概念結(jié)構(gòu)設(shè)計(jì)20概念結(jié)構(gòu)設(shè)計(jì)是信息世界的表述方式,即使用一種方法對(duì)現(xiàn)實(shí)世界進(jìn)行抽象地描述,概念結(jié)構(gòu)設(shè)計(jì)建立在需求分析階段所得到的數(shù)據(jù)流圖和數(shù)據(jù)字典的基礎(chǔ)上,為計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)作準(zhǔn)備。·
本節(jié)內(nèi)容:概念結(jié)構(gòu)設(shè)計(jì)方法視圖設(shè)計(jì)視圖集成EE-R模型6.3.1概念結(jié)構(gòu)設(shè)計(jì)方法21概念結(jié)構(gòu)設(shè)計(jì)就是將現(xiàn)實(shí)事物以不依賴于任何數(shù)據(jù)模型的方式加以描述,目的在于以符號(hào)化的形式正確地反映現(xiàn)實(shí)事物及事務(wù)與事物間的聯(lián)系。概念結(jié)構(gòu)設(shè)計(jì)的內(nèi)容就是建立概念模型。對(duì)概念模型有如下要求:概念模型是對(duì)現(xiàn)實(shí)世界的抽象和概括,它應(yīng)真實(shí)、充分地反映現(xiàn)實(shí)世界中的事務(wù)和事物之間的聯(lián)系;概念模型應(yīng)簡(jiǎn)潔、明晰、獨(dú)立自于機(jī)器、容易理解,方便數(shù)據(jù)庫設(shè)計(jì)人員與用戶交換意見,合用戶能積極參與數(shù)據(jù)庫的設(shè)計(jì);概念模型應(yīng)易于變動(dòng)。當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和擴(kuò)充;概念模型應(yīng)容易向關(guān)系、層次或網(wǎng)狀數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的最常用方法是E-R圖方法。6.3.1概念結(jié)構(gòu)設(shè)計(jì)方法·
集中式模式設(shè)計(jì)法226.3.1概念結(jié)構(gòu)設(shè)計(jì)方法·
視圖集成法236.3.2視圖設(shè)計(jì)24設(shè)計(jì)局部視圖的步驟選擇局部應(yīng)用恰當(dāng)選擇各級(jí)數(shù)據(jù)流圖中的某一層的某一部分業(yè)務(wù),準(zhǔn)備設(shè)計(jì)局部E-R圖。通常就選擇數(shù)據(jù)流圖的中間級(jí),這一級(jí)實(shí)體描述準(zhǔn)確,實(shí)體間的聯(lián)系也比較清晰,如需求分析階段的采購業(yè)務(wù)流程圖。設(shè)計(jì)分E-R圖對(duì)于每一局部應(yīng)用,其所用到的數(shù)據(jù)都應(yīng)該收集在數(shù)據(jù)字典中了,依照該局部應(yīng)用的數(shù)據(jù)流圖,從數(shù)據(jù)字典中提取出數(shù)據(jù),使用抽象機(jī)制,確定局部應(yīng)用中的實(shí)體、實(shí)體的屬性、實(shí)體標(biāo)識(shí)符及實(shí)體間的聯(lián)系及其類型。6.3.2視圖設(shè)計(jì)針對(duì)會(huì)議考勤系統(tǒng),介紹如何分析設(shè)計(jì)系統(tǒng)概念模型:256.3.2視圖設(shè)計(jì)26每個(gè)實(shí)體的屬性如下:會(huì)場(chǎng)(會(huì)場(chǎng)編號(hào),會(huì)場(chǎng)名稱,會(huì)場(chǎng)大小,會(huì)場(chǎng)地址,備注)部門(部門編號(hào),部門名稱,上級(jí)部門編號(hào),聯(lián)系電話,聯(lián)系地址)員工(員工編號(hào),姓名,性別,職稱,職務(wù),上級(jí)主管)會(huì)議(會(huì)議編號(hào),會(huì)議議題,主辦部門,與會(huì)人數(shù),開會(huì)日期,開始時(shí)間,結(jié)束時(shí)間)6.3.3視圖集成局部的E-R圖又稱為局部視圖,將多個(gè)局部E-R圖合并成一張完整的E-R圖的過程稱為視圖集成。視圖集成的方法:選擇兩個(gè)具有相同實(shí)體的E-R圖,通過相同實(shí)體將兩個(gè)E-R圖連結(jié)起來構(gòu)成一個(gè)E-R圖,然后再與其它E-R圖連結(jié)直到將所有的局部E-R圖全部連結(jié)成一個(gè)E-R圖,稱為全局E-R圖。合并:主要解決各局部E-R圖之間的沖突,將各局部E-R圖合并起來生成初步E-R圖。修改和重構(gòu):主要是消去不必要的冗余,生成基本E-R圖。276.3.3視圖集成28
視圖集成的作用:一方面可以完整地描述企業(yè)的信息及其聯(lián)系,另一方面在集成過程中可以解決沖突和消除冗余。分E-R圖之間的三類沖突:屬性沖突:同一屬性可能會(huì)存在于不同的分E-R圖,由于設(shè)計(jì)人員不同或是出發(fā)點(diǎn)不同,對(duì)屬性的類型、取值范圍、數(shù)據(jù)單位等可能會(huì)不一致,這些屬性對(duì)就的數(shù)據(jù)將來只能以
一種形式在計(jì)算機(jī)中存儲(chǔ),這就需要在設(shè)計(jì)階段進(jìn)行統(tǒng)一。命名沖突:相同意義的屬性,在不同的分E-R圖上有著不同的命名,或是名稱相同的屬性在不同的分E-R圖中代表著不同的意義,這些也要進(jìn)行統(tǒng)一。結(jié)構(gòu)沖突:同一實(shí)體在不同的分E-R圖中有不同的屬性同一對(duì)象在某一分E-R圖中被抽象為實(shí)體而在另一分E-R圖中又被抽象為屬性,需要統(tǒng)一。6.3.4
EE-R模型29
Teorey等人對(duì)E-R模型進(jìn)行了適當(dāng)擴(kuò)充,提出了EE-R模型(Extend
Entity-Relationship
Model,簡(jiǎn)稱擴(kuò)充的模型)。EE-R模型保持了E-R模型簡(jiǎn)明清晰的特點(diǎn),同時(shí)又彌補(bǔ)了
E-R模型的一些不足,成為目前一種較為流行的概念模型設(shè)計(jì)工具。實(shí)體集的可嵌套性實(shí)體集之間的可繼承性EE-R圖6.4
邏輯結(jié)構(gòu)設(shè)計(jì)30邏輯結(jié)構(gòu)設(shè)計(jì)是對(duì)數(shù)據(jù)在計(jì)算機(jī)中的組織形式的設(shè)計(jì),即依照DBMS支持的數(shù)據(jù)模型,設(shè)計(jì)用戶數(shù)據(jù)的組織形式(模式設(shè)
計(jì))。同樣,邏輯結(jié)構(gòu)設(shè)計(jì)也是建立在概念結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,為下一步數(shù)據(jù)的存儲(chǔ)設(shè)計(jì)(物理設(shè)計(jì))作準(zhǔn)備?!?/p>
本節(jié)內(nèi)容:E-R圖向關(guān)系模型的轉(zhuǎn)換EE-R圖向關(guān)系模型的轉(zhuǎn)換數(shù)據(jù)模型的優(yōu)化用戶模式的設(shè)計(jì)6.4邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)和步驟31邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)概念結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu),是從設(shè)計(jì)者的角度和方法來分析問題。概念模型設(shè)計(jì)其實(shí)是一個(gè)理解過程,主要是讓設(shè)計(jì)者能夠清楚的認(rèn)識(shí)系統(tǒng)的結(jié)構(gòu)。具體選用的模型應(yīng)該是規(guī)劃階段所確定的DBMS支持的模型,在現(xiàn)階段無疑應(yīng)該是關(guān)系模型。具體地講,邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是將E-R圖轉(zhuǎn)換為關(guān)系模式。隨后應(yīng)該進(jìn)行的工作是對(duì)關(guān)系模式的規(guī)范化和優(yōu)化,以及面向應(yīng)用程序設(shè)計(jì)的用戶子模式設(shè)計(jì)。邏輯結(jié)構(gòu)設(shè)計(jì)的步驟將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型或面向?qū)ο髷?shù)據(jù)模型將轉(zhuǎn)化來的數(shù)據(jù)模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)化
(3)對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。6.4邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)和步驟邏輯結(jié)構(gòu)設(shè)計(jì)過程示意圖:326.4.1
E-R圖向關(guān)系模型的轉(zhuǎn)換聯(lián)系的轉(zhuǎn)換一個(gè)1:1
聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。①轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式
關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼·轉(zhuǎn)換成如下關(guān)系模式:班級(jí)(班號(hào),系別,班主任,入學(xué)時(shí)間班長(zhǎng)(學(xué)號(hào),姓名,性別,年齡)班級(jí)-班長(zhǎng)(班號(hào),學(xué)號(hào),任期)注:嚴(yán)格地講,如果一個(gè)班組在不同時(shí)期有不同的班長(zhǎng),應(yīng)是1:n聯(lián)系,此處只為舉例。班級(jí)班級(jí)-班長(zhǎng)班長(zhǎng)111:1聯(lián)系任期346.4.2
E-R圖向關(guān)系模型的轉(zhuǎn)換聯(lián)系的轉(zhuǎn)換一個(gè)1:1
聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。①轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式②與某一端對(duì)應(yīng)的關(guān)系模式合并
合并后關(guān)系的屬性:加入另一關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變班級(jí)班級(jí)-班長(zhǎng)班長(zhǎng)111:1聯(lián)系任期·轉(zhuǎn)換成如下關(guān)系模式:班級(jí)(班號(hào),系別,班主任,入學(xué)時(shí)間,班長(zhǎng)學(xué)號(hào),班長(zhǎng)任期)班長(zhǎng)(學(xué)號(hào),姓名,性別,年齡) 或班級(jí)(班號(hào),系別,班主任,入學(xué)時(shí)間)班長(zhǎng)(學(xué)號(hào),姓名,性別,年齡,班級(jí),任期)356.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換聯(lián)系的轉(zhuǎn)換一個(gè)1:n
聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與
n端對(duì)應(yīng)的關(guān)系模式合并。①轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式
關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:n端實(shí)體的碼班級(jí)成員1n學(xué)生1:n聯(lián)系轉(zhuǎn)換成如下關(guān)系模式:班級(jí)(班號(hào),系別,班主任,入學(xué)時(shí)間)學(xué)生(學(xué)號(hào),姓名,性別,年齡)成員(學(xué)號(hào),班號(hào))366.4.1
E-R圖向關(guān)系模型的轉(zhuǎn)換聯(lián)系的轉(zhuǎn)換一個(gè)1:n
聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與
n端對(duì)應(yīng)的關(guān)系模式合并。①轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式②與n端對(duì)應(yīng)的關(guān)系模式合并
合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變班級(jí)成員學(xué)生137n1:n聯(lián)系·轉(zhuǎn)換成如下關(guān)系模式:班級(jí)(班號(hào),系別,班主任,入學(xué)時(shí)間)學(xué)生(學(xué)號(hào),姓名,性別,年齡,班號(hào)) 注:實(shí)際使用中通常采用這種方法以減少關(guān)系模式,因?yàn)槎嘁粋€(gè)關(guān)系模式就意味著查詢過程中要進(jìn)行連接運(yùn)算,而降低查詢的效率。6.4.1
E-R圖向關(guān)系模型的轉(zhuǎn)換聯(lián)系的轉(zhuǎn)換一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。
關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:各實(shí)體碼的組合課程選修學(xué)生m:n聯(lián)系mn成績(jī)轉(zhuǎn)換成如下關(guān)系模式:課程(課程號(hào),課程名,學(xué)分,先修課號(hào))學(xué)生(學(xué)號(hào),姓名,性別,年齡)選修(學(xué)號(hào),課程號(hào),成績(jī))386.4.3關(guān)系模式的優(yōu)化39現(xiàn)階段由概念模型到數(shù)據(jù)模型的過程通常就是將E-R圖轉(zhuǎn)換為關(guān)系模式,而經(jīng)過這一轉(zhuǎn)換過程之后得到的一組關(guān)系模式未必是最“好”的,還需要經(jīng)過進(jìn)一步的優(yōu)化。關(guān)系模式的優(yōu)化應(yīng)該從以下幾方面實(shí)施:關(guān)系模式規(guī)范化規(guī)范化的目的在于解決更新異常和數(shù)據(jù)冗余,應(yīng)該分解關(guān)系模式使其達(dá)到3NF或BCNF,對(duì)于存在MVD的關(guān)系模式應(yīng)達(dá)到4NF。對(duì)關(guān)系模式進(jìn)行必要的合并對(duì)具有關(guān)聯(lián)的關(guān)系模式進(jìn)行合并,通常這類關(guān)系模式會(huì)經(jīng)常被查詢而頻繁地進(jìn)行連接運(yùn)算而降低查詢的效率,合并后的關(guān)系模式可能會(huì)帶來冗余(存在部分依賴或傳遞依賴),但這樣做還是值得的。6.4.2
EE-R圖向關(guān)系模型的轉(zhuǎn)化·
嵌套的轉(zhuǎn)化·
繼承的轉(zhuǎn)化406.4.3關(guān)系模式的優(yōu)化41數(shù)據(jù)模型的優(yōu)化方法一般包含以下步驟:確定數(shù)據(jù)依賴。根據(jù)需求分析中數(shù)據(jù)項(xiàng)之間的依賴關(guān)系,分別寫出轉(zhuǎn)化后關(guān)系與關(guān)系之間的依賴及關(guān)系內(nèi)部屬性之間的數(shù)據(jù)依賴。對(duì)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理即消除冗余的聯(lián)系。按照關(guān)系數(shù)據(jù)庫基本理論對(duì)關(guān)系模型進(jìn)行分析,考察是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等對(duì)關(guān)系模式進(jìn)行規(guī)范化處理。對(duì)關(guān)系模式進(jìn)行必要的合并和分解,提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率。常用的分解方法是水平分解和垂直分解6.4.4用戶模式設(shè)計(jì)42用戶模式即外模式,是面向不同用戶的應(yīng)用程序所訪問的數(shù)據(jù)視圖。為什么要引入外模式?實(shí)現(xiàn)數(shù)據(jù)的邏輯獨(dú)立性使用更符合用戶習(xí)慣的別名由于在視圖集成階段消除了同一實(shí)體的命名差異,但并不符合用戶的使用習(xí)慣或約定成俗的稱謂,如負(fù)責(zé)學(xué)籍管理的用戶習(xí)慣于稱教師模式的職工號(hào)為教師編號(hào),而負(fù)責(zé)人事管理的用戶則習(xí)慣于稱為職工編號(hào),因此可以定義面向?qū)W籍管理的視圖,將職工號(hào)定義為別名“教師編號(hào)”。當(dāng)然,在企業(yè)進(jìn)行信息化的過程中應(yīng)當(dāng)積極推進(jìn)標(biāo)準(zhǔn)化,并不能一味地遷就用戶,而應(yīng)該向標(biāo)準(zhǔn)化靠攏。定義外模式可以實(shí)現(xiàn)數(shù)據(jù)的安全性(參照視圖優(yōu)點(diǎn)一節(jié))簡(jiǎn)化用戶對(duì)系統(tǒng)的使用如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖。6.4.4用戶模式設(shè)計(jì)設(shè)計(jì)主要考慮以下幾個(gè)方面盡量使用符合用戶習(xí)慣的命名針對(duì)不同級(jí)別的用戶定義不同的外模式,以滿足系統(tǒng)對(duì)安全性的要求簡(jiǎn)化用戶對(duì)系統(tǒng)的使用436.4.5邏輯結(jié)構(gòu)的生成和圖示44邏輯結(jié)構(gòu)設(shè)計(jì)總結(jié):邏輯結(jié)構(gòu)設(shè)計(jì)與擬使用的DBMS相關(guān);邏輯結(jié)構(gòu)設(shè)計(jì)首先應(yīng)該將概念模型轉(zhuǎn)換為指定DBMS所支持的數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu);對(duì)RDBMS而言,應(yīng)將E-R圖轉(zhuǎn)換為關(guān)系模式;對(duì)關(guān)系模式進(jìn)行規(guī)范化和優(yōu)化,以實(shí)現(xiàn)系統(tǒng)的正確性,提高系統(tǒng)的性能;與數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)同期進(jìn)行的是應(yīng)用系統(tǒng)的模塊設(shè)計(jì),應(yīng)考慮不同模塊所使用的數(shù)據(jù)的特點(diǎn),對(duì)關(guān)系模式進(jìn)行必要的分解,以提高各應(yīng)用模塊的執(zhí)行效率;進(jìn)行外模式設(shè)計(jì)也是為應(yīng)用系統(tǒng)各模塊而服務(wù)。6.5
數(shù)據(jù)庫的物理設(shè)計(jì)45數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的計(jì)算機(jī)系統(tǒng)。為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計(jì)。·
本節(jié)內(nèi)容:索引設(shè)計(jì)聚簇存取方法的選擇確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)物理結(jié)構(gòu)設(shè)計(jì)的評(píng)價(jià)6.5數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)46數(shù)據(jù)庫物理設(shè)計(jì)的任務(wù)選擇合適的存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)路徑,也就是設(shè)計(jì)數(shù)據(jù)庫的內(nèi)模式(物理模式)。設(shè)計(jì)目標(biāo)提高數(shù)據(jù)庫的性能,主要是對(duì)用戶應(yīng)用性能的滿足有效地利用存儲(chǔ)空間6.5.1索引設(shè)計(jì)47創(chuàng)建索引原則主碼和外碼上一般都應(yīng)創(chuàng)建索引,這有利于實(shí)施實(shí)體完整性和參照完整性。在檢索參照完整性約束時(shí),增刪主碼時(shí),需要檢查外碼,若建立了索引可以加快這種查找。唯一索引保證索引列中的使用數(shù)據(jù)是唯一的,不含有重復(fù)值。因此,唯一索引一般創(chuàng)建在關(guān)系的主碼上或候選碼上。也就是說,只可在強(qiáng)制實(shí)體完整性的列上創(chuàng)建唯一索引。復(fù)合索引指定多個(gè)列為關(guān)鍵字值。當(dāng)兩個(gè)或多個(gè)列最適合作為搜索關(guān)鍵字時(shí),則可以考慮創(chuàng)建復(fù)合索引。例如,在選課關(guān)系中,由學(xué)號(hào)和課程號(hào)組成的關(guān)鍵字上就適合創(chuàng)建復(fù)合索引。如果一個(gè)或多個(gè)列在連接操作中經(jīng)常出現(xiàn),則考慮在該列上創(chuàng)建索引在經(jīng)常出現(xiàn)查詢條件中的列上創(chuàng)建索引。6.5.2
聚簇存取方法的選擇486.5.3確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)49數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多條存取路徑才能滿足多用戶的多種應(yīng)用要求。確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)主要是指確定數(shù)據(jù)的存放位置和結(jié)構(gòu),包括關(guān)系的確定、索引的選擇、聚簇的使用、日志和備份的使用,還有系統(tǒng)配置的設(shè)定等6.5.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代寫課題申報(bào)書多少錢
- 成囊材料市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 企業(yè)生產(chǎn)線用工合同范本
- 中國傳統(tǒng)文化學(xué)習(xí)心得體會(huì)
- 廠家求購鋼材合同范本
- 臨床護(hù)理習(xí)題(附答案)
- 機(jī)械制造基礎(chǔ)模擬試題含答案
- 代理經(jīng)營承包協(xié)議合同范本
- 箱包維修合同范本
- 流體力學(xué)復(fù)習(xí)題(含答案)
- 算力中心建設(shè)的技術(shù)要求
- 2024煤礦安全規(guī)程解讀
- 德州環(huán)鋰新能源科技有限公司2萬噸年廢舊鋰電池回收項(xiàng)目環(huán)境影響報(bào)告書
- 2025年江蘇省中職《英語》學(xué)業(yè)水平考試核心考點(diǎn)試題庫500題(重點(diǎn))
- 延期實(shí)習(xí)申請(qǐng)書
- GB/T 1346-2024水泥標(biāo)準(zhǔn)稠度用水量、凝結(jié)時(shí)間與安定性檢驗(yàn)方法
- 2025年江蘇信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 易制毒化學(xué)品理論考試試題及答案
- 2024年煙臺(tái)汽車工程職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- 2024年江西旅游商貿(mào)職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- IIT臨床醫(yī)學(xué)項(xiàng)目管理
評(píng)論
0/150
提交評(píng)論