




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第7章 數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計7.5 數(shù)據(jù)庫的物理設(shè)計7.6 數(shù)據(jù)庫實施7.7 數(shù)據(jù)庫運行與維護7.8 小結(jié)1第7章 數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述17.1數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計:指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù) 庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有 效地存儲數(shù)據(jù)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求.7.1.1 數(shù)據(jù)庫和信息系統(tǒng)信息系統(tǒng)是提供信息、輔助人們對環(huán)境進行控制和進行決 策的 系統(tǒng)。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)。數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。27.1數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計:指對于一個給定
2、的應(yīng)用環(huán)境,構(gòu)進行數(shù)據(jù)庫設(shè)計應(yīng)具備的技術(shù)和知識:數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計技術(shù);計算機科學(xué)的基礎(chǔ)知識和程序設(shè)計的方法和技巧;軟件工程的原理和方法;應(yīng)用領(lǐng)域的知識;3進行數(shù)據(jù)庫設(shè)計應(yīng)具備的技術(shù)和知識:數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫7.1.2.數(shù)據(jù)庫設(shè)計的特點 數(shù)據(jù)庫建設(shè)是硬件、軟件和干件的結(jié)合三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)技術(shù)與管理的界面稱之為“干件”數(shù)據(jù)庫設(shè)計應(yīng)該與應(yīng)用系統(tǒng)設(shè)計相結(jié)合結(jié)構(gòu)(數(shù)據(jù))設(shè)計:設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu)行為(處理)設(shè)計:設(shè)計應(yīng)用程序、事務(wù)處理等47.1.2.數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫建設(shè)是硬件、軟件和干件的現(xiàn)實世界數(shù)據(jù)分析概念模型設(shè)計邏輯數(shù)據(jù)庫設(shè)計物理數(shù)據(jù)庫設(shè)計子模式設(shè)計建
3、立數(shù)據(jù)功能分析功能模型事務(wù)設(shè)計程序說明應(yīng)用程序設(shè)計程序編碼調(diào)試功能說明5現(xiàn)實世界數(shù)據(jù)分析概念模型設(shè)計邏輯數(shù)據(jù)庫設(shè)計物理數(shù)據(jù)庫設(shè)計子模7.1.3.數(shù)據(jù)庫設(shè)計方法手工試湊法設(shè)計質(zhì)量與設(shè)計人員的經(jīng)驗和水平有直接關(guān)系缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保證數(shù)據(jù)庫運行一段時間后常常又不同程度地發(fā)現(xiàn)各種問題,增加了維護代價規(guī)范設(shè)計法手工設(shè)計方法基本思想: 過程迭代和逐步求精計算機輔助設(shè)計ORACLE Designer 2000SYBASE PowerDesigner67.1.3.數(shù)據(jù)庫設(shè)計方法手工試湊法規(guī)范設(shè)計法計算機輔助設(shè)計7.1.4.數(shù)據(jù)庫設(shè)計的基本步驟 數(shù)據(jù)庫設(shè)計的準(zhǔn)備工作: 選定參加設(shè)計的
4、人員數(shù)據(jù)庫設(shè)計的人員組成系統(tǒng)分析人員數(shù)據(jù)庫設(shè)計人員程序員用戶數(shù)據(jù)庫管理人員自始至終參與數(shù)據(jù)庫設(shè)計參與系統(tǒng)實施階段參與需求分析和數(shù)據(jù)庫的運行維護77.1.4.數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的準(zhǔn)備工作: 需求分析; 概念結(jié)構(gòu)設(shè)計; 邏輯結(jié)構(gòu)設(shè)計; 物理結(jié)構(gòu)設(shè)計; 數(shù)據(jù)庫實施; 數(shù)據(jù)庫運行和維護;數(shù)據(jù)庫設(shè)計的過程:8 需求分析;數(shù)據(jù)庫設(shè)計的過程:8需求收集和分析設(shè)計概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)數(shù)據(jù)模型優(yōu)化設(shè)計物理結(jié)構(gòu)評價設(shè)計,性能預(yù)測物理實現(xiàn)試驗性運行使用、維護數(shù)據(jù)庫不滿意不滿意P202 圖7.29需求收集和分析設(shè)計概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)數(shù)據(jù)模型優(yōu)化設(shè)計物理結(jié)設(shè)計特點:在設(shè)計過程中把數(shù)據(jù)庫的設(shè)計和對數(shù)據(jù)庫中數(shù)
5、據(jù)處理的設(shè)計緊密結(jié)合起來將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進行,相互參照,相互補充,以完善兩方面的設(shè)計設(shè)計過程各個階段的設(shè)計描述:P204圖7.310設(shè)計特點:在設(shè)計過程中把數(shù)據(jù)庫的設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)IPO表輸入:輸出:處理:CreatLoadMain( )ifthenend 分區(qū)1 分區(qū)2概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理設(shè)計設(shè)計階 段 設(shè) 計 描 述數(shù) 據(jù)處 理需求分 析 數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、 數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(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)) 存儲安排 方法選擇 存取路徑建立 模塊設(shè)計 IPO表實施階段 編寫模式 裝入數(shù)據(jù) 數(shù)據(jù)庫試運行 程序編碼、 編譯聯(lián)結(jié)、 測試運行、維護 性能監(jiān)測、轉(zhuǎn)儲/恢復(fù) 數(shù)據(jù)庫重組和重構(gòu) 新舊系統(tǒng)轉(zhuǎn)換、運行、維護(修正性、適應(yīng)性、改善性維護)11IPO表CreatMain( ) 數(shù)據(jù)庫的各級模式圖:應(yīng)用要求1應(yīng)用要求2應(yīng)用要求3應(yīng)用要求4概念模式邏輯模式外模式1外模式2外模式3外模式4內(nèi)模式綜合轉(zhuǎn)換映象映象12數(shù)據(jù)庫的各級模式圖:應(yīng)用要求1應(yīng)用要求2應(yīng)用要求3應(yīng)用要求47.2 需求分析7.2.1 需求分析的任務(wù)需求分析就是分析用戶的需要與
7、要求:需求分析是設(shè)計數(shù)據(jù)庫的起點需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用(1)通過詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求.(2)在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計數(shù)據(jù)庫.137.2 需求分析7.2.1 需求分析的任務(wù)需求分析就是分需求分析的重點:調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。(1)信息要求用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)由用戶的信息要求可
8、以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)(2)處理要求對處理功能的要求對處理的響應(yīng)時間的要求對處理方式的要求(批處理 / 聯(lián)機處理)(3)安全性與完整性要求 新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。14需求分析的重點:調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、需求分析的難點:確定用戶的最終需求用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準(zhǔn)確地表達(dá)自己的需求,他們所提出的需求往往不斷地變化。設(shè)計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。新的硬件、軟件技術(shù)的出現(xiàn)也會使用戶需求發(fā)生變化。解決方法:
9、設(shè)計人員必須采用有效的方法,與用戶不斷深入地進行交流,才能逐步得以確定用戶的實際需求15需求分析的難點:確定用戶的最終需求解決方法:15 調(diào)查組織機構(gòu)情況 組織部門的組成情況 各部門的職責(zé)等 調(diào)查各部門的業(yè)務(wù)活動情況。調(diào)查重點之一。 各個部門輸入和使用什么數(shù)據(jù) 如何加工處理這些數(shù)據(jù) 輸出什么信息 輸出到什么部門 輸出結(jié)果的格式是什么 在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求。調(diào)查重點之二。 信息要求 處理要求 完全性與完整性要求一、 調(diào)查用戶需求的具體步驟:7.2.2 需求分析的方法16 調(diào)查組織機構(gòu)情況 調(diào)查各部門的業(yè)務(wù)活動情況。調(diào)查重點之 確定新系統(tǒng)的邊界確定哪些功能由計算機
10、完成或?qū)頊?zhǔn)備讓計算機完成確定哪些活動由人工完成 由計算機完成的功能就是新系統(tǒng)應(yīng)該實現(xiàn)的功能。二、常用調(diào)查方法跟班作業(yè)通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動的情況能比較準(zhǔn)確地理解用戶的需求,但比較耗時開調(diào)查會通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求請專人介紹17 確定新系統(tǒng)的邊界二、常用調(diào)查方法跟班作業(yè)17詢問對某些調(diào)查中的問題,可以找專人詢問設(shè)計調(diào)查表請用戶填寫如果調(diào)查表設(shè)計合理,則很有效,且易于為用戶接受查閱記錄查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄三、進一步分析和表達(dá)用戶需求分析和表達(dá)用戶的需求的常用方法自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)SA方法從最上層的系
11、統(tǒng)組織機構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。18詢問三、進一步分析和表達(dá)用戶需求分析和表達(dá)用戶的需求的常用1首先把任何一個系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲信息要求數(shù)據(jù)來源處理數(shù)據(jù)輸出處理要求2分解處理功能和數(shù)據(jù)(1)分解處理功能將處理功能的具體內(nèi)容分解為若干子功能,再將每個子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達(dá)清楚為止(2)分解數(shù)據(jù)在處理功能逐步分解的同時,其所用的數(shù)據(jù)也逐級分解,形成若干層次的數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系系統(tǒng)高層抽象圖191首先把任何一個系統(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è)我們要開發(fā)一個學(xué)校管理系統(tǒng)。1經(jīng)過可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由教師管理子系統(tǒng)、學(xué)生管理子系統(tǒng)、后勤管理子系統(tǒng)組成,每個子系統(tǒng)分別配備一個開發(fā)小組。2進一步細(xì)化各個子系統(tǒng)。其中學(xué)生管理子系統(tǒng)開發(fā)小組通過進行進一步的需求調(diào)查,明確了該子系統(tǒng)的主要功能是進行學(xué)籍管理和課程管理,包括學(xué)生報到、入學(xué)、畢業(yè)的管理,學(xué)生上課情況的管理。通過詳細(xì)的信息流程分析和數(shù)據(jù)收集后,他們生成了該子系
13、統(tǒng)的數(shù)據(jù)流圖。22實例:假設(shè)我們要開發(fā)一個學(xué)校管理系統(tǒng)。227.2.3 數(shù)據(jù)字典一、數(shù)據(jù)字典的用途數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合數(shù)據(jù)字典是進行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計中占有很重要的地位237.2.3 數(shù)據(jù)字典一、數(shù)據(jù)字典的用途數(shù)據(jù)字典是各類數(shù)據(jù)描數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)項數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲處理過程 數(shù)據(jù)項是數(shù)據(jù)的最小組成單位 若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描 述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。二、數(shù)據(jù)字典的內(nèi)容24數(shù)據(jù)字典的內(nèi)容二、數(shù)據(jù)字典的內(nèi)容24數(shù)據(jù)項是不可再分的數(shù)據(jù)單位 對數(shù)據(jù)項的描述數(shù)據(jù)項描述數(shù)據(jù)項名,數(shù)據(jù)項含義說明
14、, 別名,數(shù)據(jù)類型,長度,取值范圍, 取值含義,與其他數(shù)據(jù)項的邏輯關(guān)系,數(shù)據(jù)項之間的聯(lián)系 數(shù)據(jù)項例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。 數(shù)據(jù)項,以“學(xué)號”為例: 數(shù)據(jù)項名:學(xué)號 含義說明:唯一標(biāo)識每個學(xué)生 別名:學(xué)生編號 類型:字符型 長度: 8 取值范圍:00000000至99999999 取值含義:前兩位標(biāo)別該學(xué)生所在年級, 后六位按順序編號 與其他數(shù)據(jù)項的邏輯關(guān)系:25數(shù)據(jù)項是不可再分的數(shù)據(jù)單位 數(shù)據(jù)項例:學(xué)生學(xué)籍管理子系統(tǒng)的 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。 一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。 對數(shù)據(jù)結(jié)構(gòu)的描述數(shù)據(jù)
15、結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)名,含義說明, 組成:數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 以“學(xué)生”為例 “學(xué)生”是該系統(tǒng)中的一個核心數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)結(jié)構(gòu)名:學(xué)生 含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié) 構(gòu),定義了一個學(xué)生的有關(guān)信息 組成:學(xué)號,姓名,性別,年齡, 所在系,年級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ù)穆窂健?對數(shù)據(jù)流的描述數(shù)據(jù)流描述數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結(jié)構(gòu), 平均流量,高峰期流量數(shù)據(jù)流來源是說明該數(shù)據(jù)流來自哪個過程數(shù)據(jù)流去向是說明該數(shù)據(jù)流將到哪個過程去平均流量是指在單位時間(每天、每周、每月等)里的傳輸次數(shù)高峰期流量
16、則是指在高峰時期的數(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ù)存儲數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。對數(shù)據(jù)存儲的描述數(shù)據(jù)存儲描述數(shù)據(jù)存儲名,說明,編號, 輸入的數(shù)據(jù)流 ,輸出的數(shù)據(jù)流 , 組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量,存取頻度,存取方式輸入的數(shù)據(jù)流:指出數(shù)據(jù)來源輸出的數(shù)據(jù)流:指出數(shù)據(jù)去向數(shù)據(jù)量:每次存取多少數(shù)據(jù)存取頻度:每天(或每小時、每周等)存取幾次
17、等信息存取方法:批處理 / 聯(lián)機處理;檢索 / 更新;順序檢索 / 隨機檢索29 數(shù)據(jù)存儲數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的數(shù)據(jù)存儲“學(xué)生登記表”可如下描述: 數(shù)據(jù)存儲名:學(xué)生登記表 說明:記錄學(xué)生的基本情況輸入數(shù)據(jù)流:學(xué)生信息維護模塊 輸出數(shù)據(jù)流:學(xué)生信息維護模塊、學(xué)生信息查詢模塊 組成:學(xué)生 數(shù)據(jù)量:每年3000張 存取方式:隨機存取30數(shù)據(jù)存儲“學(xué)生登記表”可如下描述:30 處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息處理過程說明性信息的描述處理過程描述處理過程名,說明, 輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流, 處理:簡要說明簡要
18、說明:主要說明該處理過程的功能及處理要求功能:該處理過程用來做什么處理要求:處理頻度要求(如單位時間里處理多少事務(wù),多少數(shù)據(jù)量);響應(yīng)時間要求等處理要求是后面物理設(shè)計的輸入及性能評價的標(biāo)準(zhǔn)31 處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述處理過程“分配宿舍”可如下描述:處理過程名:分配宿舍說明:為所有新生分配學(xué)生宿舍輸入:學(xué)生數(shù)據(jù)流,宿舍數(shù)據(jù)流,輸出:宿舍安排數(shù)據(jù)流處理:在新生報到后,為所有新生分配學(xué)生宿舍。要求同一 間宿舍只能安排同一性別的學(xué)生,同一個學(xué)生只能 安排在一個宿舍中。每個學(xué)生的居 住面積不小于3平 方米。安排新生宿舍其處理時間應(yīng)不超過15分鐘。 32處理過程“分配宿舍
19、”可如下描述:327.3 概念結(jié)構(gòu)設(shè)計7.3.1 概念結(jié)構(gòu)現(xiàn)實世界機器世界信息世界需求分析概念結(jié)構(gòu)設(shè)計337.3 概念結(jié)構(gòu)設(shè)計7.3.1 概念結(jié)構(gòu)現(xiàn)實世界機器世界概念結(jié)構(gòu)的特點:(1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。(2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計成功的關(guān)鍵。(3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和擴充。(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定。描述概念
20、模型的工具:E-R模型34概念結(jié)構(gòu)的特點:概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模7.3.2 概念結(jié)構(gòu)設(shè)計的方法與步驟設(shè)計概念結(jié)構(gòu)的四類方法:自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)逐步擴張 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。357.3.2 概念結(jié)構(gòu)設(shè)計的方法與步驟設(shè)計概念結(jié)構(gòu)的四類方法自頂向下方法圖36自頂向下方
21、法圖36自底向上方法圖37自底向上方法圖37逐步擴張方法圖38逐步擴張方法圖38常用策略:自頂向下地進行需求分析自底向上地設(shè)計概念結(jié)構(gòu)(P211圖7.8)自底向上設(shè)計概念結(jié)構(gòu)的步驟:第1步:抽象數(shù)據(jù)并設(shè)計局部視圖第2步:集成局部視圖,得到全局概念結(jié)構(gòu)(P211圖7.9)39常用策略:(P211圖7.8)自底向上設(shè)計概念結(jié)構(gòu)的步驟:(7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象從實際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié)把這些特性用各種概念精確地加以描述這些概念組成了某種模型三種常用抽象1. 分類(Classification)現(xiàn)實世界中一組對象,這些對象
22、具有某些共同的特性和行為注:它抽象了對象值和型之間的“is member of”的語義 在E-R模型中,實體型就是這種抽象 例:P212圖7.10定義某一類概念407.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計概念結(jié)構(gòu)是對現(xiàn)實世界的一2. 聚集(Aggregation)定義某一類型的組成成分它抽象了對象內(nèi)部類型和成分之間“is part of”的語義在E-R模型中若干屬性的聚集組成了實體型,就是這種抽象例:P212圖7.11,圖7.123. 概括(Generalization)定義類型之間的一種子集聯(lián)系它抽象了類型之間的“is subset of”的語義概括有一個很重要的性質(zhì):繼承性。子類繼承超類上定義的
23、所有抽象。 例:P213圖7.13412. 聚集(Aggregation)3. 概括(Genera概念結(jié)構(gòu)設(shè)計的第一步:對需求分析階段收集到的數(shù)據(jù)進行分類、組織(聚集),形成實體實體的屬性,標(biāo)識實體的碼確定實體之間的聯(lián)系類型(1:1,1:n,m:n) 設(shè)計分E-R圖。具體做法:選擇局部應(yīng)用需求分析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個系統(tǒng)。如:P216 圖7.18設(shè)計分E-R圖首先需要根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個適當(dāng)層次的數(shù)據(jù)流圖,讓這組圖中每一部分對應(yīng)一個局部應(yīng)用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點,設(shè)計分E-R圖。 通常以中層數(shù)據(jù)流圖作為設(shè)計分E-R圖的依據(jù)。42概念結(jié)
24、構(gòu)設(shè)計的第一步:具體做法:選擇局部應(yīng)用需求分析階段,例:由于學(xué)籍管理、課程管理等都不太復(fù)雜,因此可以它們?nèi)胧衷O(shè)計學(xué)生管理子系統(tǒng)的分E-R圖。如果局部應(yīng)用比較復(fù)雜,則可以從更下層的數(shù)據(jù)流圖入手。2.逐一設(shè)計分E-R圖 將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實體、實體的屬性、標(biāo)識實體的碼,確定實體之間的聯(lián)系及其類型(1:1,1:n,m:n)如何抽象實體和屬性:實體:現(xiàn)實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實體之間是“is member of的關(guān)系。 例:在學(xué)校環(huán)境中,可把張三、李四等對象抽象為學(xué)生實體。43例:由于學(xué)籍管理、課
25、程管理等都不太復(fù)雜,因此可以它們?nèi)胧衷O(shè)計屬性:對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是“is part of的關(guān)系。例:學(xué)號、姓名、專業(yè)、年級等可以抽象為學(xué)生實體的屬性。其中學(xué)號為標(biāo)識學(xué)生實體的碼。如何區(qū)分實體和屬性:實體與屬性是相對而言的。同一事物,在一種應(yīng)用環(huán)境中作為“屬性”,在另一種應(yīng)用環(huán)境中就必須作為“實體”。例:學(xué)校中的系,在某種應(yīng)用環(huán)境中,它只是作為“學(xué)生”實體的一個屬性,表明一個學(xué)生屬于哪個系;而在另一種環(huán)境中,由于需要考慮一個系的系主任、教師人數(shù)、學(xué)生人數(shù)、辦公地點等,這時它就需要作為實體了。44屬性:對象類型的組成成分可以抽象為實體的屬性。組成成分與對
26、象一般原則:屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項,不能再由另一些屬性組成。屬性不能與其他實體具有聯(lián)系。聯(lián)系只發(fā)生在實體之間。符合上述兩條特性的事物一般作為屬性對待。為了簡化E-R圖的處置,現(xiàn)實世界中的事物凡能夠作為屬性對待的,應(yīng)盡量作為屬性。舉例:例1:“學(xué)生”由學(xué)號、姓名等屬性進一步描述,根據(jù)準(zhǔn)則, “學(xué)生”只能作為實體,不能作為屬性。例2:職稱通常作為教師實體的屬性,但在涉及住房分配時,由于分房與職稱有關(guān),也就是說職稱與住房實體之間有聯(lián)系,根據(jù)準(zhǔn)則,這時把職稱作為實體來處理會更合適些。(教程214圖7-15)45一般原則:舉例:45例3: (p215 圖7.16)病人住
27、院號姓名病房號病人住院號姓名住在病房醫(yī)療醫(yī)生1m1m例4: (p215 圖7.17)貨物貨號單價存放倉庫號存量貨物貨號單價存放倉庫存量mn倉庫號面積貨物貨號單價存放倉庫存量m1倉庫號面積管理職工1m46例3: (p215 圖7.16)病人住院號姓名病房號病人住 需求分析DFD(數(shù)據(jù)流圖)DD(數(shù)據(jù)字典)概念結(jié)構(gòu)設(shè)計(1)選擇局部應(yīng)用(2)逐一設(shè)計分ER圖(3)合并,消除各種沖突,形成初步ER圖。(4)修改和重構(gòu),消除不必要的冗余,形成基本ER圖。第1步:抽象數(shù)據(jù)并設(shè)計局部視圖第2步:集成局部視圖,得到全局概念結(jié)構(gòu)分E-R圖總E-R圖47 需求分析DFD(數(shù)據(jù)流圖)概念結(jié)構(gòu)設(shè)計(1)選擇局部應(yīng)用
28、實例:銷售管理子系統(tǒng)分E-R圖的設(shè)計。某工廠信息管理系統(tǒng)物資管理子系統(tǒng)銷售管理子系統(tǒng)人事管理子系統(tǒng)銷售管理子系統(tǒng)需求分析第一層數(shù)據(jù)流圖第二層數(shù)據(jù)流圖數(shù)據(jù)字典接收訂單處理訂單開發(fā)票支付過帳銷售管理子系統(tǒng)概念結(jié)構(gòu)設(shè)計分E-R圖總E-R圖48實例:銷售管理子系統(tǒng)分E-R圖的設(shè)計。某工廠信息管理系統(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每個實體的屬性和主碼
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))一次集成多個分E-R圖通常用于局部視圖比較簡單時逐步累積式(P219圖7.25(b))首先集成兩個局部視圖(通常是比較關(guā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é)號是數(shù)字,因此某些部門(即局部應(yīng)用)將 學(xué)號定義為整數(shù)形式,而由于學(xué)號不用參與運算, 因此另一些部門(即局部應(yīng)用)將學(xué)號定義為字符 型形式。 例2, 某些部門(即局部應(yīng)用)以出生日期形式表示學(xué)生 的年齡,而另一些部門(即局部應(yīng)用)用整數(shù)形式 表示學(xué)生的年齡。53一、合并分E-R圖,生成初步E-R圖 沖突的種類:1.屬(2)屬性取值單位沖突。 例:學(xué)生的身高,有的以米為單位,有的以厘米為單位,有 的以尺為單位。屬性沖突的解決方法: 通常用討論、協(xié)商等行政手段加以解決。2.命名沖突 (1)同名異義:不同意義的對象
31、在不同的局部應(yīng)用中具有相同 的名字 例,局部應(yīng)用A中將教室稱為房間 局部應(yīng)用B中將學(xué)生宿舍稱為房間 (2)異名同義(一義多名):同一意義的對象在不同的局部應(yīng) 用中具有不同的名字 例,有的部門把教科書稱為課本 有的部門則把教科書稱為教材54(2)屬性取值單位沖突。屬性沖突的解決方法:2.命名沖突54命名沖突的解決方法: 通過討論、協(xié)商等行政手段加以解決。3.結(jié)構(gòu)沖突 (1)同一對象在不同應(yīng)用中具有不同的抽象 例,“課程”在某一局部應(yīng)用中被當(dāng)作實體 在另一局部應(yīng)用中則被當(dāng)作屬性 解決方法:通常是把屬性變換為實體或把實體變換為屬性, 使同一對象具有相同的抽象。變換時要遵循兩個準(zhǔn)則。(2)同一實體在不
32、同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 產(chǎn)生原因:不同的局部應(yīng)用關(guān)心的是該實體的不同側(cè)面。 解決方法:使該實體的屬性取各分E-R圖中屬性的并集,再適 當(dāng)設(shè)計屬性的次序。55命名沖突的解決方法:3.結(jié)構(gòu)沖突(2)同一實體在不同局部視圖4.實體間聯(lián)系類型的沖突 例1, 實體E1與E2在局部應(yīng)用A中是多對多聯(lián)系,而在局部應(yīng) 用B中是一對多聯(lián)系 例2, 在局部應(yīng)用X中E1與E2有聯(lián)系,而在局部應(yīng)用Y中 E1、E2、E3三者之間有聯(lián)系。解決方法:根據(jù)應(yīng)用語義對實體聯(lián)系的類型進行綜合或調(diào)整。P221頁 圖7.27564.實體間聯(lián)系類型的沖突 例1, 實體E1與E2在局部應(yīng)二、消
33、除不必要的冗余,設(shè)計生成基本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ī)范化理論P222 圖7.28P223 圖 7.3057二、消除不必要的冗余,設(shè)計生成基本E-R圖初步E-R圖分E-數(shù)據(jù)庫的設(shè)計過程:需求分析概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理數(shù)據(jù)庫設(shè)計實施運行維護設(shè)計過程中往往還會有許多反復(fù)。58數(shù)據(jù)庫的設(shè)計過程:58概念結(jié)構(gòu)設(shè)計小結(jié):現(xiàn)實世界機器世界信息世界需求分析概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計的步驟:(1)選擇局部應(yīng)用(2)逐一設(shè)計
34、分ER圖(3)合并,消除各種沖突,形成初步ER圖。(4)修改和重構(gòu),消除不必要的冗余,形成基本ER圖。59概念結(jié)構(gòu)設(shè)計小結(jié):現(xiàn)實世界機器世界信息世界需求分析概念結(jié)構(gòu)設(shè)7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù): 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),為了能夠用某一DBMS實現(xiàn)用戶需求,還必須將概念結(jié)構(gòu)進一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計所要完成的任務(wù)。邏輯結(jié)構(gòu)設(shè)計的步驟: (1)將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型。 (2)將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下 的數(shù)據(jù)模型轉(zhuǎn)換。 (3)對數(shù)據(jù)模型進行優(yōu)化 (4)設(shè)計用戶子模式607.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù)
35、:邏輯結(jié)構(gòu)設(shè)計的步驟邏輯結(jié)構(gòu)設(shè)計轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下的據(jù)模型 優(yōu)化模型概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫物理設(shè)計基本E-R圖轉(zhuǎn)換規(guī)則特定DBMS的特點與限制優(yōu)化方法如規(guī)范化理論邏輯模型邏輯結(jié)構(gòu)設(shè)計的三個步驟圖61邏輯結(jié)構(gòu)設(shè)計轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下的據(jù)模7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換 E-R圖由實體、實體的屬性和實體之間的聯(lián)系三個要素組成 關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合將E-R圖轉(zhuǎn)換為關(guān)系模型:將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。轉(zhuǎn)換原則: (1)一個實體型轉(zhuǎn)換為一個關(guān)系模式。 關(guān)系的屬性:實體型的屬性 關(guān)系的碼:實體型的碼 627.4.1
36、E-R圖向關(guān)系模型的轉(zhuǎn)換 E-R(2)一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。 1)轉(zhuǎn)換為一個獨立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性 關(guān)系的候選碼:每個實體的碼均是該關(guān)系的候選碼 2) 與某一端對應(yīng)的關(guān)系模式合并 合并后關(guān)系的屬性:加入對應(yīng)關(guān)系的碼和聯(lián)系本身的屬性 合并后關(guān)系的碼:不變例子:部門和職工1:1領(lǐng)導(dǎo)聯(lián)系的轉(zhuǎn)換。部門(部門號,部門名,)職工(職工號 ,職工名,年齡,)領(lǐng)導(dǎo)(部門號,職工號)部門領(lǐng)導(dǎo)職工1163(2)一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任部門(部門號,部門名,)職工(職工號,職工名,
37、.,領(lǐng)導(dǎo)部門的部門號)部門領(lǐng)導(dǎo)職工11部門(部門號,部門名,部門領(lǐng)導(dǎo)的職工號)職工(職工號 ,職工名,年齡,)部門(部門號,部門名,)職工(職工號 ,職工名,年齡,)領(lǐng)導(dǎo)(部門號,職工號)64部門(部門號,部門名,)部門領(lǐng)導(dǎo)職工11部門(部門號,部(3) 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端 對應(yīng)的關(guān)系模式合并。 1) 轉(zhuǎn)換為一個獨立的關(guān)系模式關(guān)系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性關(guān)系的碼:n端實體的碼2) 與n端對應(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) 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與部門(部門號,部門名,)職工(職工號 ,職工名,年齡,)屬于(部門號,職工號)部門屬于職工1n部門(部門號,部門名,)職工(職工號,職工名,.,部門號)方法二:方法一:66部門(部門號,部門名,)部門屬于職工1n部門(部門號,部(4)一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。 關(guān)系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實體碼的組合例子:職工和產(chǎn)品m:n參加聯(lián)系的轉(zhuǎn)換。職工參加產(chǎn)品nm天數(shù)職工(職工號 ,職工名,年齡,)產(chǎn)品(產(chǎn)品號,產(chǎn)品名,.)參加(職工號,產(chǎn)品號,工作天數(shù),.)67(4)一個m:n聯(lián)系轉(zhuǎn)
39、換為一個關(guān)系模式。例子:職工和產(chǎn)品m:(5)三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。 關(guān)系的屬性:與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實體碼的組合例子:供應(yīng)商、產(chǎn)品和零件三者m:n供應(yīng)聯(lián)系的轉(zhuǎn)換。(1)供應(yīng)(供應(yīng)商號,產(chǎn)品號,零件號,數(shù)量,.)68(5)三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。(6)具有相同碼的關(guān)系模式可合并。 目的:減少系統(tǒng)中的關(guān)系個數(shù)。 合并方法:將其中一個關(guān)系模式的全部屬性加入到另一個關(guān)系 模式中,然后去掉其中的同義屬性(可能同名也可 能不同名),并適當(dāng)調(diào)整屬性的次序。實例:P225部門()職工()產(chǎn)品()供應(yīng)商()零件
40、()領(lǐng)導(dǎo)屬于參加負(fù)責(zé)供應(yīng)職工工作()供應(yīng)()69(6)具有相同碼的關(guān)系模式可合并。實例:P225部門()領(lǐng)導(dǎo) 按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。 按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對它們進行合并或分解。注意:并不是規(guī)范化程度越高的關(guān)系就越優(yōu)。 對關(guān)系模式進行必要的分解,以提高數(shù)據(jù)操作的效率和存儲空間的利用率。 常用分解方法: 水平分解把(基本)關(guān)系的元組分為若干子集合,定義每個 子集合為一個子關(guān)系,以提高系統(tǒng)的效率。垂直分解把關(guān)系模式R的屬
41、性分解為若干子集合,形成 若干子關(guān)系模式。70 按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考查是否存在7.4.2 向特定DBMS規(guī)定的模型進行轉(zhuǎn)換7.4.3 數(shù)據(jù)模型的優(yōu)化 得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進一步提高數(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ù)依賴 按需求分析階段所得到的語義,分別寫出每個關(guān)系模式內(nèi)部各 屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴。 對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余 的聯(lián)系。717.4.2 向特定DBMS規(guī)定的模型進行轉(zhuǎn)換 7.4.4
42、 設(shè)計用戶子模式定義用戶外模式時應(yīng)該更注重考慮用戶的習(xí)慣與方便。包括三個方面:(1) 使用更符合用戶習(xí)慣的別名例:負(fù)責(zé)學(xué)籍管理的用戶習(xí)慣于稱教師模式的職工號為 教師編號。因此可以定義視圖,在視圖中職工號重 定義為教師編號(2) 針對不同級別的用戶定義不同的外模式,以滿足系統(tǒng) 對 安全性的要求。例:教師關(guān)系模式中包括職工號、姓名、性別、出生日期、婚姻狀 況、學(xué)歷、學(xué)位、政治面貌、職稱、職務(wù)、工資、工齡、教學(xué) 效果等屬性。 學(xué)籍管理應(yīng)用只能查詢教師的職工號、姓名、性別、職稱數(shù)據(jù); 課程管理應(yīng)用只能查詢教師的職工號、姓名、性別、學(xué)歷、學(xué) 位、職稱、教學(xué)效果數(shù)據(jù)教師管理應(yīng)用則可以查詢教師的全部數(shù)據(jù)。7
43、27.4.4 設(shè)計用戶子模式定義用戶外模式時應(yīng)該更注重考慮用(3) 簡化用戶對系統(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) 簡化用戶對系統(tǒng)的使用例子:經(jīng)常查詢所選課程中有四門以7.5 數(shù)據(jù)庫的物理設(shè)計 數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié) 構(gòu),它依賴于給定的計算機系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計。數(shù)據(jù)庫物理設(shè)計的步驟: (1)確定數(shù)據(jù)庫的物理結(jié)構(gòu) (2)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。 如果評 價結(jié)果滿足原設(shè)計要求則可進入到物理實施階段, 否則,就需要重新設(shè)計或修改物理結(jié)構(gòu),有時甚至要返回 邏輯設(shè)計階段修 改數(shù)據(jù)模型。747.5 數(shù)據(jù)庫的物理
45、設(shè)計 數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)數(shù)據(jù)庫物理設(shè)計步驟圖數(shù)據(jù)庫物理設(shè)計確定數(shù)據(jù)庫的物理結(jié)構(gòu)評價數(shù)據(jù)庫的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫實施物理模型邏輯模型75數(shù)據(jù)庫物理設(shè)計步驟圖數(shù)據(jù)庫物理設(shè)計確定數(shù)據(jù)庫的物理結(jié)構(gòu)評價數(shù)7.5.1 數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法設(shè)計物理數(shù)據(jù)庫結(jié)構(gòu)的準(zhǔn)備工作: 1. 充分了解應(yīng)用環(huán)境,詳細(xì)分析要運行的事務(wù),以獲得選擇物理 數(shù)據(jù)庫設(shè)計所需參數(shù)。 對于數(shù)據(jù)庫查詢事務(wù),要得到如下信息: 查詢的關(guān)系 查詢條件所涉及的屬性 連接條件所涉及的屬性 查詢的投影屬性 對于數(shù)據(jù)更新事務(wù),要得到如下信息: 被更新的關(guān)系 每個關(guān)系上的更新操作條件所涉及的屬性 修改操作要改變的屬性值 每個事務(wù)在各關(guān)
46、系上運行的頻率和性能要求2. 充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)。767.5.1 數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法設(shè)計物理數(shù)據(jù)庫結(jié)構(gòu)關(guān)系數(shù)據(jù)庫物理設(shè)計的內(nèi)容: 1. 為關(guān)系模式選擇存取方法(建立存取路徑)。 2. 設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)。77關(guān)系數(shù)據(jù)庫物理設(shè)計的內(nèi)容:777.5.2 關(guān)系模式存取方法選擇DBMS常用存取方法: 索引方法,目前主要是B+樹索引方法; 聚簇(Cluster)方法; HASH方法;一、索引存取方法的選擇Sb.dbf編號 名稱 061-1 061-2 .038-1 .索引文件sy1.idx08/12/9705/08/955
47、710/12/89 4 .啟用日期物理記錄號索引文件sy2.idx23 5275.0022241292.12.4311151000.00 7部門+str(價格)物理記錄號索引文件787.5.2 關(guān)系模式存取方法選擇DBMS常用存取方法:一、選擇索引存取方法的一般規(guī)則:1.如果一個(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這 個 (或這組)屬性上建立索引(或組合索引); 2.如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引;3.如果一個(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引;注意:關(guān)系上定義的索引數(shù)過多會帶來較多的額外開
48、銷 (1) 維護索引的開銷 (2)查找索引的開銷選擇索引存取方法的主要內(nèi)容: 根據(jù)應(yīng)用要求確定 對哪些屬性列建立索引; 對哪些屬性列建立組合索引; 對哪些索引要設(shè)計為唯一索引;79選擇索引存取方法的一般規(guī)則:注意:關(guān)系上定義的索引數(shù)過多會帶二、聚簇存取方法的選擇 聚簇為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇。Sb.dbf編號 名稱 061-1 061-2 .038-1 .建立sb.db名稱字段的聚簇Sb.dbf037-1 U盤038-1 U盤061-1 車床061-2 車床062-1 車床013-1 打印機. 編號
49、名稱 80二、聚簇存取方法的選擇 聚簇為了提高某個屬性(或?qū)賁b.dbf編號 名稱 061-1 061-2 .038-1 .建立sb.db名稱字段的聚簇Sb.dbf037-1 U盤038-1 U盤061-1 車床061-2 車床062-1 車床013-1 打印機. 編號 名稱 建立sb.db名稱字段的索引Sb.dbf索引文件sy1.idxU盤U盤93音響 4 .名稱物理記錄號編號 名稱 061-1 061-2 .038-1 .81Sb.dbf編號 名稱 061-1 建立sb選擇聚簇存取方法的步驟: 1. 設(shè)計候選聚簇2. 檢查候選聚簇中的關(guān)系,取消其中不必要的關(guān)系82選擇聚簇存取方法的步驟:2
50、. 檢查候選聚簇中的關(guān)系,取消其中聚簇的局限性:1. 聚簇只能提高某些特定應(yīng)用的性能;2. 建立與維護聚簇的開銷相當(dāng)大; 對已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動其物理存儲位置,并使此關(guān)系上原有的索引無效,必須重建。 當(dāng)一個元組的聚簇碼改變時,該元組的存儲位置也要做相應(yīng)移動。聚簇的適用范圍:1.很少進行增刪操作的基本表和很少對列進行修改操作的基本表可以建立聚簇;2. 既適用于單個關(guān)系獨立聚簇,也適用于多個關(guān)系組合聚簇3. 當(dāng)通過聚簇碼進行訪問或連接是該關(guān)系的主要應(yīng)用,與聚簇碼無關(guān)的其他訪問很少,可以使用聚簇。尤其當(dāng)SQL語句中包含有與聚簇碼有關(guān)的ORDER BY,GROUP BY,UNION,
51、DISTINCT等子句或短語時,使用聚簇特別有利,可以省去對結(jié)果集的排序操作。83聚簇的局限性:聚簇的適用范圍:83三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則:當(dāng)一個關(guān)系滿足下列兩個條件時,可以選擇HASH存取方法(1)該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中(2)該關(guān)系的大小可預(yù)知,而且不變;或該關(guān)系的大小動態(tài)改變,但所選用的DBMS提供了動態(tài) HASH存取方法。84三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則:847.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫物理結(jié)構(gòu)的內(nèi)容:(1) 確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu) 關(guān)系 索引 聚簇 日志 備份(2) 確
52、定系統(tǒng)配置1. 確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu)基本原則:根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分 存取頻率較高部分與存取頻率較低部分 分開存放,以提高系統(tǒng)性能.857.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫物理結(jié)構(gòu)的內(nèi)容:例:數(shù)據(jù)庫數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)時才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上。如果計算機有多個磁盤,可以考慮將表和索引分別放在不同的磁盤上,在查詢時,由于兩個磁盤驅(qū)動器分別在工作,因而可以保證物理讀寫速度比較快。可以將比較大的表分別放在兩個磁盤上,以加快存取速度,這在多用戶環(huán)境下特別有效。可以將日志文件與數(shù)據(jù)庫對象(表、索引等)放在不同的磁盤以改進系統(tǒng)的性能。86例:86DBMS產(chǎn)品一般都提供了一些存儲分配參數(shù): 同時使用數(shù)據(jù)庫的用戶數(shù) 同時打開的數(shù)據(jù)庫對象數(shù) 使用的緩沖區(qū)長度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025華云集團部分廣告設(shè)施使用權(quán)出讓合同樣本
- 2025官方合同范本:招標(biāo)合同協(xié)議書
- 供貨(酒)合同樣本
- 書籍出版合同樣本
- 個人茶具出售合同樣本
- 2025:探索合同法的世界
- 修路材料采購合同標(biāo)準(zhǔn)文本
- 農(nóng)場個人租房合同范例
- 買賣迷你廚房合同樣本
- 出售金條合同標(biāo)準(zhǔn)文本
- 農(nóng)業(yè)執(zhí)法業(yè)務(wù)培訓(xùn)課件
- 【MOOC】健康傳播:基礎(chǔ)與應(yīng)用-暨南大學(xué) 中國大學(xué)慕課MOOC答案
- 《基于地統(tǒng)計學(xué)方法的土壤重金屬污染物空間分布及擴散特征研究》
- 申能集團在線測評題目
- 企業(yè)管理咨詢服務(wù)合同與企業(yè)管理服務(wù)合同
- 中年職業(yè)規(guī)劃
- 中華人民共和國保守國家秘密法實施條例
- DB41T 2280-2022 路橋用泡沫輕質(zhì)土應(yīng)用技術(shù)規(guī)程
- 《電氣控制系統(tǒng)設(shè)計與裝調(diào)》課件 項目11 M7130平面磨床電氣控制線路的檢修
- 比較文學(xué)課件:流傳學(xué)
- 2023版初中語文新課程標(biāo)準(zhǔn)
評論
0/150
提交評論