數(shù)據(jù)庫系統(tǒng)概論第7章數(shù)據(jù)庫設(shè)計(jì)-課件_第1頁
數(shù)據(jù)庫系統(tǒng)概論第7章數(shù)據(jù)庫設(shè)計(jì)-課件_第2頁
數(shù)據(jù)庫系統(tǒng)概論第7章數(shù)據(jù)庫設(shè)計(jì)-課件_第3頁
數(shù)據(jù)庫系統(tǒng)概論第7章數(shù)據(jù)庫設(shè)計(jì)-課件_第4頁
數(shù)據(jù)庫系統(tǒng)概論第7章數(shù)據(jù)庫設(shè)計(jì)-課件_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第7章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計(jì)7.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.5 數(shù)據(jù)庫的物理設(shè)計(jì)7.6 數(shù)據(jù)庫實(shí)施7.7 數(shù)據(jù)庫運(yùn)行與維護(hù)7.8 小結(jié)1第7章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述17.1數(shù)據(jù)庫設(shè)計(jì)概述數(shù)據(jù)庫設(shè)計(jì):指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù) 庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有 效地存儲(chǔ)數(shù)據(jù)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求.7.1.1 數(shù)據(jù)庫和信息系統(tǒng)信息系統(tǒng)是提供信息、輔助人們對(duì)環(huán)境進(jìn)行控制和進(jìn)行決 策的 系統(tǒng)。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)。數(shù)據(jù)庫設(shè)計(jì)是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。27.1數(shù)據(jù)庫設(shè)計(jì)概述數(shù)據(jù)庫設(shè)計(jì):指對(duì)于一個(gè)給定

2、的應(yīng)用環(huán)境,構(gòu)進(jìn)行數(shù)據(jù)庫設(shè)計(jì)應(yīng)具備的技術(shù)和知識(shí):數(shù)據(jù)庫的基本知識(shí)和數(shù)據(jù)庫設(shè)計(jì)技術(shù);計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)和程序設(shè)計(jì)的方法和技巧;軟件工程的原理和方法;應(yīng)用領(lǐng)域的知識(shí);3進(jìn)行數(shù)據(jù)庫設(shè)計(jì)應(yīng)具備的技術(shù)和知識(shí):數(shù)據(jù)庫的基本知識(shí)和數(shù)據(jù)庫7.1.2.數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn) 數(shù)據(jù)庫建設(shè)是硬件、軟件和干件的結(jié)合三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)技術(shù)與管理的界面稱之為“干件”數(shù)據(jù)庫設(shè)計(jì)應(yīng)該與應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu)行為(處理)設(shè)計(jì):設(shè)計(jì)應(yīng)用程序、事務(wù)處理等47.1.2.數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫建設(shè)是硬件、軟件和干件的現(xiàn)實(shí)世界數(shù)據(jù)分析概念模型設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)子模式設(shè)計(jì)建

3、立數(shù)據(jù)功能分析功能模型事務(wù)設(shè)計(jì)程序說明應(yīng)用程序設(shè)計(jì)程序編碼調(diào)試功能說明5現(xiàn)實(shí)世界數(shù)據(jù)分析概念模型設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)子模7.1.3.數(shù)據(jù)庫設(shè)計(jì)方法手工試湊法設(shè)計(jì)質(zhì)量與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保證數(shù)據(jù)庫運(yùn)行一段時(shí)間后常常又不同程度地發(fā)現(xiàn)各種問題,增加了維護(hù)代價(jià)規(guī)范設(shè)計(jì)法手工設(shè)計(jì)方法基本思想: 過程迭代和逐步求精計(jì)算機(jī)輔助設(shè)計(jì)ORACLE Designer 2000SYBASE PowerDesigner67.1.3.數(shù)據(jù)庫設(shè)計(jì)方法手工試湊法規(guī)范設(shè)計(jì)法計(jì)算機(jī)輔助設(shè)計(jì)7.1.4.數(shù)據(jù)庫設(shè)計(jì)的基本步驟 數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作: 選定參加設(shè)計(jì)的

4、人員數(shù)據(jù)庫設(shè)計(jì)的人員組成系統(tǒng)分析人員數(shù)據(jù)庫設(shè)計(jì)人員程序員用戶數(shù)據(jù)庫管理人員自始至終參與數(shù)據(jù)庫設(shè)計(jì)參與系統(tǒng)實(shí)施階段參與需求分析和數(shù)據(jù)庫的運(yùn)行維護(hù)77.1.4.數(shù)據(jù)庫設(shè)計(jì)的基本步驟數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作: 需求分析; 概念結(jié)構(gòu)設(shè)計(jì); 邏輯結(jié)構(gòu)設(shè)計(jì); 物理結(jié)構(gòu)設(shè)計(jì); 數(shù)據(jù)庫實(shí)施; 數(shù)據(jù)庫運(yùn)行和維護(hù);數(shù)據(jù)庫設(shè)計(jì)的過程:8 需求分析;數(shù)據(jù)庫設(shè)計(jì)的過程:8需求收集和分析設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)數(shù)據(jù)模型優(yōu)化設(shè)計(jì)物理結(jié)構(gòu)評(píng)價(jià)設(shè)計(jì),性能預(yù)測物理實(shí)現(xiàn)試驗(yàn)性運(yùn)行使用、維護(hù)數(shù)據(jù)庫不滿意不滿意P202 圖7.29需求收集和分析設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)數(shù)據(jù)模型優(yōu)化設(shè)計(jì)物理結(jié)設(shè)計(jì)特點(diǎn):在設(shè)計(jì)過程中把數(shù)據(jù)庫的設(shè)計(jì)和對(duì)數(shù)據(jù)庫中數(shù)

