版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)系統(tǒng)概論
AnIntroductiontoDatabaseSystem第七章數(shù)據(jù)庫(kù)設(shè)計(jì)1/5/2023數(shù)據(jù)庫(kù)系統(tǒng)概論
AnIntroductiontoDat1第七章數(shù)據(jù)庫(kù)設(shè)計(jì)7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述7.2需求分析7.3概念結(jié)構(gòu)設(shè)計(jì)7.4邏輯結(jié)構(gòu)設(shè)計(jì)7.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)7.6數(shù)據(jù)庫(kù)實(shí)施7.7數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)7.8小結(jié)1/5/2023第七章數(shù)據(jù)庫(kù)設(shè)計(jì)7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述12/26/2027.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述7.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)7.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)7.1.3數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述7.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟1/5/20237.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述7.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)12/3數(shù)據(jù)庫(kù)設(shè)計(jì)概述什么是數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息需求和處理需求)在數(shù)據(jù)庫(kù)領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫(kù)的各類(lèi)系統(tǒng)統(tǒng)稱(chēng)為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)概述什么是數(shù)據(jù)庫(kù)設(shè)計(jì)12/26/202247.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ)把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái)提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息數(shù)據(jù)庫(kù)是信息系統(tǒng)的各個(gè)部分能否緊密地結(jié)合在一起、以及如何結(jié)合的關(guān)鍵所在數(shù)據(jù)庫(kù)設(shè)計(jì)是信息系統(tǒng)開(kāi)發(fā)和建設(shè)的重要組成部分1/5/20237.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ)15數(shù)據(jù)庫(kù)設(shè)計(jì)人員應(yīng)該具備的技術(shù)和知識(shí)數(shù)據(jù)庫(kù)的基本知識(shí)和數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù)計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)和程序設(shè)計(jì)的方法和技巧軟件工程的原理和方法具體應(yīng)用領(lǐng)域的知識(shí)1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)人員應(yīng)該具備的技術(shù)和知識(shí)數(shù)據(jù)庫(kù)的基本知識(shí)和數(shù)據(jù)庫(kù)設(shè)67.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫(kù)建設(shè)是硬件、軟件和干件的結(jié)合三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)技術(shù)與管理的界面稱(chēng)之為“干件”數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該與應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)庫(kù)框架或數(shù)據(jù)庫(kù)結(jié)構(gòu)行為(處理)設(shè)計(jì):設(shè)計(jì)應(yīng)用程序、事務(wù)處理等1/5/20237.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫(kù)建設(shè)是硬件、軟件和干件的7數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)(續(xù))現(xiàn)實(shí)世界概念模型設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)庫(kù)設(shè)計(jì)邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)建立數(shù)據(jù)庫(kù)數(shù)據(jù)分析功能分析功能模型功能說(shuō)明事務(wù)設(shè)計(jì)程序說(shuō)明應(yīng)用程序設(shè)計(jì)程序編碼調(diào)試結(jié)構(gòu)和行為分離的設(shè)計(jì)1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)(續(xù))現(xiàn)實(shí)世界概念模型設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)87.1.3數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述手工試湊法設(shè)計(jì)質(zhì)量與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保證數(shù)據(jù)庫(kù)運(yùn)行一段時(shí)間后常常又不同程度地發(fā)現(xiàn)各種問(wèn)題,增加了維護(hù)代價(jià)規(guī)范設(shè)計(jì)法(用軟件工程的思想方法):本質(zhì)上是手工設(shè)計(jì)方法,基本思想是過(guò)程迭代和逐步求精E-R圖、3NF、ODL(面向?qū)ο髷?shù)據(jù)庫(kù)設(shè)計(jì))計(jì)算機(jī)輔助設(shè)計(jì)ORACLEDesigner2000SYBASEPowerDesigner1/5/20237.1.3數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述手工試湊法12/26/2029數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述(續(xù))按照規(guī)范設(shè)計(jì)方法:六個(gè)階段1、需求分析階段2、概念結(jié)構(gòu)設(shè)計(jì)階段——定義概念模式3、邏輯結(jié)構(gòu)設(shè)計(jì)階段——定義模式和外模式4、數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段——定義內(nèi)模式5、數(shù)據(jù)庫(kù)實(shí)施階段6、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述(續(xù))按照規(guī)范設(shè)計(jì)方法:六個(gè)階段12/26107.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟一、數(shù)據(jù)庫(kù)設(shè)計(jì)的準(zhǔn)備工作——選定參加設(shè)計(jì)的人員1.
系統(tǒng)分析和數(shù)據(jù)庫(kù)設(shè)計(jì)人員數(shù)據(jù)庫(kù)設(shè)計(jì)的核心人員自始至終參與數(shù)據(jù)庫(kù)設(shè)計(jì)其水平?jīng)Q定了數(shù)據(jù)庫(kù)系統(tǒng)的質(zhì)量1/5/20237.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟一、數(shù)據(jù)庫(kù)設(shè)計(jì)的準(zhǔn)備工作—117.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟2.用戶在數(shù)據(jù)庫(kù)設(shè)計(jì)中也是舉足輕重的主要參加需求分析和數(shù)據(jù)庫(kù)的運(yùn)行維護(hù)用戶積極參與帶來(lái)的好處加速數(shù)據(jù)庫(kù)設(shè)計(jì)提高數(shù)據(jù)庫(kù)設(shè)計(jì)的質(zhì)量3.程序員在系統(tǒng)實(shí)施階段參與進(jìn)來(lái),負(fù)責(zé)編制程序4.數(shù)據(jù)庫(kù)管理員數(shù)據(jù)庫(kù)運(yùn)行管理和維護(hù)1/5/20237.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟2.用戶12/26/2012數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))二、數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(六個(gè)階段)1、需求分析階段準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理),是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步2、概念結(jié)構(gòu)設(shè)計(jì)階段——定義概念模式是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型3、邏輯結(jié)構(gòu)設(shè)計(jì)階段——定義模式和外模式將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))二、數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(六個(gè)階段)13數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))4、數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段——定義內(nèi)模式為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)5、數(shù)據(jù)庫(kù)實(shí)施階段運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言、工具及宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù)編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫(kù)并進(jìn)行試運(yùn)行1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))4、數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段——定義內(nèi)模14數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))6、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)。1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))6、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段12/2615P202圖7.2設(shè)計(jì)特點(diǎn)在設(shè)計(jì)過(guò)程中把對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)和對(duì)數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來(lái)將這兩個(gè)方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)1/5/2023P202圖7.2設(shè)計(jì)特點(diǎn)12/26/2022167.2需求分析需求分析就是分析用戶的需要與要求需求分析是設(shè)計(jì)數(shù)據(jù)庫(kù)的起點(diǎn)需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用
7.2.1需求分析的任務(wù)
7.2.2需求分析的方法
7.2.3數(shù)據(jù)字典1/5/20237.2需求分析需求分析就是分析用戶的需要與要求12/26/177.2.1需求分析的任務(wù)一、需求分析的任務(wù)二、需求分析的重點(diǎn)三、需求分析的難點(diǎn)1/5/20237.2.1需求分析的任務(wù)一、需求分析的任務(wù)12/26/218一、需求分析的任務(wù)
通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門(mén)、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)1/5/2023一、需求分析的任務(wù)通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、19二、需求分析的重點(diǎn)需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。信息要求用戶需要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì)由用戶的信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫(kù)中需要存儲(chǔ)哪些數(shù)據(jù)處理要求對(duì)處理功能的要求對(duì)處理的響應(yīng)時(shí)間的要求對(duì)處理方式的要求(批處理/聯(lián)機(jī)處理)新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。1/5/2023二、需求分析的重點(diǎn)需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)20三、需求分析的難點(diǎn)確定用戶最終需求的難點(diǎn)用戶缺少計(jì)算機(jī)知識(shí),開(kāi)始時(shí)無(wú)法確定計(jì)算機(jī)究竟能為自己做什么,不能做什么,因此無(wú)法一下子準(zhǔn)確地表達(dá)自己的需求,他們所提出的需求往往不斷地變化。設(shè)計(jì)人員缺少用戶的專(zhuān)業(yè)知識(shí),不易理解用戶的真正需求,甚至誤解用戶的需求。新的硬件、軟件技術(shù)的出現(xiàn)也會(huì)使用戶需求發(fā)生變化。解決方法設(shè)計(jì)人員必須采用有效的方法,與用戶不斷深入地進(jìn)行交流,才能逐步得以確定用戶的實(shí)際需求。1/5/2023三、需求分析的難點(diǎn)確定用戶最終需求的難點(diǎn)12/26/2022217.2.2需求分析的方法調(diào)查清楚用戶的實(shí)際需求并進(jìn)行初步分析常用調(diào)查方法進(jìn)一步分析與表達(dá)這些需求,與用戶達(dá)成共識(shí)1/5/20237.2.2需求分析的方法調(diào)查清楚用戶的實(shí)際需求并進(jìn)行初步22一、調(diào)查與初步分析用戶需求⑴調(diào)查組織機(jī)構(gòu)情況組織部門(mén)的組成情況各部門(mén)的職責(zé)等⑵調(diào)查各部門(mén)的業(yè)務(wù)活動(dòng)情況(調(diào)查重點(diǎn)之一)各個(gè)部門(mén)輸入和使用什么數(shù)據(jù)如何加工處理這些數(shù)據(jù)輸出什么信息輸出到什么部門(mén)輸出結(jié)果的格式是什么1/5/2023一、調(diào)查與初步分析用戶需求⑴調(diào)查組織機(jī)構(gòu)情況12/26/23調(diào)查與初步分析用戶需求(續(xù))⑶在熟悉業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求(調(diào)查重點(diǎn)之二)信息要求處理要求完全性與完整性要求⑷對(duì)前面調(diào)查的結(jié)果進(jìn)行初步分析確定新系統(tǒng)的邊界確定哪些功能由計(jì)算機(jī)完成或?qū)?lái)準(zhǔn)備讓計(jì)算機(jī)完成確定哪些活動(dòng)由人工完成由計(jì)算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。1/5/2023調(diào)查與初步分析用戶需求(續(xù))⑶在熟悉業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助24二、常用調(diào)查方法⑴
跟班作業(yè):通過(guò)親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動(dòng)的情況,能比較準(zhǔn)確地理解用戶的需求,但比較耗時(shí)⑵開(kāi)調(diào)查會(huì):通過(guò)與用戶座談來(lái)了解業(yè)務(wù)活動(dòng)情況及用戶需求⑶請(qǐng)專(zhuān)人介紹⑷詢問(wèn):對(duì)某些調(diào)查中的問(wèn)題,可以找專(zhuān)人詢問(wèn)⑸設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫(xiě)⑹查閱記錄:查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄。做需求調(diào)查時(shí),往往需要同時(shí)采用多種方法無(wú)論使用何種調(diào)查方法,都必須有用戶的積極參與和配合設(shè)計(jì)人員應(yīng)該和用戶取得共同的語(yǔ)言,幫助不熟悉計(jì)算機(jī)的用戶建立數(shù)據(jù)庫(kù)環(huán)境下的共同概念,并對(duì)設(shè)計(jì)工作的最后結(jié)果共同承擔(dān)責(zé)任1/5/2023二、常用調(diào)查方法⑴跟班作業(yè):通過(guò)親身參加業(yè)務(wù)工作了解業(yè)務(wù)活25三、進(jìn)一步分析和表達(dá)用戶需求分析和表達(dá)用戶需求的常用方法自頂向下的結(jié)構(gòu)化分析方法(StructuredAnalysis,簡(jiǎn)稱(chēng)SA方法)SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。1/5/2023三、進(jìn)一步分析和表達(dá)用戶需求分析和表達(dá)用戶需求的常用方法1226進(jìn)一步分析和表達(dá)用戶需(續(xù))1.首先把任何一個(gè)系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)信息要求數(shù)據(jù)來(lái)源處理數(shù)據(jù)輸出處理要求1/5/2023進(jìn)一步分析和表達(dá)用戶需(續(xù))1.首先把任何一個(gè)系統(tǒng)都抽象為:272.分解處理功能和數(shù)據(jù)(1)分解處理功能將處理功能的具體內(nèi)容分解為若干子功能,再將每個(gè)子功能繼續(xù)分解,直到把系統(tǒng)的工作過(guò)程表達(dá)清楚為止。(2)分解數(shù)據(jù)在處理功能逐步分解的同時(shí),其所用的數(shù)據(jù)也逐級(jí)分解,(3)表達(dá)方法形成若干層次的數(shù)據(jù)流圖,數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過(guò)程的關(guān)系處理過(guò)程:用判定表或判定樹(shù)來(lái)描述數(shù)據(jù):用數(shù)據(jù)字典來(lái)描述3.將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可1/5/20232.分解處理功能和數(shù)據(jù)12/26/2022287.2.3數(shù)據(jù)字典一、數(shù)據(jù)字典的用途數(shù)據(jù)字典是系統(tǒng)中各類(lèi)數(shù)據(jù)描述的集合數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果數(shù)據(jù)字典在數(shù)據(jù)庫(kù)設(shè)計(jì)中占有很重要的地位1/5/20237.2.3數(shù)據(jù)字典一、數(shù)據(jù)字典的用途12/26/202229二、數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)處理過(guò)程數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)字典通過(guò)對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來(lái)描述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。1/5/2023二、數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容12/26/202230⒈數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位對(duì)數(shù)據(jù)項(xiàng)的描述
數(shù)據(jù)項(xiàng)描述={數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說(shuō)明,別名,數(shù)據(jù)類(lèi)型,長(zhǎng)度,取值范圍,取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系}取值范圍、與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系定義了數(shù)據(jù)的完整性約束條件1/5/2023⒈數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位12/26/202231⒉數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。對(duì)數(shù)據(jù)結(jié)構(gòu)的描述
數(shù)據(jù)結(jié)構(gòu)描述={數(shù)據(jù)結(jié)構(gòu)名,含義說(shuō)明,組成:{數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)}}1/5/2023⒉數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。12/26/232⒊數(shù)據(jù)流
數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?duì)數(shù)據(jù)流的描述
數(shù)據(jù)流描述={數(shù)據(jù)流名,說(shuō)明,數(shù)據(jù)流來(lái)源,數(shù)據(jù)流去向,組成:{數(shù)據(jù)結(jié)構(gòu)},平均流量,高峰期流量}數(shù)據(jù)流來(lái)源是說(shuō)明該數(shù)據(jù)流來(lái)自哪個(gè)過(guò)程數(shù)據(jù)流去向是說(shuō)明該數(shù)據(jù)流將到哪個(gè)過(guò)程去平均流量是指在單位時(shí)間(每天、每周、每月等)里的傳輸次數(shù)高峰期流量則是指在高峰時(shí)期的數(shù)據(jù)流量1/5/2023⒊數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?2/26/33⒋數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來(lái)源和去向之一。對(duì)數(shù)據(jù)存儲(chǔ)的描述數(shù)據(jù)存儲(chǔ)描述={數(shù)據(jù)存儲(chǔ)名,說(shuō)明,編號(hào),流入的數(shù)據(jù)流,流出的數(shù)據(jù)流,組成:{數(shù)據(jù)結(jié)構(gòu)},數(shù)據(jù)量,存取頻度,存取方式}流入的數(shù)據(jù)流:指出數(shù)據(jù)來(lái)源流出的數(shù)據(jù)流:指出數(shù)據(jù)去向存取頻度:每次存取多少數(shù)據(jù),每天(或每小時(shí)、每周等)存取幾次等信息存取方法:批處理/聯(lián)機(jī)處理;檢索/更新;順序檢索/隨機(jī)檢索1/5/2023⒋數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的34⒌處理過(guò)程處理過(guò)程的具體處理邏輯一般用判定表或判定樹(shù)來(lái)描述。數(shù)據(jù)字典中只需要描述處理過(guò)程的說(shuō)明性信息處理過(guò)程說(shuō)明性信息的描述
處理過(guò)程描述={處理過(guò)程名,說(shuō)明,輸入:{數(shù)據(jù)流},輸出: {數(shù)據(jù)流},處理:{簡(jiǎn)要說(shuō)明}}簡(jiǎn)要說(shuō)明:主要說(shuō)明該處理過(guò)程的功能及處理要求功能:該處理過(guò)程用來(lái)做什么處理要求:處理頻度要求(如單位時(shí)間里處理多少事務(wù),多少數(shù)據(jù)量);響應(yīng)時(shí)間要求等處理要求是后面物理設(shè)計(jì)的輸入及性能評(píng)價(jià)的標(biāo)準(zhǔn)1/5/2023⒌處理過(guò)程處理過(guò)程的具體處理邏輯一般用判定表或判定樹(shù)來(lái)描述35處理過(guò)程(續(xù))例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。數(shù)據(jù)項(xiàng),以“學(xué)號(hào)”為例:數(shù)據(jù)項(xiàng):學(xué)號(hào)含義說(shuō)明:唯一標(biāo)識(shí)每個(gè)學(xué)生別名:學(xué)生編號(hào)類(lèi)型:字符型長(zhǎng)度:8取值范圍:00000000至99999999取值含義:前兩位標(biāo)別該學(xué)生所在年級(jí),后六位按順序編號(hào)1/5/2023處理過(guò)程(續(xù))例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。12/26/36處理過(guò)程(續(xù))數(shù)據(jù)結(jié)構(gòu)
以“學(xué)生”為例 “學(xué)生”是該系統(tǒng)中的一個(gè)核心數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu):學(xué)生含義說(shuō)明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu), 定義了一個(gè)學(xué)生的有關(guān)信息組成:學(xué)號(hào),姓名,性別,年齡,所在系, 年級(jí)
1/5/2023處理過(guò)程(續(xù))數(shù)據(jù)結(jié)構(gòu)以“學(xué)生”為例12/26/237處理過(guò)程(續(xù))數(shù)據(jù)流
“體檢結(jié)果”可如下描述:數(shù)據(jù)流:體檢結(jié)果說(shuō)明:學(xué)生參加體格檢查的最終結(jié)果數(shù)據(jù)流來(lái)源:體檢數(shù)據(jù)流去向:批準(zhǔn)組成:……平均流量:……高峰期流量:……1/5/2023處理過(guò)程(續(xù))數(shù)據(jù)流“體檢結(jié)果”可如下描述:12/26/38處理過(guò)程(續(xù))數(shù)據(jù)存儲(chǔ)
“學(xué)生登記表”可如下描述:數(shù)據(jù)存儲(chǔ):學(xué)生登記表說(shuō)明:記錄學(xué)生的基本情況流入數(shù)據(jù)流:……流出數(shù)據(jù)流:……組成:……數(shù)據(jù)量:每年3000張存取方式:隨機(jī)存取
1/5/2023處理過(guò)程(續(xù))數(shù)據(jù)存儲(chǔ)“學(xué)生登記表”可如下描述:12/239處理過(guò)程(續(xù))處理過(guò)程
“分配宿舍”可如下描述: 處理過(guò)程:分配宿舍說(shuō)明:為所有新生分配學(xué)生宿舍輸入:學(xué)生,宿舍,輸出:宿舍安排處理:在新生報(bào)到后,為所有新生分配學(xué)生宿舍。要求同一間宿舍只能安排同一性別的學(xué)生,同一個(gè)學(xué)生只能安排在一個(gè)宿舍中。每個(gè)學(xué)生的居住面積不小于3平方米。安排新生宿舍 ,其處理時(shí)間應(yīng)不超過(guò)15分鐘。1/5/2023處理過(guò)程(續(xù))處理過(guò)程“分配宿舍”可如下描述:12/26407.3概念結(jié)構(gòu)設(shè)計(jì)7.3.1概念結(jié)構(gòu)設(shè)計(jì)概述7.3.2概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟7.3.3數(shù)據(jù)抽象與局部視圖設(shè)計(jì)7.3.4視圖的集成1/5/20237.3概念結(jié)構(gòu)設(shè)計(jì)7.3.1概念結(jié)構(gòu)設(shè)計(jì)概述12/2417.3.1概念結(jié)構(gòu)什么是概念結(jié)構(gòu)設(shè)計(jì)需求分析階段描述的用戶應(yīng)用需求是現(xiàn)實(shí)世界的具體需求將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過(guò)程就是概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于機(jī)器、更抽象,從而更加穩(wěn)定。概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵1/5/20237.3.1概念結(jié)構(gòu)什么是概念結(jié)構(gòu)設(shè)計(jì)12/26/202242概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求。是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見(jiàn),用戶的積極參與是數(shù)據(jù)庫(kù)的設(shè)計(jì)成功的關(guān)鍵。易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和擴(kuò)充。易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的工具:E-R模型1/5/2023概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物437.3.2概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟設(shè)計(jì)概念結(jié)構(gòu)的四類(lèi)方法自頂向下首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化自底向上首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來(lái),得到全局概念結(jié)構(gòu)逐步擴(kuò)張首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)混合策略將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。1/5/20237.3.2概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟設(shè)計(jì)概念結(jié)構(gòu)的四類(lèi)方法44概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)) 自頂向下策略1/5/2023概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)) 自頂向下策略45概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))自底向上策略1/5/2023概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))自底向上策略12/26/2046概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))
逐步擴(kuò)張1/5/2023概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))逐步擴(kuò)張12/26/202247概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))常用策略(P211圖7.8)自頂向下地進(jìn)行需求分析自底向上地設(shè)計(jì)概念結(jié)構(gòu)自底向上設(shè)計(jì)概念結(jié)構(gòu)的步驟(P211圖7.9)第1步:抽象數(shù)據(jù)并設(shè)計(jì)局部視圖第2步:集成局部視圖,得到全局概念結(jié)構(gòu)1/5/2023概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))常用策略(P211圖7.8)48圖7.81/5/2023圖7.812/26/202249圖7.91/5/2023圖7.912/26/2022507.3.3數(shù)據(jù)抽象與局部視圖設(shè)計(jì)一、數(shù)據(jù)抽象概念結(jié)構(gòu)是對(duì)現(xiàn)實(shí)世界的一種抽象從實(shí)際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié)把這些特性用各種概念精確地加以描述這些概念組成了某種模型1/5/20237.3.3數(shù)據(jù)抽象與局部視圖設(shè)計(jì)一、數(shù)據(jù)抽象12/26/51三種常用抽象1.分類(lèi)(Classification)定義某一類(lèi)概念作為現(xiàn)實(shí)世界中一組對(duì)象的類(lèi)型這些對(duì)象具有某些共同的特性和行為它抽象了對(duì)象值和型之間的“ismemberof”的語(yǔ)義在E-R模型中,實(shí)體型就是這種抽象例:P212圖7.102.聚集(Aggregation)定義某一類(lèi)型的組成成分它抽象了對(duì)象內(nèi)部類(lèi)型和成分之間“ispartof”的語(yǔ)義在E-R模型中若干屬性的聚集組成了實(shí)體型,就是這種抽象例:P212圖7.11,圖7.121/5/2023三種常用抽象1.分類(lèi)(Classification)12/52三種常用抽象(續(xù))3.概括(Generalization)定義類(lèi)型之間的一種子集聯(lián)系它抽象了類(lèi)型之間的“issubsetof”的語(yǔ)義概括有一個(gè)很重要的性質(zhì):繼承性。子類(lèi)繼承超類(lèi)上定義的所有抽象。并且字類(lèi)可以增加自己的某些特殊屬性。1/5/2023三種常用抽象(續(xù))3.概括(Generalization)53數(shù)據(jù)抽象的用途對(duì)需求分析階段收集到的數(shù)據(jù)進(jìn)行分類(lèi)、組織(聚集),從而形成:實(shí)體實(shí)體的屬性,標(biāo)識(shí)實(shí)體的碼確定實(shí)體之間的聯(lián)系類(lèi)型(1:1,1:n,m:n)1/5/2023數(shù)據(jù)抽象的用途對(duì)需求分析階段收集到的數(shù)據(jù)進(jìn)行分類(lèi)、組織(聚集54二、局部視圖設(shè)計(jì)設(shè)計(jì)分E-R圖的步驟:1、選擇局部應(yīng)用2、逐一設(shè)計(jì)分E-R圖1/5/2023二、局部視圖設(shè)計(jì)設(shè)計(jì)分E-R圖的步驟:12/26/202255⒈選擇局部應(yīng)用需求分析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個(gè)系統(tǒng)。設(shè)計(jì)分E-R圖首先需要根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個(gè)適當(dāng)層次的數(shù)據(jù)流圖,讓這組圖中每一部分對(duì)應(yīng)一個(gè)局部應(yīng)用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點(diǎn),設(shè)計(jì)分E-R圖。例:由于學(xué)籍管理、課程管理等都不太復(fù)雜,因此可以從它們?nèi)胧衷O(shè)計(jì)學(xué)生管理子系統(tǒng)的分E-R圖。如果局部應(yīng)用比較復(fù)雜,則可以從更下層的數(shù)據(jù)流圖入手。1/5/2023⒈選擇局部應(yīng)用需求分析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述56⒉逐一設(shè)計(jì)分E-R圖任務(wù):標(biāo)定局部應(yīng)用中的實(shí)體、屬性、碼,實(shí)體間的聯(lián)系將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來(lái),參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識(shí)實(shí)體的碼,確定實(shí)體之間的聯(lián)系及其類(lèi)型(1:1,1:n,m:n)如何抽象實(shí)體和屬性實(shí)體:現(xiàn)實(shí)世界中一組具有某些共同特性和行為的對(duì)象就可以抽象為一個(gè)實(shí)體。對(duì)象和實(shí)體之間是“ismemberof”的關(guān)系。例:學(xué)校環(huán)境中,可把張三、李四等對(duì)象抽象為學(xué)生實(shí)體。1/5/2023⒉逐一設(shè)計(jì)分E-R圖任務(wù):標(biāo)定局部應(yīng)用中的實(shí)體、屬性、碼,57逐一設(shè)計(jì)分E-R圖(續(xù))屬性:對(duì)象類(lèi)型的組成成分可以抽象為實(shí)體的屬性。組成成分與對(duì)象類(lèi)型之間是“ispartof”的關(guān)系。 例:學(xué)號(hào)、姓名、專(zhuān)業(yè)、年級(jí)等可以抽象為學(xué)生實(shí)體的屬性。其中學(xué)號(hào)為標(biāo)識(shí)學(xué)生實(shí)體的碼。如何區(qū)分實(shí)體和屬性實(shí)體與屬性是相對(duì)而言的。同一事物,在一種應(yīng)用環(huán)境中作為“屬性”,在另一種應(yīng)用環(huán)境中可能作為“實(shí)體”。例:學(xué)校中的系,在某種應(yīng)用環(huán)境中,它只是作為“學(xué)生”實(shí)體的一個(gè)屬性,表明一個(gè)學(xué)生屬于哪個(gè)系;而在另一種環(huán)境中,由于需要考慮一個(gè)系的系主任、教師人數(shù)、學(xué)生人數(shù)、辦公地點(diǎn)等,這時(shí)它就需要作為實(shí)體了。1/5/2023逐一設(shè)計(jì)分E-R圖(續(xù))屬性:對(duì)象類(lèi)型的組成成分可以抽象為實(shí)58逐一設(shè)計(jì)分E-R圖(續(xù))一般原則屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項(xiàng),不能再由另一些屬性組成。屬性不能與其他實(shí)體具有聯(lián)系。聯(lián)系只發(fā)生在實(shí)體之間。符合上述兩條特性的事物一般作為屬性對(duì)待。為了簡(jiǎn)化E-R圖的處置,現(xiàn)實(shí)世界中的事物凡能夠作為屬性對(duì)待的,應(yīng)盡量作為屬性。舉例:教程P214圖7-15例2:職稱(chēng)通常作為教職工實(shí)體的屬性,但不同的職稱(chēng)有不同的工資、福利和住房補(bǔ)貼標(biāo)準(zhǔn),則把職稱(chēng)作為實(shí)體來(lái)處理會(huì)更合適些。1/5/2023逐一設(shè)計(jì)分E-R圖(續(xù))一般原則12/26/202259逐一設(shè)計(jì)分E-R圖(續(xù))舉例例1:“學(xué)生”由學(xué)號(hào)、姓名等屬性進(jìn)一步描述,根據(jù)準(zhǔn)則1,“學(xué)生”只能作為實(shí)體,不能作為屬性。例2:職稱(chēng)通常作為教師實(shí)體的屬性,但在涉及住房分配時(shí),由于分房與職稱(chēng)有關(guān),也就是說(shuō)職稱(chēng)與住房實(shí)體之間有聯(lián)系,根據(jù)準(zhǔn)則2,這時(shí)把職稱(chēng)作為實(shí)體來(lái)處理會(huì)更合適(教程P214圖7-15)1/5/2023逐一設(shè)計(jì)分E-R圖(續(xù))舉例12/26/2022607.3.4視圖的集成各個(gè)局部視圖即分E-R圖建立好后,還需要對(duì)它們進(jìn)行合并,集成為一個(gè)整體的數(shù)據(jù)概念結(jié)構(gòu),即總E-R圖集成局部E-R圖的步驟: 1.合并 2.修改與重構(gòu)1/5/20237.3.4視圖的集成各個(gè)局部視圖即分E-R圖建立好后,還61視圖的集成(續(xù))1/5/2023視圖的集成(續(xù))12/26/202262一、合并分E-R圖,生成初步E-R圖各分E-R圖存在沖突各個(gè)局部應(yīng)用所面向的問(wèn)題不同由不同的設(shè)計(jì)人員進(jìn)行設(shè)計(jì) 各個(gè)分E-R圖之間必定會(huì)存在許多不一致的地方合并分E-R圖的主要工作與關(guān)鍵所在:合理消除各分E-R圖的沖突沖突的種類(lèi)屬性沖突命名沖突結(jié)構(gòu)沖突1/5/2023一、合并分E-R圖,生成初步E-R圖各分E-R圖存在沖突1263⒈屬性沖突(兩類(lèi))屬性域沖突:屬性值的類(lèi)型、取值范圍或取值集合不同。 例1、由于學(xué)號(hào)是由數(shù)字串組成,因此某些部門(mén)(即局部應(yīng)用)將學(xué)號(hào)定義為整數(shù)形式,而由于學(xué)號(hào)不用參與運(yùn)算,因此另一些部門(mén)(即局部應(yīng)用)將學(xué)號(hào)定義為字符型形式。 例2、某些部門(mén)(即局部應(yīng)用)以出生日期形式表示學(xué)生的年齡,而另一些部門(mén)(即局部應(yīng)用)用整數(shù)形式表示學(xué)生的年齡。屬性取值單位沖突 例:學(xué)生的身高,有的以米為單位,有的以厘米為單位。屬性沖突的解決方法通常用討論、協(xié)商等行政手段加以解決1/5/2023⒈屬性沖突(兩類(lèi))屬性域沖突:屬性值的類(lèi)型、取值范圍或取值64⒉命名沖突(兩類(lèi))同名異義:不同意義的對(duì)象在不同的局部應(yīng)用中具有相同的名字。例:局部應(yīng)用A中將教室稱(chēng)為房間局部應(yīng)用B中將學(xué)生宿舍稱(chēng)為房間異名同義(一義多名):同一意義的對(duì)象在不同的局部應(yīng)用中具有不同的名字例:有的部門(mén)把教科書(shū)稱(chēng)為課本有的部門(mén)則把教科書(shū)稱(chēng)為教材命名沖突可能發(fā)生在屬性級(jí)、實(shí)體級(jí)、聯(lián)系級(jí)上。其中屬性的命名沖突更為常見(jiàn)。命名沖突的解決方法:通過(guò)討論、協(xié)商等行政手段加以解決1/5/2023⒉命名沖突(兩類(lèi))同名異義:不同意義的對(duì)象在不同的局部應(yīng)用65⒊結(jié)構(gòu)沖突(三類(lèi))同一對(duì)象在不同應(yīng)用中具有不同的抽象例,“課程”在某一局部應(yīng)用中被當(dāng)作實(shí)體,在另一局部應(yīng)用中被當(dāng)作屬性解決方法:通常是把屬性變換為實(shí)體或把實(shí)體變換為屬性,使同一對(duì)象具有相同的抽象。變換時(shí)要遵循兩個(gè)準(zhǔn)則。同一實(shí)體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。產(chǎn)生原因:不同的局部應(yīng)用關(guān)心的是該實(shí)體的不同側(cè)面。解決方法:使該實(shí)體的屬性取各分E-R圖中屬性的并集,再適當(dāng)設(shè)計(jì)屬性的次序。1/5/2023⒊結(jié)構(gòu)沖突(三類(lèi))同一對(duì)象在不同應(yīng)用中具有不同的抽象12/66⒊結(jié)構(gòu)沖突(三類(lèi))實(shí)體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類(lèi)型例1,實(shí)體E1與E2在局部應(yīng)用A中是m:n聯(lián)系,而在局部應(yīng)用B中是1:n聯(lián)系例2,在局部應(yīng)用X中E1與E2發(fā)生聯(lián)系,而在局部應(yīng)用Y中E1、E2、E3三者之間有聯(lián)系。解決方法:根據(jù)應(yīng)用語(yǔ)義對(duì)實(shí)體聯(lián)系的類(lèi)型進(jìn)行綜合或調(diào)整1/5/2023⒊結(jié)構(gòu)沖突(三類(lèi))實(shí)體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的67結(jié)構(gòu)沖突(例)學(xué)生學(xué)號(hào)姓名性別平均成績(jī)(a)在局部應(yīng)用A中學(xué)生學(xué)號(hào)姓名出生日期年級(jí)(b)在局部應(yīng)用B中所在系學(xué)生學(xué)號(hào)姓名
政治面貌
(c)在局部應(yīng)用C中1/5/2023結(jié)構(gòu)沖突(例)學(xué)生學(xué)號(hào)姓名性別平均成績(jī)(a)在局部應(yīng)用A中68結(jié)構(gòu)沖突(例)學(xué)號(hào)學(xué)生政治面貌出生日期年級(jí)(d)合并后所在系平均成績(jī)姓名性別1/5/2023結(jié)構(gòu)沖突(例)學(xué)號(hào)學(xué)生政治出生年級(jí)(d)合并后所在系平69二、修改與重構(gòu)基本任務(wù)消除不必要的冗余,設(shè)計(jì)生成基本E-R圖合并初步E-R圖分E-R圖可能存在冗余的數(shù)據(jù)和冗余的實(shí)體間聯(lián)系基本E-R圖消除不必要的冗余1/5/2023二、修改與重構(gòu)基本任務(wù)合并初步E-R圖分E-R圖可能存在冗余701.冗余冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫(kù)的完整性,給數(shù)據(jù)庫(kù)維護(hù)增加困難并不是所有的冗余數(shù)據(jù)與冗余聯(lián)系都必須加以消除,有時(shí)為了提高某些應(yīng)用的效率,不得不以冗余信息作為代價(jià)。設(shè)計(jì)數(shù)據(jù)庫(kù)概念結(jié)構(gòu)時(shí),哪些冗余信息必須消除,哪些冗余信息允許存在,需要根據(jù)用戶的整體需求來(lái)確定消除不必要的冗余后的初步E-R圖稱(chēng)為基本E-R圖1/5/20231.冗余冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是指712.消除冗余的方法分析方法以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù),根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間邏輯關(guān)系的說(shuō)明來(lái)消除冗余。 例,教師工資單中包括該教師的基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)以及實(shí)發(fā)工資。 由于實(shí)發(fā)工資可以由前面各項(xiàng)推算出來(lái),因此可以去掉,在需要查詢實(shí)發(fā)工資時(shí)根據(jù)基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)數(shù)據(jù)臨時(shí)生成。如果是為了提高效率,人為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說(shuō)明作為完整性約束條件。一種更好的方法是把冗余數(shù)據(jù)定義在視圖中規(guī)范化理論函數(shù)依賴的概念提供了消除冗余聯(lián)系的形式化工具。1/5/20232.消除冗余的方法分析方法12/26/2022727.4邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ)為了能夠用某一DBMS實(shí)現(xiàn)用戶需求,必須將概念結(jié)構(gòu)轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。邏輯結(jié)構(gòu)設(shè)計(jì)的步驟將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型將轉(zhuǎn)化來(lái)的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化1/5/20237.4邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)12/26/202273
邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下的據(jù)模型
優(yōu)化模型概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)基本E-R圖轉(zhuǎn)換規(guī)則特定DBMS的特點(diǎn)與限制優(yōu)化方法如規(guī)范化理論邏輯模型1/5/2023邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下的據(jù)747.4邏輯結(jié)構(gòu)設(shè)計(jì)7.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換7.4.2向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換7.4.3數(shù)據(jù)模型的優(yōu)化7.4.4設(shè)計(jì)用戶子模式1/5/20237.4邏輯結(jié)構(gòu)設(shè)計(jì)7.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換757.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換轉(zhuǎn)換內(nèi)容E-R圖由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。轉(zhuǎn)換原則⒈一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式關(guān)系的屬性:實(shí)體型的屬性關(guān)系的碼:實(shí)體型的碼1/5/20237.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換轉(zhuǎn)換內(nèi)容12/26/276
學(xué)生學(xué)號(hào)出生日期年級(jí)所在系平均成績(jī)姓名例:學(xué)生實(shí)體轉(zhuǎn)換為如下關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),平均成績(jī))1/5/2023學(xué)生學(xué)號(hào)出生年級(jí)所在系平均姓名例:學(xué)生實(shí)體轉(zhuǎn)換為如下關(guān)77E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒉一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:各實(shí)體碼的組合 例,“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號(hào)與課程號(hào)為關(guān)系的組合碼:選修(學(xué)號(hào),課程號(hào),成績(jī))學(xué)生課程選修nm1/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒉一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)78E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒊一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:n端實(shí)體的碼1/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒊一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一79E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))2)與n端對(duì)應(yīng)的關(guān)系模式合并合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變可以減少系統(tǒng)中的關(guān)系個(gè)數(shù),一般情況下更傾向于采用這種方法1/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))2)與n端對(duì)應(yīng)的關(guān)系模式合并80E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例,班級(jí)和學(xué)生的關(guān)系:“組成”聯(lián)系為1:n聯(lián)系。 將其轉(zhuǎn)換為關(guān)系模式的兩種方法:1)使其成為一個(gè)獨(dú)立的關(guān)系模式:組成(學(xué)號(hào),班級(jí)號(hào))2)將其學(xué)生關(guān)系模式合并: 學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī))學(xué)生班級(jí)組成n11/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例,班級(jí)和學(xué)生的關(guān)系:“組成”81E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒋一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼2)與某一端對(duì)應(yīng)的關(guān)系模式合并合并后關(guān)系的屬性:加入對(duì)應(yīng)關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變可以減少系統(tǒng)中的關(guān)系個(gè)數(shù),一般情況下更傾向于采用這種方法1/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒋一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一82E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例,“管理”聯(lián)系可有三種轉(zhuǎn)換方法:(1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式: 管理(職工號(hào),班級(jí)號(hào))或 管理(職工號(hào),班級(jí)號(hào))(2)“管理”聯(lián)系與班級(jí)關(guān)系模式合并,則只需在班級(jí)關(guān)系中加入教師關(guān)系的碼,即職工號(hào): 班級(jí)(班級(jí)號(hào),學(xué)生人數(shù),職工號(hào))(3)“管理”聯(lián)系與教師關(guān)系模式合并,則只需在教師關(guān)系中加入班級(jí)關(guān)系的碼,即班級(jí)號(hào): 教師(職工號(hào),姓名,性別,職稱(chēng),班級(jí)號(hào))教師班級(jí)管理111/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例,“管理”聯(lián)系可有三種轉(zhuǎn)換方83E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒌三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:各實(shí)體碼的組合 例,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號(hào)、職工號(hào)和書(shū)號(hào)為關(guān)系的組合碼:講授(課程號(hào),職工號(hào),書(shū)號(hào))教師課程講授nm教科書(shū)p1/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒌三個(gè)或三個(gè)以上實(shí)體間的一個(gè)84E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒍同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。 例,教師實(shí)體集內(nèi)部存在領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的1:n自聯(lián)系,我們可以將該聯(lián)系與教師實(shí)體合并,這時(shí)主碼職工號(hào)將多次出現(xiàn),但作用不同,可用不同的屬性名加以區(qū)分: 教師(職工號(hào),姓名,性別,職稱(chēng),系主任工號(hào))1/5/2023E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒍同一實(shí)體集的實(shí)體間的聯(lián)系,857.4.2向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換一般的數(shù)據(jù)模型還需要向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換。轉(zhuǎn)換的主要依據(jù)是所選用的DBMS的功能及限制。沒(méi)有通用規(guī)則。對(duì)于關(guān)系模型來(lái)說(shuō),這種轉(zhuǎn)換通常都比較簡(jiǎn)單。1/5/20237.4.2向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換一般的數(shù)據(jù)模型867.4.3數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果不是唯一的。得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo)。優(yōu)化數(shù)據(jù)模型的方法⒈確定數(shù)據(jù)依賴按需求分析階段所得到的語(yǔ)義,分別寫(xiě)出每個(gè)關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴。1/5/20237.4.3數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果不是唯一的。87數(shù)據(jù)模型的優(yōu)化(續(xù))例,課程關(guān)系模式內(nèi)部存在下列數(shù)據(jù)依賴:課程號(hào)→課程名課程號(hào)→學(xué)分課程號(hào)→教室號(hào)選修關(guān)系模式中存在下列數(shù)據(jù)依賴:(學(xué)號(hào),課程號(hào))→成績(jī)學(xué)生關(guān)系模式的學(xué)號(hào)與選修關(guān)系模式的學(xué)號(hào)之間存在數(shù)據(jù)依賴:學(xué)生.學(xué)號(hào)→選修.學(xué)號(hào)1/5/2023數(shù)據(jù)模型的優(yōu)化(續(xù))例,課程關(guān)系模式內(nèi)部存在下列數(shù)據(jù)依賴:188數(shù)據(jù)模型的優(yōu)化(續(xù))⒉對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。⒊按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。
例如經(jīng)過(guò)分析可知,課程關(guān)系模式屬于BCNF。⒋按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解(是否分解成高一級(jí)范式)。1/5/2023數(shù)據(jù)模型的優(yōu)化(續(xù))⒉對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行89數(shù)據(jù)模型的優(yōu)化(續(xù))⒌按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,對(duì)關(guān)系模式進(jìn)行必要的分解或合并,以提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率常用的分解方法水平分解:把(基本)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率垂直分解:把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式1/5/2023數(shù)據(jù)模型的優(yōu)化(續(xù))⒌按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)90數(shù)據(jù)模型的優(yōu)化(續(xù))水平分解的適用范圍1.滿足“80/20原則”的應(yīng)用80/20原則:一個(gè)大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一部分,約20%把經(jīng)常使用的數(shù)據(jù)分解出來(lái),形成一個(gè)子關(guān)系,可以減少查詢的數(shù)據(jù)量。2.并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù)如果關(guān)系R上具有n個(gè)事務(wù),而且多數(shù)事務(wù)存取的數(shù)據(jù)不相交,則R可分解為少于或等于n個(gè)子關(guān)系,使每個(gè)事務(wù)存取的數(shù)據(jù)對(duì)應(yīng)一個(gè)關(guān)系。1/5/2023數(shù)據(jù)模型的優(yōu)化(續(xù))水平分解的適用范圍12/26/202291數(shù)據(jù)模型的優(yōu)化(續(xù))垂直分解的原則:經(jīng)常在一起使用的屬性從R中分解出來(lái)形成一個(gè)子關(guān)系模式。垂直分解的優(yōu)點(diǎn):可以提高某些事務(wù)的效率垂直分解的缺點(diǎn):可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。1/5/2023數(shù)據(jù)模型的優(yōu)化(續(xù))垂直分解的原則:經(jīng)常在一起使用的屬性從R927.4.4設(shè)計(jì)用戶子模式定義數(shù)據(jù)庫(kù)模式主要是從系統(tǒng)的時(shí)間效率、空間效率、易維護(hù)等角度出發(fā)。定義用戶子模式時(shí)應(yīng)該更注重考慮用戶的習(xí)慣與方便。包括三個(gè)方面:(1)使用更符合用戶習(xí)慣的別名合并各分E-R圖曾做了消除命名沖突的工作,以使數(shù)據(jù)庫(kù)系統(tǒng)中同一關(guān)系和屬性具有唯一的名字。這在設(shè)計(jì)數(shù)據(jù)庫(kù)整體結(jié)構(gòu)時(shí)是非常必要的。1/5/20237.4.4設(shè)計(jì)用戶子模式定義數(shù)據(jù)庫(kù)模式主要是從系統(tǒng)的時(shí)間937.4.4設(shè)計(jì)用戶子模式但對(duì)于某些局部應(yīng)用,由于改用了不符合用戶習(xí)慣的屬性名,會(huì)使他們感到不方便,因此在設(shè)計(jì)用戶子模式時(shí)可重新定義某些屬性名,使其與用戶習(xí)慣一致。當(dāng)然,為了應(yīng)用的規(guī)范化,我們也不應(yīng)該一味地遷就用戶。例:負(fù)責(zé)學(xué)籍管理的用戶習(xí)慣于稱(chēng)教師模式的職工號(hào)為教師編號(hào)。因此可以定義視圖,在視圖中職工號(hào)重定義為教師編號(hào)。1/5/20237.4.4設(shè)計(jì)用戶子模式但對(duì)于某些局部應(yīng)用,由于改用了不94設(shè)計(jì)用戶子模式(續(xù))
(2)針對(duì)不同級(jí)別的用戶定義不同的外模式,以滿足系統(tǒng)對(duì)安全性的要求。例:教師關(guān)系模式中包括職工號(hào)、姓名、性別、出生日期、婚姻狀況、學(xué)歷、學(xué)位、政治面貌、職稱(chēng)、職務(wù)、工資、工齡、教學(xué)效果等屬性。學(xué)籍管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、職稱(chēng)數(shù)據(jù);課程管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、學(xué)歷、學(xué)位、職稱(chēng)、教學(xué)效果數(shù)據(jù);教師管理應(yīng)用則可以查詢教師的全部數(shù)據(jù)。1/5/2023設(shè)計(jì)用戶子模式(續(xù))(2)針對(duì)不同級(jí)別的用戶定義不同的外95設(shè)計(jì)用戶子模式(續(xù))定義兩個(gè)外模式:教師_學(xué)籍管理(職工號(hào),姓名,性別,職稱(chēng))教師_課程管理(工號(hào),姓名,性別,學(xué)歷,學(xué)位,職稱(chēng),教學(xué)效果)授權(quán)學(xué)籍管理應(yīng)用只能訪問(wèn)教師_學(xué)籍管理視圖授權(quán)課程管理應(yīng)用只能訪問(wèn)教師_課程管理視圖授權(quán)教師管理應(yīng)用能訪問(wèn)教師表這樣就可以防止用戶非法訪問(wèn)本來(lái)不允許他們查詢的數(shù)據(jù),保證了系統(tǒng)的安全性。1/5/2023設(shè)計(jì)用戶子模式(續(xù))定義兩個(gè)外模式:12/26/202296設(shè)計(jì)用戶子模式(續(xù))(3)簡(jiǎn)化用戶對(duì)系統(tǒng)的使用如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖。思考題
1、如何將E-R圖轉(zhuǎn)化成關(guān)系模型? 2、將教材P19的圖1-14(工廠物資管理E-R圖)轉(zhuǎn)化為關(guān)系模型。1/5/2023設(shè)計(jì)用戶子模式(續(xù))(3)簡(jiǎn)化用戶對(duì)系統(tǒng)的使用12/26/97
數(shù)據(jù)庫(kù)物理設(shè)計(jì)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)評(píng)價(jià)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)施物理模型邏輯模型7.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)1/5/2023數(shù)據(jù)庫(kù)物理設(shè)計(jì)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)評(píng)價(jià)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)邏輯98物理設(shè)計(jì)的主要內(nèi)容包含:為關(guān)系模式選擇存取方法(建立存取路徑)設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)文件的物理存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)的存放位置和存貯結(jié)構(gòu)根據(jù)不同DBMS確定系統(tǒng)的配置,對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià)7.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)(續(xù))1/5/2023物理設(shè)計(jì)的主要內(nèi)容包含:7.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)(續(xù))12997.5.1存取方法DBMS常用存取方法:索引方法:決定那些屬性要建立索引(目前主要是B+樹(shù)索引方法)聚簇方法:存放在連續(xù)的物理塊HASH方法:通過(guò)計(jì)算找到實(shí)際的存放位置1/5/20237.5.1存取方法DBMS常用存取方法:12/26/202100一、索引存取方法的選擇選擇索引存取方法的一般規(guī)則如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引)如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引關(guān)系上定義的索引數(shù)過(guò)多會(huì)帶來(lái)較多的額外開(kāi)銷(xiāo)維護(hù)索引的開(kāi)銷(xiāo)查找索引的開(kāi)銷(xiāo)1/5/2023一、索引存取方法的選擇選擇索引存取方法的一般規(guī)則12/26/101二、聚簇存取方法的選擇什么是聚簇為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱(chēng)為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱(chēng)為聚簇。聚簇存放與聚簇索引的區(qū)別建立聚簇索引后,基表中數(shù)據(jù)也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項(xiàng)順序與表中元組的物理順序一致。1/5/2023二、聚簇存取方法的選擇什么是聚簇12/26/2022102建立聚簇索引(復(fù)習(xí))例:CREATECLUSTERINDEXStusname ONStudent(Sname);在Student表的Sname(姓名)列上建立一個(gè)聚簇索引,而且Student表中的記錄將按照Sname值的升序存放在一個(gè)基本表上最多只能建立一個(gè)聚簇索引聚簇索引的適用范圍很少對(duì)基表進(jìn)行增刪操作很少對(duì)其中的變長(zhǎng)列進(jìn)行修改操作1/5/2023建立聚簇索引(復(fù)習(xí))例:CREATECLUSTERIN103聚簇的用途1.
大大提高按聚簇屬性進(jìn)行查詢的效率例:假設(shè)學(xué)生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的所有學(xué)生名單。信息系的500名學(xué)生分布在500個(gè)不同的物理塊上時(shí),至少要執(zhí)行500次I/O操作。如果將同一系的學(xué)生元組集中存放,則每讀一個(gè)物理塊可得到多個(gè)滿足查詢條件的元組,從而顯著地減少了訪問(wèn)磁盤(pán)的次數(shù)。2.節(jié)省存儲(chǔ)空間聚簇以后,聚簇碼相同的元組集中在一起,因而聚簇碼值不必在每個(gè)元組中重復(fù)存儲(chǔ),只要在一組中存一次就行了1/5/2023聚簇的用途1.大大提高按聚簇屬性進(jìn)行查詢的效率12/26/104選擇聚簇存取方法設(shè)計(jì)聚簇碼的一般規(guī)則對(duì)經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立組合聚簇碼;如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個(gè)關(guān)系可建立聚簇碼;如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)率很高,則此單個(gè)關(guān)系可建立聚簇碼。1/5/2023選擇聚簇存取方法設(shè)計(jì)聚簇碼的一般規(guī)則12/26/2022105三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則關(guān)系的屬性主要出現(xiàn)在等值連接條件中,或主要出現(xiàn)在相等比較選擇條件中,而且滿足下列兩個(gè)條件之一時(shí),可以選擇HASH存取方法:該關(guān)系的大小可預(yù)知,而且不變;該關(guān)系的大小動(dòng)態(tài)改變,但所選用的DBMS提供了動(dòng)態(tài)HASH存取方法。1/5/2023三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則12/21067.5.2確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的內(nèi)容1.確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu)
關(guān)系索引聚簇日志備份2.確定系統(tǒng)配置1/5/20237.5.2確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的內(nèi)容121071.確定數(shù)據(jù)的存放位置影響數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)的因素硬件環(huán)境應(yīng)用需求存取時(shí)間存儲(chǔ)空間利用率維護(hù)代價(jià)這三個(gè)方面常常是相互矛盾的必須進(jìn)行權(quán)衡,選擇一個(gè)折中方案。1/5/20231.確定數(shù)據(jù)的存放位置影響數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)的因素12108確定數(shù)據(jù)的存放位置(續(xù))基本原則根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分存取頻率較高部分與存取頻率較低部分分開(kāi)存放,以提高系統(tǒng)性能1/5/2023確定數(shù)據(jù)的存放位置(續(xù))基本原則12/26/2022109確定數(shù)據(jù)的存放位置(續(xù))例:數(shù)據(jù)庫(kù)數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)時(shí)才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上。如果計(jì)算機(jī)有多個(gè)磁盤(pán),可以考慮將表和索引分別放在不同的磁盤(pán)上,在查詢時(shí),由于兩個(gè)磁盤(pán)驅(qū)動(dòng)器分別在工作,因而可以保證物理讀寫(xiě)速度比較快。1/5/2023確定數(shù)據(jù)的存放位置(續(xù))例:12/26/2022110確定數(shù)據(jù)的存放位置(續(xù))例(續(xù)):可以將比較大的表分別放在兩個(gè)磁盤(pán)上,以加快存取速度,這在多用戶環(huán)境下特別有效??梢詫⑷罩疚募c數(shù)據(jù)庫(kù)對(duì)象(表、索引等)放在不同的磁盤(pán)以改進(jìn)系統(tǒng)的性能。1/5/2023確定數(shù)據(jù)的存放位置(續(xù))例(續(xù)):12/26/20221112.確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù)
同時(shí)使用數(shù)據(jù)庫(kù)的用戶數(shù)同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù)使用的緩沖區(qū)長(zhǎng)度、個(gè)數(shù)時(shí)間片大小數(shù)據(jù)庫(kù)的大小裝填因子鎖的數(shù)目等等1/5/20232.確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù)1112確定系統(tǒng)配置(續(xù))系統(tǒng)都為這些變量賦予了合理的缺省值。但是這些值不一定適合每一種應(yīng)用環(huán)境,在進(jìn)行物理設(shè)計(jì)時(shí),需要根據(jù)應(yīng)用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能最優(yōu)。在物理設(shè)計(jì)時(shí)對(duì)系統(tǒng)配置變量的調(diào)整只是初步的,在系統(tǒng)運(yùn)行時(shí)還要根據(jù)系統(tǒng)實(shí)際運(yùn)行情況做進(jìn)一步的調(diào)整,以期切實(shí)改進(jìn)系統(tǒng)性能。1/5/2023確定系統(tǒng)配置(續(xù))系統(tǒng)都為這些變量賦予了合理的缺省值。但是這1137.5.3評(píng)價(jià)物理結(jié)構(gòu)評(píng)價(jià)內(nèi)容:對(duì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)過(guò)程中產(chǎn)生的多種方案進(jìn)行細(xì)致的評(píng)價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。評(píng)價(jià)方法定量估算各種方案存儲(chǔ)空間存取時(shí)間維護(hù)代價(jià)對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu)1/5/20237.5.3評(píng)價(jià)物理結(jié)構(gòu)評(píng)價(jià)內(nèi)容:對(duì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)過(guò)程中產(chǎn)1147.6數(shù)據(jù)庫(kù)的實(shí)施數(shù)據(jù)庫(kù)實(shí)施的工作內(nèi)容用DDL定義數(shù)據(jù)庫(kù)結(jié)構(gòu)組織數(shù)據(jù)入庫(kù)編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)試運(yùn)行1/5/20237.6數(shù)據(jù)庫(kù)的實(shí)施數(shù)據(jù)庫(kù)實(shí)施的工作內(nèi)容12/26/202115數(shù)據(jù)庫(kù)實(shí)施定義數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)裝載
數(shù)據(jù)庫(kù)試運(yùn)行數(shù)據(jù)庫(kù)物理設(shè)計(jì)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)物理模型編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)系統(tǒng)1/5/2023數(shù)據(jù)庫(kù)實(shí)施定義數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)庫(kù)物數(shù)據(jù)庫(kù)運(yùn)物理編制與調(diào)試應(yīng)用程116一、定義數(shù)據(jù)庫(kù)結(jié)構(gòu)確定了數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)后,就可以用所選用的DBMS提供的數(shù)據(jù)定義語(yǔ)言(DDL)來(lái)嚴(yán)格描述數(shù)據(jù)庫(kù)結(jié)構(gòu)。例,對(duì)于前面的例子,可以用SQL語(yǔ)句如下定義表結(jié)構(gòu):CREATETABLE學(xué)生(學(xué)號(hào)CHAR(8),……………);CREATETABLE課程(……………);……………1/5/2023一、定義數(shù)據(jù)庫(kù)結(jié)構(gòu)確定了數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)后,就可以117定義數(shù)據(jù)庫(kù)結(jié)構(gòu)(續(xù))
接下來(lái)是在這些基本表上定義視圖:CREATEVIEW.... (……………); …………… 如果需要使用索引:CREATEINDEX….1/5/2023定義數(shù)據(jù)庫(kù)結(jié)構(gòu)(續(xù))接下來(lái)是在這些基本表上定義視圖:1118二、數(shù)據(jù)裝載數(shù)據(jù)庫(kù)結(jié)構(gòu)建立好后,就可以向數(shù)據(jù)庫(kù)中裝載數(shù)據(jù)了。組織數(shù)據(jù)入庫(kù)是數(shù)據(jù)庫(kù)實(shí)施階段最主要的工作。數(shù)據(jù)裝載方法人工方法(適用于小型系統(tǒng))計(jì)算機(jī)輔助數(shù)據(jù)入庫(kù)(適用于中大型系統(tǒng))如果數(shù)據(jù)庫(kù)是在老的文件系統(tǒng)或數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)上設(shè)計(jì)的,則直接將老系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)換成新系統(tǒng)中需要的數(shù)據(jù)格式。1/5/2023二、數(shù)據(jù)裝載數(shù)據(jù)庫(kù)結(jié)構(gòu)建立好后,就可以向數(shù)據(jù)庫(kù)中裝載數(shù)據(jù)了。119三、編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)應(yīng)該與數(shù)據(jù)設(shè)計(jì)并行進(jìn)行。在數(shù)據(jù)庫(kù)實(shí)施階段,當(dāng)數(shù)據(jù)庫(kù)結(jié)構(gòu)建立好后,就可以開(kāi)始編制與調(diào)試數(shù)據(jù)庫(kù)的應(yīng)用程序。調(diào)試應(yīng)用程序時(shí)由于數(shù)據(jù)入庫(kù)尚未完成,可先使用模擬數(shù)據(jù)。1/5/2023三、編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)應(yīng)該與數(shù)據(jù)設(shè)計(jì)并行120四、數(shù)據(jù)庫(kù)試運(yùn)行應(yīng)用程序調(diào)試完成,并且已有一小部分?jǐn)?shù)據(jù)入庫(kù)后,就可以開(kāi)始數(shù)據(jù)庫(kù)的試運(yùn)行。數(shù)據(jù)庫(kù)試運(yùn)行也稱(chēng)為聯(lián)合調(diào)試,其主要工作包括:1)功能測(cè)試:實(shí)際運(yùn)行應(yīng)用程序,執(zhí)行對(duì)數(shù)據(jù)庫(kù)的各種操作,測(cè)試應(yīng)用程序的各種功能。2)性能測(cè)試:測(cè)量系統(tǒng)的性能指標(biāo),分析是否符合設(shè)計(jì)目標(biāo)。1/5/2023四、數(shù)據(jù)庫(kù)試運(yùn)行應(yīng)用程序調(diào)試完成,并且已有一小部分?jǐn)?shù)據(jù)入庫(kù)后121數(shù)據(jù)庫(kù)試運(yùn)行(續(xù))由于數(shù)據(jù)入庫(kù)工作量非常大,所以可以采用分期輸入數(shù)據(jù)的方法先輸入小批量數(shù)據(jù)供先期聯(lián)合調(diào)試使用待試運(yùn)行基本合格后再輸入大批量數(shù)據(jù)逐步增加數(shù)據(jù)量,逐步完成運(yùn)行評(píng)價(jià)數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)在數(shù)據(jù)庫(kù)試運(yùn)行階段,系統(tǒng)還不穩(wěn)定,硬、軟件故障隨時(shí)都可能發(fā)生系統(tǒng)的操作人員對(duì)新系統(tǒng)還不熟悉,誤操作也不可避免因此必須做好數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)工作,盡量減少對(duì)數(shù)據(jù)庫(kù)的破壞。1/5/2023數(shù)據(jù)庫(kù)試運(yùn)行(續(xù))由于數(shù)據(jù)入庫(kù)工作量非常大,所以可以采用分期1227.7數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)數(shù)據(jù)庫(kù)試運(yùn)行結(jié)果符合設(shè)計(jì)目標(biāo)后,數(shù)據(jù)庫(kù)就可以真正投入運(yùn)行了。數(shù)據(jù)庫(kù)投入運(yùn)行標(biāo)志著開(kāi)發(fā)任務(wù)的基本完成和維護(hù)工作的開(kāi)始。對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)進(jìn)行評(píng)價(jià)、調(diào)整、修改等維護(hù)工作是一個(gè)長(zhǎng)期的任務(wù),也是設(shè)計(jì)工作的繼續(xù)和提高。應(yīng)用環(huán)境在不斷變化數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中物理存儲(chǔ)會(huì)不斷變化1/5/20237.7數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)數(shù)據(jù)庫(kù)試運(yùn)行結(jié)果符合設(shè)計(jì)目標(biāo)后,數(shù)123數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))在數(shù)據(jù)庫(kù)運(yùn)行階段,對(duì)數(shù)據(jù)庫(kù)經(jīng)常性的維護(hù)工作主要是由DBA完成的,主要包括:數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)針對(duì)不同的應(yīng)用要求制定不同的轉(zhuǎn)儲(chǔ)計(jì)劃,定期對(duì)數(shù)據(jù)庫(kù)和日志文件進(jìn)行備份。一旦發(fā)生介質(zhì)故障,即利用數(shù)據(jù)庫(kù)備份及日志文件備份,盡快將數(shù)據(jù)庫(kù)恢復(fù)到某種一致性狀態(tài)。數(shù)據(jù)庫(kù)的安全性、完整性控制DBA必須根據(jù)用戶的實(shí)際需要授予不同的操作權(quán)限應(yīng)用環(huán)境的變化,對(duì)安全性的要求也會(huì)發(fā)生變化,DBA需要根據(jù)實(shí)際情況修改原有的安全性控制。由于應(yīng)用環(huán)境的變化,數(shù)據(jù)庫(kù)的完整性約束條件也會(huì)變化,也需要DBA不斷修正,以滿足用戶要求。1/5/2023數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))在數(shù)據(jù)庫(kù)運(yùn)行階段,對(duì)數(shù)據(jù)庫(kù)經(jīng)常性的維護(hù)124數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))數(shù)據(jù)庫(kù)性能的監(jiān)督、分析和改進(jìn)在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中,DBA必須監(jiān)督系統(tǒng)運(yùn)行,對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析,找出改進(jìn)系統(tǒng)性能的方法。利用監(jiān)測(cè)工具獲取系統(tǒng)運(yùn)行過(guò)程中一系列性能參數(shù)的值通過(guò)仔細(xì)分析這些數(shù)據(jù),判斷當(dāng)前系統(tǒng)是否處于最佳運(yùn)行狀態(tài)如果不是,則需要通過(guò)調(diào)整某些參數(shù)來(lái)進(jìn)一步改進(jìn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)庫(kù)的重組織和重構(gòu)造 1)數(shù)據(jù)庫(kù)的重組織數(shù)據(jù)庫(kù)運(yùn)行一段時(shí)間后,由于記錄的不斷增、刪、改,會(huì)使數(shù)據(jù)庫(kù)的物理存儲(chǔ)變壞,從而降低數(shù)據(jù)庫(kù)存儲(chǔ)空間的利用率和數(shù)據(jù)的存取效率,使數(shù)據(jù)庫(kù)的性能下降。重組織的目標(biāo):提高系統(tǒng)性能1/5/2023數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))數(shù)據(jù)庫(kù)性能的監(jiān)督、分析和改進(jìn)12/26125數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))2)數(shù)據(jù)庫(kù)的重構(gòu)造數(shù)據(jù)庫(kù)應(yīng)用環(huán)境發(fā)生變化,會(huì)導(dǎo)致實(shí)體及實(shí)體間的聯(lián)系也發(fā)生相應(yīng)變化,使原有的數(shù)據(jù)庫(kù)設(shè)計(jì)不能很好地滿足新的需求增加新的應(yīng)用或新的實(shí)體取消或改變某些已有應(yīng)用數(shù)據(jù)庫(kù)重構(gòu)造的主要工作:根據(jù)新環(huán)境調(diào)整數(shù)據(jù)庫(kù)的模式和內(nèi)模式增加新的數(shù)據(jù)項(xiàng)改變數(shù)據(jù)項(xiàng)的類(lèi)型改變數(shù)據(jù)庫(kù)的容量增加或刪除索引修改完整性約束條件1/5/2023數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))2)數(shù)據(jù)庫(kù)的重構(gòu)造12/26/2022126數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))重構(gòu)造數(shù)據(jù)庫(kù)的程度是有限的若應(yīng)用變化太大,已無(wú)法通過(guò)重構(gòu)數(shù)據(jù)庫(kù)來(lái)滿足新的需求,或重構(gòu)數(shù)據(jù)庫(kù)的代價(jià)太大,則表明現(xiàn)有數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生命周期已經(jīng)結(jié)束,應(yīng)該重新設(shè)計(jì)新的數(shù)據(jù)庫(kù)系統(tǒng),開(kāi)始新數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生命周期了。1/5/2023數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù))重構(gòu)造數(shù)據(jù)庫(kù)的程度是有限的12/26/1277.8小結(jié)數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理設(shè)計(jì)實(shí)施運(yùn)行維護(hù)設(shè)計(jì)過(guò)程中往往還會(huì)有許多反復(fù)。1/5/20237.8小結(jié)數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程12/26/2022128數(shù)據(jù)庫(kù)系統(tǒng)概論
AnIntroductiontoDatabaseSystem第七章數(shù)據(jù)庫(kù)設(shè)計(jì)1/5/2023數(shù)據(jù)庫(kù)系統(tǒng)概論
AnIntroductiontoDat129第七章數(shù)據(jù)庫(kù)設(shè)計(jì)7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述7.2需求分析7.3概念結(jié)構(gòu)設(shè)計(jì)7.4邏輯結(jié)構(gòu)設(shè)計(jì)7.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)7.6數(shù)據(jù)庫(kù)實(shí)施7.7數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)7.8小結(jié)1/5/2023第七章數(shù)據(jù)庫(kù)設(shè)計(jì)7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述12/26/201307.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述7.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)7.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)7.1.3數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述7.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟1/5/20237.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述7.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)12/131數(shù)據(jù)庫(kù)設(shè)計(jì)概述什么是數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息需求和處理需求)在數(shù)據(jù)庫(kù)領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫(kù)的各類(lèi)系統(tǒng)統(tǒng)稱(chēng)為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)概述什么是數(shù)據(jù)庫(kù)設(shè)計(jì)12/26/20221327.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ)把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái)提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息數(shù)據(jù)庫(kù)是信息系統(tǒng)的各個(gè)部分能否緊密地結(jié)合在一起、以及如何結(jié)合的關(guān)鍵所在數(shù)據(jù)庫(kù)設(shè)計(jì)是信息系統(tǒng)開(kāi)發(fā)和建設(shè)的重要組成部分1/5/20237.1.1數(shù)據(jù)庫(kù)和信息系統(tǒng)數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ)1133數(shù)據(jù)庫(kù)設(shè)計(jì)人員應(yīng)該具備的技術(shù)和知識(shí)數(shù)據(jù)庫(kù)的基本知識(shí)和數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù)計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)和程序設(shè)計(jì)的方法和技巧軟件工程的原理和方法具體應(yīng)用領(lǐng)域的知識(shí)1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)人員應(yīng)該具備的技術(shù)和知識(shí)數(shù)據(jù)庫(kù)的基本知識(shí)和數(shù)據(jù)庫(kù)設(shè)1347.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫(kù)建設(shè)是硬件、軟件和干件的結(jié)合三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)技術(shù)與管理的界面稱(chēng)之為“干件”數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該與應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)庫(kù)框架或數(shù)據(jù)庫(kù)結(jié)構(gòu)行為(處理)設(shè)計(jì):設(shè)計(jì)應(yīng)用程序、事務(wù)處理等1/5/20237.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫(kù)建設(shè)是硬件、軟件和干件的135數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)(續(xù))現(xiàn)實(shí)世界概念模型設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)庫(kù)設(shè)計(jì)邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)建立數(shù)據(jù)庫(kù)數(shù)據(jù)分析功能分析功能模型功能說(shuō)明事務(wù)設(shè)計(jì)程序說(shuō)明應(yīng)用程序設(shè)計(jì)程序編碼調(diào)試結(jié)構(gòu)和行為分離的設(shè)計(jì)1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)(續(xù))現(xiàn)實(shí)世界概念模型設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)1367.1.3數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述手工試湊法設(shè)計(jì)質(zhì)量與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保證數(shù)據(jù)庫(kù)運(yùn)行一段時(shí)間后常常又不同程度地發(fā)現(xiàn)各種問(wèn)題,增加了維護(hù)代價(jià)規(guī)范設(shè)計(jì)法(用軟件工程的思想方法):本質(zhì)上是手工設(shè)計(jì)方法,基本思想是過(guò)程迭代和逐步求精E-R圖、3NF、ODL(面向?qū)ο髷?shù)據(jù)庫(kù)設(shè)計(jì))計(jì)算機(jī)輔助設(shè)計(jì)ORACLEDesigner2000SYBASEPowerDesigner1/5/20237.1.3數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述手工試湊法12/26/202137數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述(續(xù))按照規(guī)范設(shè)計(jì)方法:六個(gè)階段1、需求分析階段2、概念結(jié)構(gòu)設(shè)計(jì)階段——定義概念模式3、邏輯結(jié)構(gòu)設(shè)計(jì)階段——定義模式和外模式4、數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段——定義內(nèi)模式5、數(shù)據(jù)庫(kù)實(shí)施階段6、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述(續(xù))按照規(guī)范設(shè)計(jì)方法:六個(gè)階段12/261387.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟一、數(shù)據(jù)庫(kù)設(shè)計(jì)的準(zhǔn)備工作——選定參加設(shè)計(jì)的人員1.
系統(tǒng)分析和數(shù)據(jù)庫(kù)設(shè)計(jì)人員數(shù)據(jù)庫(kù)設(shè)計(jì)的核心人員自始至終參與數(shù)據(jù)庫(kù)設(shè)計(jì)其水平?jīng)Q定了數(shù)據(jù)庫(kù)系統(tǒng)的質(zhì)量1/5/20237.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟一、數(shù)據(jù)庫(kù)設(shè)計(jì)的準(zhǔn)備工作—1397.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟2.用戶在數(shù)據(jù)庫(kù)設(shè)計(jì)中也是舉足輕重的主要參加需求分析和數(shù)據(jù)庫(kù)的運(yùn)行維護(hù)用戶積極參與帶來(lái)的好處加速數(shù)據(jù)庫(kù)設(shè)計(jì)提高數(shù)據(jù)庫(kù)設(shè)計(jì)的質(zhì)量3.程序員在系統(tǒng)實(shí)施階段參與進(jìn)來(lái),負(fù)責(zé)編制程序4.數(shù)據(jù)庫(kù)管理員數(shù)據(jù)庫(kù)運(yùn)行管理和維護(hù)1/5/20237.1.4數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟2.用戶12/26/20140數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))二、數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(六個(gè)階段)1、需求分析階段準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理),是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步2、概念結(jié)構(gòu)設(shè)計(jì)階段——定義概念模式是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型3、邏輯結(jié)構(gòu)設(shè)計(jì)階段——定義模式和外模式將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))二、數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(六個(gè)階段)141數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))4、數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段——定義內(nèi)模式為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)5、數(shù)據(jù)庫(kù)實(shí)施階段運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言、工具及宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù)編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫(kù)并進(jìn)行試運(yùn)行1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))4、數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段——定義內(nèi)模142數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))6、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)。1/5/2023數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(續(xù))6、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段12/26143P202圖7.2設(shè)計(jì)特點(diǎn)在設(shè)計(jì)過(guò)程中把對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)和對(duì)數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來(lái)將這兩個(gè)方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)1/5/2023P202圖7.2設(shè)計(jì)特點(diǎn)12/26/20221447.2需求分析需求分析就是分析用戶的需要與要求需求分析是設(shè)計(jì)數(shù)據(jù)庫(kù)的起點(diǎn)需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用
7.2.1需求分析的任務(wù)
7.2.2需求分析的方法
7.2.3數(shù)據(jù)字典1/5/20237.2需求分析需求分析就是分析用戶的需要與要求12/26/1457.2.1需求分析的任務(wù)一、需求分析的任務(wù)二、需求分析的重點(diǎn)三、需求分析的難點(diǎn)1/5/20237.2.1需求分析的任務(wù)一、需求分析的任務(wù)12/26/2146一、需求分析的任務(wù)
通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門(mén)、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)1/5/2023一、需求分析的任務(wù)通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、147二、需求分析的重點(diǎn)需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。信息要求用戶需要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì)由用戶的信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫(kù)中需要存儲(chǔ)哪些數(shù)據(jù)處理要求對(duì)處理功能的要求對(duì)處理的響應(yīng)時(shí)間的要求對(duì)處理方式的要求(批處理/聯(lián)機(jī)處理)新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。1/5/2023二、需求分析的重點(diǎn)需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)148三、需求分析的難點(diǎn)確定用戶最終需求的難點(diǎn)用戶缺少計(jì)算機(jī)知識(shí),開(kāi)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級(jí)戶外策劃方案
- 石河子大學(xué)《園林工程制圖》2021-2022學(xué)年第一學(xué)期期末試卷
- 房屋維修協(xié)議書(shū)范本(11篇)
- 石河子大學(xué)《跨文化傳播》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《數(shù)字圖像處理》2022-2023學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《俄羅斯文學(xué)史》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《超精密制造工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 國(guó)家工商總局 建設(shè)工程勘察合同
- 合伙人招募合同
- 2024高考政治一輪復(fù)習(xí)第三單元發(fā)展社會(huì)主義民主政治第六課我國(guó)的人民代表大會(huì)制度課時(shí)作業(yè)含解析必修2
- 工業(yè)數(shù)字化智能化2030白皮書(shū)
- 田徑競(jìng)賽規(guī)則與裁判法課件
- 隧道高空作業(yè)安全要求
- 裝飾裝修技術(shù)標(biāo)范本
- 小學(xué)道德與法治人教六上冊(cè)我們的國(guó)家機(jī)構(gòu)我們是場(chǎng)外代表
- 國(guó)家開(kāi)放大學(xué)2022年秋季《建筑測(cè)量》形成性考核及實(shí)驗(yàn)報(bào)告
- 【食品安全風(fēng)險(xiǎn)隱患排查記錄】資料
- 第五版-FMEA-新版FMEA【第五版】
- 新疆紀(jì)要維吾爾族的起源和形成
- 動(dòng)物遺傳育種繁殖學(xué)
- 2023年全國(guó)高考體育單招考試數(shù)學(xué)模擬試卷試題(含答案詳解)
評(píng)論
0/150
提交評(píng)論