5、據(jù)處理的設(shè)計(jì)緊密結(jié)合起來將這兩個(gè)方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)設(shè)計(jì)過程各個(gè)階段的設(shè)計(jì)描述:P204圖7.310設(shè)計(jì)特點(diǎn):在設(shè)計(jì)過程中把數(shù)據(jù)庫的設(shè)計(jì)和對(duì)數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)IPO表輸入:輸出:處理:CreatLoadMain( )ifthenend 分區(qū)1 分區(qū)2概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理設(shè)計(jì)設(shè)計(jì)階 段 設(shè) 計(jì) 描 述數(shù) 據(jù)處 理需求分 析 數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項(xiàng)、 數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的描述數(shù)據(jù)流圖和判定表(判定樹)、數(shù)據(jù)字典中處理過程的描述 概念模型(E-R圖) 數(shù)據(jù)字典 系統(tǒng)說明書包括: 新系統(tǒng)要求、 方案和概圖 反映新系統(tǒng)信息

6、流的數(shù)據(jù)流圖 某種數(shù)據(jù)模型 關(guān)系 非關(guān)系 系統(tǒng)結(jié)構(gòu)圖 (模塊結(jié)構(gòu)) 存儲(chǔ)安排 方法選擇 存取路徑建立 模塊設(shè)計(jì) IPO表實(shí)施階段 編寫模式 裝入數(shù)據(jù) 數(shù)據(jù)庫試運(yùn)行 程序編碼、 編譯聯(lián)結(jié)、 測試運(yùn)行、維護(hù) 性能監(jiān)測、轉(zhuǎn)儲(chǔ)/恢復(fù) 數(shù)據(jù)庫重組和重構(gòu) 新舊系統(tǒng)轉(zhuǎn)換、運(yùn)行、維護(hù)(修正性、適應(yīng)性、改善性維護(hù))11IPO表CreatMain( ) 數(shù)據(jù)庫的各級(jí)模式圖:應(yīng)用要求1應(yīng)用要求2應(yīng)用要求3應(yīng)用要求4概念模式邏輯模式外模式1外模式2外模式3外模式4內(nèi)模式綜合轉(zhuǎn)換映象映象12數(shù)據(jù)庫的各級(jí)模式圖:應(yīng)用要求1應(yīng)用要求2應(yīng)用要求3應(yīng)用要求47.2 需求分析7.2.1 需求分析的任務(wù)需求分析就是分析用戶的需要與

7、要求:需求分析是設(shè)計(jì)數(shù)據(jù)庫的起點(diǎn)需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用(1)通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求.(2)在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計(jì)數(shù)據(jù)庫.137.2 需求分析7.2.1 需求分析的任務(wù)需求分析就是分需求分析的重點(diǎn):調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。(1)信息要求用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)由用戶的信息要求可

8、以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲(chǔ)哪些數(shù)據(jù)(2)處理要求對(duì)處理功能的要求對(duì)處理的響應(yīng)時(shí)間的要求對(duì)處理方式的要求(批處理 / 聯(lián)機(jī)處理)(3)安全性與完整性要求 新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。14需求分析的重點(diǎn):調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、需求分析的難點(diǎn):確定用戶的最終需求用戶缺少計(jì)算機(jī)知識(shí),開始時(shí)無法確定計(jì)算機(jī)究竟能為自己做什么,不能做什么,因此無法一下子準(zhǔn)確地表達(dá)自己的需求,他們所提出的需求往往不斷地變化。設(shè)計(jì)人員缺少用戶的專業(yè)知識(shí),不易理解用戶的真正需求,甚至誤解用戶的需求。新的硬件、軟件技術(shù)的出現(xiàn)也會(huì)使用戶需求發(fā)生變化。解決方法:

9、設(shè)計(jì)人員必須采用有效的方法,與用戶不斷深入地進(jìn)行交流,才能逐步得以確定用戶的實(shí)際需求15需求分析的難點(diǎn):確定用戶的最終需求解決方法:15 調(diào)查組織機(jī)構(gòu)情況 組織部門的組成情況 各部門的職責(zé)等 調(diào)查各部門的業(yè)務(wù)活動(dòng)情況。調(diào)查重點(diǎn)之一。 各個(gè)部門輸入和使用什么數(shù)據(jù) 如何加工處理這些數(shù)據(jù) 輸出什么信息 輸出到什么部門 輸出結(jié)果的格式是什么 在熟悉業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求。調(diào)查重點(diǎn)之二。 信息要求 處理要求 完全性與完整性要求一、 調(diào)查用戶需求的具體步驟:7.2.2 需求分析的方法16 調(diào)查組織機(jī)構(gòu)情況 調(diào)查各部門的業(yè)務(wù)活動(dòng)情況。調(diào)查重點(diǎn)之 確定新系統(tǒng)的邊界確定哪些功能由計(jì)算機(jī)

10、完成或?qū)頊?zhǔn)備讓計(jì)算機(jī)完成確定哪些活動(dòng)由人工完成 由計(jì)算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。二、常用調(diào)查方法跟班作業(yè)通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動(dòng)的情況能比較準(zhǔn)確地理解用戶的需求,但比較耗時(shí)開調(diào)查會(huì)通過與用戶座談來了解業(yè)務(wù)活動(dòng)情況及用戶需求請(qǐng)專人介紹17 確定新系統(tǒng)的邊界二、常用調(diào)查方法跟班作業(yè)17詢問對(duì)某些調(diào)查中的問題,可以找專人詢問設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫如果調(diào)查表設(shè)計(jì)合理,則很有效,且易于為用戶接受查閱記錄查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄三、進(jìn)一步分析和表達(dá)用戶需求分析和表達(dá)用戶的需求的常用方法自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)SA方法從最上層的系

11、統(tǒng)組織機(jī)構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。18詢問三、進(jìn)一步分析和表達(dá)用戶需求分析和表達(dá)用戶的需求的常用1首先把任何一個(gè)系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)信息要求數(shù)據(jù)來源處理數(shù)據(jù)輸出處理要求2分解處理功能和數(shù)據(jù)(1)分解處理功能將處理功能的具體內(nèi)容分解為若干子功能,再將每個(gè)子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達(dá)清楚為止(2)分解數(shù)據(jù)在處理功能逐步分解的同時(shí),其所用的數(shù)據(jù)也逐級(jí)分解,形成若干層次的數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系系統(tǒng)高層抽象圖191首先把任何一個(gè)系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)信息要求數(shù)據(jù)(3)表達(dá)方法 處理過程:用判定表或判

12、定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典(DD)來描述 3將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可20(3)表達(dá)方法3將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可2需求分析過程21需求分析過程21實(shí)例:假設(shè)我們要開發(fā)一個(gè)學(xué)校管理系統(tǒng)。1經(jīng)過可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由教師管理子系統(tǒng)、學(xué)生管理子系統(tǒng)、后勤管理子系統(tǒng)組成,每個(gè)子系統(tǒng)分別配備一個(gè)開發(fā)小組。2進(jìn)一步細(xì)化各個(gè)子系統(tǒng)。其中學(xué)生管理子系統(tǒng)開發(fā)小組通過進(jìn)行進(jìn)一步的需求調(diào)查,明確了該子系統(tǒng)的主要功能是進(jìn)行學(xué)籍管理和課程管理,包括學(xué)生報(bào)到、入學(xué)、畢業(yè)的管理,學(xué)生上課情況的管理。通過詳細(xì)的信息流程分析和數(shù)據(jù)收集后,他們生成了該子系

13、統(tǒng)的數(shù)據(jù)流圖。22實(shí)例:假設(shè)我們要開發(fā)一個(gè)學(xué)校管理系統(tǒng)。227.2.3 數(shù)據(jù)字典一、數(shù)據(jù)字典的用途數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計(jì)中占有很重要的地位237.2.3 數(shù)據(jù)字典一、數(shù)據(jù)字典的用途數(shù)據(jù)字典是各類數(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ù)的最小組成單位 若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)字典通過對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描 述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。二、數(shù)據(jù)字典的內(nèi)容24數(shù)據(jù)字典的內(nèi)容二、數(shù)據(jù)字典的內(nèi)容24數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位 對(duì)數(shù)據(jù)項(xiàng)的描述數(shù)據(jù)項(xiàng)描述數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說明

14、, 別名,數(shù)據(jù)類型,長度,取值范圍, 取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系,數(shù)據(jù)項(xiàng)之間的聯(lián)系 數(shù)據(jù)項(xiàng)例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。 數(shù)據(jù)項(xiàng),以“學(xué)號(hào)”為例: 數(shù)據(jù)項(xiàng)名:學(xué)號(hào) 含義說明:唯一標(biāo)識(shí)每個(gè)學(xué)生 別名:學(xué)生編號(hào) 類型:字符型 長度: 8 取值范圍:00000000至99999999 取值含義:前兩位標(biāo)別該學(xué)生所在年級(jí), 后六位按順序編號(hào) 與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系:25數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位 數(shù)據(jù)項(xiàng)例:學(xué)生學(xué)籍管理子系統(tǒng)的 數(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ù)

15、結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)名,含義說明, 組成:數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 以“學(xué)生”為例 “學(xué)生”是該系統(tǒng)中的一個(gè)核心數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)結(jié)構(gòu)名:學(xué)生 含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié) 構(gòu),定義了一個(gè)學(xué)生的有關(guān)信息 組成:學(xué)號(hào),姓名,性別,年齡, 所在系,年級(jí)26 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?對(duì)數(shù)據(jù)流的描述數(shù)據(jù)流描述數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結(jié)構(gòu), 平均流量,高峰期流量數(shù)據(jù)流來源是說明該數(shù)據(jù)流來自哪個(gè)過程數(shù)據(jù)流去向是說明該數(shù)據(jù)流將到哪個(gè)過程去平均流量是指在單位時(shí)間(每天、每周、每月等)里的傳輸次數(shù)高峰期流量

16、則是指在高峰時(shí)期的數(shù)據(jù)流量27 數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?7數(shù)據(jù)流“體檢結(jié)果”可如下描述: 數(shù)據(jù)流名:體檢結(jié)果 說明:學(xué)生參加體格檢查的最終結(jié)果 數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準(zhǔn) 組成:學(xué)生,醫(yī)生平均流量:高峰期流量:28數(shù)據(jù)流“體檢結(jié)果”可如下描述:28 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。對(duì)數(shù)據(jù)存儲(chǔ)的描述數(shù)據(jù)存儲(chǔ)描述數(shù)據(jù)存儲(chǔ)名,說明,編號(hào), 輸入的數(shù)據(jù)流 ,輸出的數(shù)據(jù)流 , 組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量,存取頻度,存取方式輸入的數(shù)據(jù)流:指出數(shù)據(jù)來源輸出的數(shù)據(jù)流:指出數(shù)據(jù)去向數(shù)據(jù)量:每次存取多少數(shù)據(jù)存取頻度:每天(或每小時(shí)、每周等)存取幾次

17、等信息存取方法:批處理 / 聯(lián)機(jī)處理;檢索 / 更新;順序檢索 / 隨機(jī)檢索29 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的數(shù)據(jù)存儲(chǔ)“學(xué)生登記表”可如下描述: 數(shù)據(jù)存儲(chǔ)名:學(xué)生登記表 說明:記錄學(xué)生的基本情況輸入數(shù)據(jù)流:學(xué)生信息維護(hù)模塊 輸出數(shù)據(jù)流:學(xué)生信息維護(hù)模塊、學(xué)生信息查詢模塊 組成:學(xué)生 數(shù)據(jù)量:每年3000張 存取方式:隨機(jī)存取30數(shù)據(jù)存儲(chǔ)“學(xué)生登記表”可如下描述:30 處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息處理過程說明性信息的描述處理過程描述處理過程名,說明, 輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流, 處理:簡要說明簡要

18、說明:主要說明該處理過程的功能及處理要求功能:該處理過程用來做什么處理要求:處理頻度要求(如單位時(shí)間里處理多少事務(wù),多少數(shù)據(jù)量);響應(yīng)時(shí)間要求等處理要求是后面物理設(shè)計(jì)的輸入及性能評(píng)價(jià)的標(biāo)準(zhǔn)31 處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述處理過程“分配宿舍”可如下描述:處理過程名:分配宿舍說明:為所有新生分配學(xué)生宿舍輸入:學(xué)生數(shù)據(jù)流,宿舍數(shù)據(jù)流,輸出:宿舍安排數(shù)據(jù)流處理:在新生報(bào)到后,為所有新生分配學(xué)生宿舍。要求同一 間宿舍只能安排同一性別的學(xué)生,同一個(gè)學(xué)生只能 安排在一個(gè)宿舍中。每個(gè)學(xué)生的居 住面積不小于3平 方米。安排新生宿舍其處理時(shí)間應(yīng)不超過15分鐘。 32處理過程“分配宿舍

19、”可如下描述:327.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念結(jié)構(gòu)現(xiàn)實(shí)世界機(jī)器世界信息世界需求分析概念結(jié)構(gòu)設(shè)計(jì)337.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念結(jié)構(gòu)現(xiàn)實(shí)世界機(jī)器世界概念結(jié)構(gòu)的特點(diǎn):(1)能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求。是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。(2)易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計(jì)成功的關(guān)鍵。(3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和擴(kuò)充。(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于機(jī)器、更抽象,從而更加穩(wěn)定。描述概念

20、模型的工具:E-R模型34概念結(jié)構(gòu)的特點(diǎn):概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模7.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟設(shè)計(jì)概念結(jié)構(gòu)的四類方法:自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(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)。357.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟設(shè)計(jì)概念結(jié)構(gòu)的四類方法自頂向下方法圖36自頂向下方

21、法圖36自底向上方法圖37自底向上方法圖37逐步擴(kuò)張方法圖38逐步擴(kuò)張方法圖38常用策略:自頂向下地進(jìn)行需求分析自底向上地設(shè)計(jì)概念結(jié)構(gòu)(P211圖7.8)自底向上設(shè)計(jì)概念結(jié)構(gòu)的步驟:第1步:抽象數(shù)據(jù)并設(shè)計(jì)局部視圖第2步:集成局部視圖,得到全局概念結(jié)構(gòu)(P211圖7.9)39常用策略:(P211圖7.8)自底向上設(shè)計(jì)概念結(jié)構(gòu)的步驟:(7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計(jì)概念結(jié)構(gòu)是對(duì)現(xiàn)實(shí)世界的一種抽象從實(shí)際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié)把這些特性用各種概念精確地加以描述這些概念組成了某種模型三種常用抽象1. 分類(Classification)現(xiàn)實(shí)世界中一組對(duì)象,這些對(duì)象

22、具有某些共同的特性和行為注:它抽象了對(duì)象值和型之間的“is member of”的語義 在E-R模型中,實(shí)體型就是這種抽象 例:P212圖7.10定義某一類概念407.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計(jì)概念結(jié)構(gòu)是對(duì)現(xiàn)實(shí)世界的一2. 聚集(Aggregation)定義某一類型的組成成分它抽象了對(duì)象內(nèi)部類型和成分之間“is part of”的語義在E-R模型中若干屬性的聚集組成了實(shí)體型,就是這種抽象例:P212圖7.11,圖7.123. 概括(Generalization)定義類型之間的一種子集聯(lián)系它抽象了類型之間的“is subset of”的語義概括有一個(gè)很重要的性質(zhì):繼承性。子類繼承超類上定義的

23、所有抽象。 例:P213圖7.13412. 聚集(Aggregation)3. 概括(Genera概念結(jié)構(gòu)設(shè)計(jì)的第一步:對(duì)需求分析階段收集到的數(shù)據(jù)進(jìn)行分類、組織(聚集),形成實(shí)體實(shí)體的屬性,標(biāo)識(shí)實(shí)體的碼確定實(shí)體之間的聯(lián)系類型(1:1,1:n,m:n) 設(shè)計(jì)分E-R圖。具體做法:選擇局部應(yīng)用需求分析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個(gè)系統(tǒng)。如:P216 圖7.18設(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圖。 通常以中層數(shù)據(jù)流圖作為設(shè)計(jì)分E-R圖的依據(jù)。42概念結(jié)

24、構(gòu)設(shè)計(jì)的第一步:具體做法:選擇局部應(yīng)用需求分析階段,例:由于學(xué)籍管理、課程管理等都不太復(fù)雜,因此可以它們?nèi)胧衷O(shè)計(jì)學(xué)生管理子系統(tǒng)的分E-R圖。如果局部應(yīng)用比較復(fù)雜,則可以從更下層的數(shù)據(jù)流圖入手。2.逐一設(shè)計(jì)分E-R圖 將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識(shí)實(shí)體的碼,確定實(shí)體之間的聯(lián)系及其類型(1:1,1:n,m:n)如何抽象實(shí)體和屬性:實(shí)體:現(xiàn)實(shí)世界中一組具有某些共同特性和行為的對(duì)象就可以抽象為一個(gè)實(shí)體。對(duì)象和實(shí)體之間是“is member of的關(guān)系。 例:在學(xué)校環(huán)境中,可把張三、李四等對(duì)象抽象為學(xué)生實(shí)體。43例:由于學(xué)籍管理、課

25、程管理等都不太復(fù)雜,因此可以它們?nèi)胧衷O(shè)計(jì)屬性:對(duì)象類型的組成成分可以抽象為實(shí)體的屬性。組成成分與對(duì)象類型之間是“is part of的關(guān)系。例:學(xué)號(hào)、姓名、專業(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í)體了。44屬性:對(duì)象類型的組成成分可以抽象為實(shí)體的屬性。組成成分與對(duì)

26、象一般原則:屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項(xiàng),不能再由另一些屬性組成。屬性不能與其他實(shí)體具有聯(lián)系。聯(lián)系只發(fā)生在實(shí)體之間。符合上述兩條特性的事物一般作為屬性對(duì)待。為了簡化E-R圖的處置,現(xiàn)實(shí)世界中的事物凡能夠作為屬性對(duì)待的,應(yīng)盡量作為屬性。舉例:例1:“學(xué)生”由學(xué)號(hào)、姓名等屬性進(jìn)一步描述,根據(jù)準(zhǔn)則, “學(xué)生”只能作為實(shí)體,不能作為屬性。例2:職稱通常作為教師實(shí)體的屬性,但在涉及住房分配時(shí),由于分房與職稱有關(guān),也就是說職稱與住房實(shí)體之間有聯(lián)系,根據(jù)準(zhǔn)則,這時(shí)把職稱作為實(shí)體來處理會(huì)更合適些。(教程214圖7-15)45一般原則:舉例:45例3: (p215 圖7.16)病人住

27、院號(hào)姓名病房號(hào)病人住院號(hào)姓名住在病房醫(yī)療醫(yī)生1m1m例4: (p215 圖7.17)貨物貨號(hào)單價(jià)存放倉庫號(hào)存量貨物貨號(hào)單價(jià)存放倉庫存量mn倉庫號(hào)面積貨物貨號(hào)單價(jià)存放倉庫存量m1倉庫號(hào)面積管理職工1m46例3: (p215 圖7.16)病人住院號(hào)姓名病房號(hào)病人住 需求分析DFD(數(shù)據(jù)流圖)DD(數(shù)據(jù)字典)概念結(jié)構(gòu)設(shè)計(jì)(1)選擇局部應(yīng)用(2)逐一設(shè)計(jì)分ER圖(3)合并,消除各種沖突,形成初步ER圖。(4)修改和重構(gòu),消除不必要的冗余,形成基本ER圖。第1步:抽象數(shù)據(jù)并設(shè)計(jì)局部視圖第2步:集成局部視圖,得到全局概念結(jié)構(gòu)分E-R圖總E-R圖47 需求分析DFD(數(shù)據(jù)流圖)概念結(jié)構(gòu)設(shè)計(jì)(1)選擇局部應(yīng)用

28、實(shí)例:銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)。某工廠信息管理系統(tǒng)物資管理子系統(tǒng)銷售管理子系統(tǒng)人事管理子系統(tǒng)銷售管理子系統(tǒng)需求分析第一層數(shù)據(jù)流圖第二層數(shù)據(jù)流圖數(shù)據(jù)字典接收訂單處理訂單開發(fā)票支付過帳銷售管理子系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì)分E-R圖總E-R圖48實(shí)例:銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)。某工廠信息管理系統(tǒng)物資銷售管理子系統(tǒng)的E R圖:顧客支付應(yīng)收賬1n訂貨訂單1m產(chǎn)品?調(diào)整顧客支付應(yīng)收賬1n訂貨訂單1m組成產(chǎn)品訂單細(xì)節(jié)參照1參照2折扣規(guī)則1m1m1m49銷售管理子系統(tǒng)的E R圖:顧客支付應(yīng)收賬1n訂貨訂單1m產(chǎn)顧客支付應(yīng)收賬1n訂貨訂單1m組成產(chǎn)品訂單細(xì)節(jié)參照1參照2折扣規(guī)則1m1m1m每個(gè)實(shí)體的屬性和主碼

29、:顧客()訂單()訂單細(xì)節(jié)()應(yīng)收賬()產(chǎn)品()折扣規(guī)則()P22350顧客支付應(yīng)收賬1n訂貨訂單1m組成產(chǎn)品訂單細(xì)節(jié)參照1參照2折7.3.4 視圖的集成視圖集成的兩種方式:一次集成(P219圖7.25(a))一次集成多個(gè)分E-R圖通常用于局部視圖比較簡單時(shí)逐步累積式(P219圖7.25(b))首先集成兩個(gè)局部視圖(通常是比較關(guān)鍵的兩個(gè)局部視圖)以后每次將一個(gè)新的局部視圖集成進(jìn)來集成局部E-R圖的步驟:1. 合并2. 修改與重構(gòu)517.3.4 視圖的集成視圖集成的兩種方式:集成局部E-R圖視圖集成步驟圖52視圖集成步驟圖52一、合并分E-R圖,生成初步E-R圖 沖突的種類:屬性沖突命名沖突結(jié)構(gòu)

30、沖突1.屬性沖突(1)屬性域沖突:屬性值的類型、取值范圍或取值集合不同。例1, 由于學(xué)號(hào)是數(shù)字,因此某些部門(即局部應(yīng)用)將 學(xué)號(hào)定義為整數(shù)形式,而由于學(xué)號(hào)不用參與運(yùn)算, 因此另一些部門(即局部應(yīng)用)將學(xué)號(hào)定義為字符 型形式。 例2, 某些部門(即局部應(yīng)用)以出生日期形式表示學(xué)生 的年齡,而另一些部門(即局部應(yīng)用)用整數(shù)形式 表示學(xué)生的年齡。53一、合并分E-R圖,生成初步E-R圖 沖突的種類:1.屬(2)屬性取值單位沖突。 例:學(xué)生的身高,有的以米為單位,有的以厘米為單位,有 的以尺為單位。屬性沖突的解決方法: 通常用討論、協(xié)商等行政手段加以解決。2.命名沖突 (1)同名異義:不同意義的對(duì)象

31、在不同的局部應(yīng)用中具有相同 的名字 例,局部應(yīng)用A中將教室稱為房間 局部應(yīng)用B中將學(xué)生宿舍稱為房間 (2)異名同義(一義多名):同一意義的對(duì)象在不同的局部應(yīng) 用中具有不同的名字 例,有的部門把教科書稱為課本 有的部門則把教科書稱為教材54(2)屬性取值單位沖突。屬性沖突的解決方法:2.命名沖突54命名沖突的解決方法: 通過討論、協(xié)商等行政手段加以解決。3.結(jié)構(gòu)沖突 (1)同一對(duì)象在不同應(yīng)用中具有不同的抽象 例,“課程”在某一局部應(yīng)用中被當(dāng)作實(shí)體 在另一局部應(yīng)用中則被當(dāng)作屬性 解決方法:通常是把屬性變換為實(shí)體或把實(shí)體變換為屬性, 使同一對(duì)象具有相同的抽象。變換時(shí)要遵循兩個(gè)準(zhǔn)則。(2)同一實(shí)體在不

32、同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 產(chǎn)生原因:不同的局部應(yīng)用關(guān)心的是該實(shí)體的不同側(cè)面。 解決方法:使該實(shí)體的屬性取各分E-R圖中屬性的并集,再適 當(dāng)設(shè)計(jì)屬性的次序。55命名沖突的解決方法:3.結(jié)構(gòu)沖突(2)同一實(shí)體在不同局部視圖4.實(shí)體間聯(lián)系類型的沖突 例1, 實(shí)體E1與E2在局部應(yīng)用A中是多對(duì)多聯(lián)系,而在局部應(yīng) 用B中是一對(duì)多聯(lián)系 例2, 在局部應(yīng)用X中E1與E2有聯(lián)系,而在局部應(yīng)用Y中 E1、E2、E3三者之間有聯(lián)系。解決方法:根據(jù)應(yīng)用語義對(duì)實(shí)體聯(lián)系的類型進(jìn)行綜合或調(diào)整。P221頁 圖7.27564.實(shí)體間聯(lián)系類型的沖突 例1, 實(shí)體E1與E2在局部應(yīng)二、消

33、除不必要的冗余,設(shè)計(jì)生成基本E-R圖初步E-R圖分E-R圖基本E-R圖消除不必要的冗余消除沖突兩種冗余: (1) 冗余數(shù)據(jù):是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù), (2) 冗余聯(lián)系:是指可由其他聯(lián)系導(dǎo)出的聯(lián)系。消除冗余的方法: (1)分析法 (2)規(guī)范化理論P(yáng)222 圖7.28P223 圖 7.3057二、消除不必要的冗余,設(shè)計(jì)生成基本E-R圖初步E-R圖分E-數(shù)據(jù)庫的設(shè)計(jì)過程:需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)實(shí)施運(yùn)行維護(hù)設(shè)計(jì)過程中往往還會(huì)有許多反復(fù)。58數(shù)據(jù)庫的設(shè)計(jì)過程:58概念結(jié)構(gòu)設(shè)計(jì)小結(jié):現(xiàn)實(shí)世界機(jī)器世界信息世界需求分析概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)的步驟:(1)選擇局部應(yīng)用(2)逐一設(shè)計(jì)

34、分ER圖(3)合并,消除各種沖突,形成初步ER圖。(4)修改和重構(gòu),消除不必要的冗余,形成基本ER圖。59概念結(jié)構(gòu)設(shè)計(jì)小結(jié):現(xiàn)實(shí)世界機(jī)器世界信息世界需求分析概念結(jié)構(gòu)設(shè)7.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)進(jìn)一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。邏輯結(jié)構(gòu)設(shè)計(jì)的步驟: (1)將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型。 (2)將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下 的數(shù)據(jù)模型轉(zhuǎn)換。 (3)對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化 (4)設(shè)計(jì)用戶子模式607.4 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)

35、:邏輯結(jié)構(gòu)設(shè)計(jì)的步驟邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下的據(jù)模型 優(yōu)化模型概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)基本E-R圖轉(zhuǎn)換規(guī)則特定DBMS的特點(diǎn)與限制優(yōu)化方法如規(guī)范化理論邏輯模型邏輯結(jié)構(gòu)設(shè)計(jì)的三個(gè)步驟圖61邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下的據(jù)模7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換 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)換原則: (1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。 關(guān)系的屬性:實(shí)體型的屬性 關(guān)系的碼:實(shí)體型的碼 627.4.1

36、E-R圖向關(guān)系模型的轉(zhuǎn)換 E-R(2)一個(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)系的碼:不變例子:部門和職工1:1領(lǐng)導(dǎo)聯(lián)系的轉(zhuǎn)換。部門(部門號(hào),部門名,)職工(職工號(hào) ,職工名,年齡,)領(lǐng)導(dǎo)(部門號(hào),職工號(hào))部門領(lǐng)導(dǎo)職工1163(2)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任部門(部門號(hào),部門名,)職工(職工號(hào),職工名,

37、.,領(lǐng)導(dǎo)部門的部門號(hào))部門領(lǐng)導(dǎo)職工11部門(部門號(hào),部門名,部門領(lǐng)導(dǎo)的職工號(hào))職工(職工號(hào) ,職工名,年齡,)部門(部門號(hào),部門名,)職工(職工號(hào) ,職工名,年齡,)領(lǐng)導(dǎo)(部門號(hào),職工號(hào))64部門(部門號(hào),部門名,)部門領(lǐng)導(dǎo)職工11部門(部門號(hào),部(3) 一個(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í)體的碼2) 與n端對(duì)應(yīng)的關(guān)系模式合并合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變例子:部門和職工1:n屬于聯(lián)系的轉(zhuǎn)換。部門屬于

38、職工1n65(3) 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與部門(部門號(hào),部門名,)職工(職工號(hào) ,職工名,年齡,)屬于(部門號(hào),職工號(hào))部門屬于職工1n部門(部門號(hào),部門名,)職工(職工號(hào),職工名,.,部門號(hào))方法二:方法一:66部門(部門號(hào),部門名,)部門屬于職工1n部門(部門號(hào),部(4)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實(shí)體碼的組合例子:職工和產(chǎn)品m:n參加聯(lián)系的轉(zhuǎn)換。職工參加產(chǎn)品nm天數(shù)職工(職工號(hào) ,職工名,年齡,)產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,.)參加(職工號(hào),產(chǎn)品號(hào),工作天數(shù),.)67(4)一個(gè)m:n聯(lián)系轉(zhuǎn)

39、換為一個(gè)關(guān)系模式。例子:職工和產(chǎn)品m:(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。 關(guān)系的屬性:與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實(shí)體碼的組合例子:供應(yīng)商、產(chǎn)品和零件三者m:n供應(yīng)聯(lián)系的轉(zhuǎn)換。(1)供應(yīng)(供應(yīng)商號(hào),產(chǎn)品號(hào),零件號(hào),數(shù)量,.)68(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。(6)具有相同碼的關(guān)系模式可合并。 目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)。 合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系 模式中,然后去掉其中的同義屬性(可能同名也可 能不同名),并適當(dāng)調(diào)整屬性的次序。實(shí)例:P225部門()職工()產(chǎn)品()供應(yīng)商()零件

40、()領(lǐng)導(dǎo)屬于參加負(fù)責(zé)供應(yīng)職工工作()供應(yīng)()69(6)具有相同碼的關(guān)系模式可合并。實(shí)例:P225部門()領(lǐng)導(dǎo) 按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。 按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。注意:并不是規(guī)范化程度越高的關(guān)系就越優(yōu)。 對(duì)關(guān)系模式進(jìn)行必要的分解,以提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率。 常用分解方法: 水平分解把(基本)關(guān)系的元組分為若干子集合,定義每個(gè) 子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率。垂直分解把關(guān)系模式R的屬

41、性分解為若干子集合,形成 若干子關(guān)系模式。70 按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在7.4.2 向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換7.4.3 數(shù)據(jù)模型的優(yōu)化 得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo)。優(yōu)化數(shù)據(jù)模型的方法: 確定數(shù)據(jù)依賴 按需求分析階段所得到的語義,分別寫出每個(gè)關(guān)系模式內(nèi)部各 屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴。 對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余 的聯(lián)系。717.4.2 向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換 7.4.4

42、 設(shè)計(jì)用戶子模式定義用戶外模式時(shí)應(yīng)該更注重考慮用戶的習(xí)慣與方便。包括三個(gè)方面:(1) 使用更符合用戶習(xí)慣的別名例:負(fù)責(zé)學(xué)籍管理的用戶習(xí)慣于稱教師模式的職工號(hào)為 教師編號(hào)。因此可以定義視圖,在視圖中職工號(hào)重 定義為教師編號(hào)(2) 針對(duì)不同級(jí)別的用戶定義不同的外模式,以滿足系統(tǒng) 對(duì) 安全性的要求。例:教師關(guān)系模式中包括職工號(hào)、姓名、性別、出生日期、婚姻狀 況、學(xué)歷、學(xué)位、政治面貌、職稱、職務(wù)、工資、工齡、教學(xué) 效果等屬性。 學(xué)籍管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、職稱數(shù)據(jù); 課程管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、學(xué)歷、學(xué) 位、職稱、教學(xué)效果數(shù)據(jù)教師管理應(yīng)用則可以查詢教師的全部數(shù)據(jù)。7

43、27.4.4 設(shè)計(jì)用戶子模式定義用戶外模式時(shí)應(yīng)該更注重考慮用(3) 簡化用戶對(duì)系統(tǒng)的使用如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖。例子:經(jīng)常查詢所選課程中有四門以上不及格或所選課程平均分小于70分的學(xué)生姓名。select sno,sname,ssex,sdeptfrom sc,studentwhere sc.sno=student.sno and grade4unionselect sno,sname,ssex,sdeptfrom sc,studentwhere sc.sno=student.sno group by sno having avg

44、(grade)70create view xuwei-s as . .73(3) 簡化用戶對(duì)系統(tǒng)的使用例子:經(jīng)常查詢所選課程中有四門以7.5 數(shù)據(jù)庫的物理設(shè)計(jì) 數(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ì)。數(shù)據(jù)庫物理設(shè)計(jì)的步驟: (1)確定數(shù)據(jù)庫的物理結(jié)構(gòu) (2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。 如果評(píng) 價(jià)結(jié)果滿足原設(shè)計(jì)要求則可進(jìn)入到物理實(shí)施階段, 否則,就需要重新設(shè)計(jì)或修改物理結(jié)構(gòu),有時(shí)甚至要返回 邏輯設(shè)計(jì)階段修 改數(shù)據(jù)模型。747.5 數(shù)據(jù)庫的物理

45、設(shè)計(jì) 數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)數(shù)據(jù)庫物理設(shè)計(jì)步驟圖數(shù)據(jù)庫物理設(shè)計(jì)確定數(shù)據(jù)庫的物理結(jié)構(gòu)評(píng)價(jià)數(shù)據(jù)庫的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫實(shí)施物理模型邏輯模型75數(shù)據(jù)庫物理設(shè)計(jì)步驟圖數(shù)據(jù)庫物理設(shè)計(jì)確定數(shù)據(jù)庫的物理結(jié)構(gòu)評(píng)價(jià)數(shù)7.5.1 數(shù)據(jù)庫的物理設(shè)計(jì)的內(nèi)容和方法設(shè)計(jì)物理數(shù)據(jù)庫結(jié)構(gòu)的準(zhǔn)備工作: 1. 充分了解應(yīng)用環(huán)境,詳細(xì)分析要運(yùn)行的事務(wù),以獲得選擇物理 數(shù)據(jù)庫設(shè)計(jì)所需參數(shù)。 對(duì)于數(shù)據(jù)庫查詢事務(wù),要得到如下信息: 查詢的關(guān)系 查詢條件所涉及的屬性 連接條件所涉及的屬性 查詢的投影屬性 對(duì)于數(shù)據(jù)更新事務(wù),要得到如下信息: 被更新的關(guān)系 每個(gè)關(guān)系上的更新操作條件所涉及的屬性 修改操作要改變的屬性值 每個(gè)事務(wù)在各關(guān)

46、系上運(yùn)行的頻率和性能要求2. 充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲(chǔ)結(jié)構(gòu)。767.5.1 數(shù)據(jù)庫的物理設(shè)計(jì)的內(nèi)容和方法設(shè)計(jì)物理數(shù)據(jù)庫結(jié)構(gòu)關(guān)系數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容: 1. 為關(guān)系模式選擇存取方法(建立存取路徑)。 2. 設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲(chǔ)結(jié)構(gòu)。77關(guān)系數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容:777.5.2 關(guān)系模式存取方法選擇DBMS常用存取方法: 索引方法,目前主要是B+樹索引方法; 聚簇(Cluster)方法; HASH方法;一、索引存取方法的選擇Sb.dbf編號(hào) 名稱 061-1 061-2 .038-1 .索引文件sy1.idx08/12/9705/08/955

47、710/12/89 4 .啟用日期物理記錄號(hào)索引文件sy2.idx23 5275.0022241292.12.4311151000.00 7部門+str(價(jià)格)物理記錄號(hào)索引文件787.5.2 關(guān)系模式存取方法選擇DBMS常用存取方法:一、選擇索引存取方法的一般規(guī)則:1.如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這 個(gè) (或這組)屬性上建立索引(或組合索引); 2.如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引;3.如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引;注意:關(guān)系上定義的索引數(shù)過多會(huì)帶來較多的額外開

48、銷 (1) 維護(hù)索引的開銷 (2)查找索引的開銷選擇索引存取方法的主要內(nèi)容: 根據(jù)應(yīng)用要求確定 對(duì)哪些屬性列建立索引; 對(duì)哪些屬性列建立組合索引; 對(duì)哪些索引要設(shè)計(jì)為唯一索引;79選擇索引存取方法的一般規(guī)則:注意:關(guān)系上定義的索引數(shù)過多會(huì)帶二、聚簇存取方法的選擇 聚簇為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇。Sb.dbf編號(hào) 名稱 061-1 061-2 .038-1 .建立sb.db名稱字段的聚簇Sb.dbf037-1 U盤038-1 U盤061-1 車床061-2 車床062-1 車床013-1 打印機(jī). 編號(hào)

49、名稱 80二、聚簇存取方法的選擇 聚簇為了提高某個(gè)屬性(或?qū)賁b.dbf編號(hào) 名稱 061-1 061-2 .038-1 .建立sb.db名稱字段的聚簇Sb.dbf037-1 U盤038-1 U盤061-1 車床061-2 車床062-1 車床013-1 打印機(jī). 編號(hào) 名稱 建立sb.db名稱字段的索引Sb.dbf索引文件sy1.idxU盤U盤93音響 4 .名稱物理記錄號(hào)編號(hào) 名稱 061-1 061-2 .038-1 .81Sb.dbf編號(hào) 名稱 061-1 建立sb選擇聚簇存取方法的步驟: 1. 設(shè)計(jì)候選聚簇2. 檢查候選聚簇中的關(guān)系,取消其中不必要的關(guān)系82選擇聚簇存取方法的步驟:2

50、. 檢查候選聚簇中的關(guān)系,取消其中聚簇的局限性:1. 聚簇只能提高某些特定應(yīng)用的性能;2. 建立與維護(hù)聚簇的開銷相當(dāng)大; 對(duì)已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動(dòng)其物理存儲(chǔ)位置,并使此關(guān)系上原有的索引無效,必須重建。 當(dāng)一個(gè)元組的聚簇碼改變時(shí),該元組的存儲(chǔ)位置也要做相應(yīng)移動(dòng)。聚簇的適用范圍:1.很少進(jìn)行增刪操作的基本表和很少對(duì)列進(jìn)行修改操作的基本表可以建立聚簇;2. 既適用于單個(gè)關(guān)系獨(dú)立聚簇,也適用于多個(gè)關(guān)系組合聚簇3. 當(dāng)通過聚簇碼進(jìn)行訪問或連接是該關(guān)系的主要應(yīng)用,與聚簇碼無關(guān)的其他訪問很少,可以使用聚簇。尤其當(dāng)SQL語句中包含有與聚簇碼有關(guān)的ORDER BY,GROUP BY,UNION,

51、DISTINCT等子句或短語時(shí),使用聚簇特別有利,可以省去對(duì)結(jié)果集的排序操作。83聚簇的局限性:聚簇的適用范圍:83三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則:當(dāng)一個(gè)關(guān)系滿足下列兩個(gè)條件時(shí),可以選擇HASH存取方法(1)該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中(2)該關(guān)系的大小可預(yù)知,而且不變;或該關(guān)系的大小動(dòng)態(tài)改變,但所選用的DBMS提供了動(dòng)態(tài) HASH存取方法。84三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則:847.5.3 確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫物理結(jié)構(gòu)的內(nèi)容:(1) 確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu) 關(guān)系 索引 聚簇 日志 備份(2) 確

52、定系統(tǒng)配置1. 確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu)基本原則:根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分 存取頻率較高部分與存取頻率較低部分 分開存放,以提高系統(tǒng)性能.857.5.3 確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫物理結(jié)構(gòu)的內(nèi)容:例:數(shù)據(jù)庫數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)時(shí)才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上。如果計(jì)算機(jī)有多個(gè)磁盤,可以考慮將表和索引分別放在不同的磁盤上,在查詢時(shí),由于兩個(gè)磁盤驅(qū)動(dòng)器分別在工作,因而可以保證物理讀寫速度比較快??梢詫⒈容^大的表分別放在兩個(gè)磁盤上,以加快存取速度,這在多用戶環(huán)境下特別有效??梢詫⑷罩疚募c數(shù)據(jù)庫對(duì)象(表、索引等)放在不同的磁盤以改進(jìn)系統(tǒng)的性能。86例:86DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù): 同時(shí)使用數(shù)據(jù)庫的用戶數(shù) 同時(shí)打開的數(shù)據(jù)庫對(duì)象數(shù) 使用的緩沖區(qū)長度

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論