數(shù)據(jù)庫設(shè)計方法及步驟詳解PPT_第1頁
數(shù)據(jù)庫設(shè)計方法及步驟詳解PPT_第2頁
數(shù)據(jù)庫設(shè)計方法及步驟詳解PPT_第3頁
數(shù)據(jù)庫設(shè)計方法及步驟詳解PPT_第4頁
數(shù)據(jù)庫設(shè)計方法及步驟詳解PPT_第5頁
已閱讀5頁,還剩205頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫系統(tǒng)概論AnIntroductiontoDatabaseSystem第七章數(shù)據(jù)庫設(shè)計2023/9/3

2023/9/3

第七章數(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小結(jié)2023/9/3

數(shù)據(jù)庫設(shè)計概述

數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。目標:為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效率的運行環(huán)境2023/9/3

7.1數(shù)據(jù)庫設(shè)計概述7.1.1數(shù)據(jù)庫設(shè)計的特點7.1.2

數(shù)據(jù)庫設(shè)計方法7.1.3數(shù)據(jù)庫設(shè)計的基本步驟7.1.4數(shù)據(jù)庫設(shè)計過程中的各級模式2023/9/3

7.1.1數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫建設(shè)的基本規(guī)律三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)管理數(shù)據(jù)庫建設(shè)項目管理企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理基礎(chǔ)數(shù)據(jù)收集、入庫更新新的數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和數(shù)據(jù)處理設(shè)計密切結(jié)合2023/9/3

數(shù)據(jù)庫設(shè)計的特點(續(xù))現(xiàn)實世界概念模型設(shè)計子模式設(shè)計物理數(shù)據(jù)庫設(shè)計邏輯數(shù)據(jù)庫設(shè)計建立數(shù)據(jù)庫數(shù)據(jù)分析功能分析功能模型功能說明事務(wù)設(shè)計程序說明應(yīng)用程序設(shè)計程序編碼調(diào)試結(jié)構(gòu)和行為分離的設(shè)計

2023/9/3

7.1數(shù)據(jù)庫設(shè)計概述7.1.1數(shù)據(jù)庫設(shè)計的特點7.1.2數(shù)據(jù)庫設(shè)計方法7.1.3數(shù)據(jù)庫設(shè)計的基本步驟7.1.4數(shù)據(jù)庫設(shè)計過程中的各級模式2023/9/3

7.1.2數(shù)據(jù)庫設(shè)計方法

手工與經(jīng)驗相結(jié)合方法設(shè)計質(zhì)量與設(shè)計人員的經(jīng)驗和水平有直接關(guān)系數(shù)據(jù)庫運行一段時間后常常不同程度地發(fā)現(xiàn)各種問題,增加了維護代價規(guī)范設(shè)計法基本思想:過程迭代和逐步求精2023/9/3

數(shù)據(jù)庫設(shè)計方法(續(xù))新奧爾良(NewOrleans)方法將數(shù)據(jù)庫設(shè)計分為若干階段和步驟

基于E-R模型的數(shù)據(jù)庫設(shè)計方法概念設(shè)計階段廣泛采用3NF(第三范式)的設(shè)計方法邏輯階段可采用的有效方法ODL(ObjectDefinitionLanguage)方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法2023/9/3

數(shù)據(jù)庫設(shè)計方法(續(xù))計算機輔助設(shè)計ORACLEDesigner2000SYBASEPowerDesigner2023/9/3

7.1數(shù)據(jù)庫設(shè)計概述7.1.1數(shù)據(jù)庫設(shè)計的特點7.1.2數(shù)據(jù)庫設(shè)計方法7.1.3數(shù)據(jù)庫設(shè)計的基本步驟7.1.4數(shù)據(jù)庫設(shè)計過程中的各級模式2023/9/3

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

需求分析和概念設(shè)計獨立于任何數(shù)據(jù)庫管理系統(tǒng)邏輯設(shè)計和物理設(shè)計與選用的DBMS密切相關(guān)2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))一、數(shù)據(jù)庫設(shè)計的準備工作:選定參加設(shè)計的人1.系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計人員

自始至終參與數(shù)據(jù)庫設(shè)計2.用戶和數(shù)據(jù)庫管理員主要參加需求分析和數(shù)據(jù)庫的運行維護3.應(yīng)用開發(fā)人員(程序員和操作員)在系統(tǒng)實施階段參與進來,負責(zé)編制程序和準備軟硬件環(huán)境

2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))二、數(shù)據(jù)庫設(shè)計的過程(六個階段)

⒈需求分析階段準確了解與分析用戶需求(包括數(shù)據(jù)與處理)最困難、最耗費時間的一步

2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))

⒉概念結(jié)構(gòu)設(shè)計階段整個數(shù)據(jù)庫設(shè)計的關(guān)鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù)) ⒊邏輯結(jié)構(gòu)設(shè)計階段將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型對其進行優(yōu)化2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))

⒋數(shù)據(jù)庫物理設(shè)計階段為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))

⒌數(shù)據(jù)庫實施階段運用DBMS提供的數(shù)據(jù)庫語言(如SQL)及宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫進行試運行2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))

⒍數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調(diào)整與修改2023/9/3

數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))

設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)(P202圖7.2)把數(shù)據(jù)庫設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進行,相互參照,相互補充,以完善兩方面的設(shè)計2023/9/3

數(shù)據(jù)庫設(shè)計各個階段的設(shè)計描述2023/9/3

7.1數(shù)據(jù)庫設(shè)計概述7.1.1數(shù)據(jù)庫設(shè)計的特點7.1.2數(shù)據(jù)庫設(shè)計方法7.1.3數(shù)據(jù)庫設(shè)計的基本步驟7.1.4數(shù)據(jù)庫設(shè)計過程中的各級模式2023/9/3

7.1.4數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫的各級模式

2023/9/3

第七章數(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小結(jié)2023/9/3

7.2需求分析7.2.1需求分析的任務(wù)7.2.2需求分析的方法7.2.3數(shù)據(jù)字典2023/9/3

7.2.1需求分析的任務(wù)需求分析的任務(wù)需求分析的重點需求分析的難點2023/9/3

需求分析的任務(wù)詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等)充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))明確用戶的各種需求確定新系統(tǒng)的功能充分考慮今后可能的擴充和改變2023/9/3

需求分析的重點調(diào)查的重點是“數(shù)據(jù)”和“處理”,獲得用戶對數(shù)據(jù)庫要求

信息要求處理要求安全性與完整性要求2023/9/3

需求分析的難點確定用戶最終需求用戶缺少計算機知識設(shè)計人員缺少用戶的專業(yè)知識解決方法設(shè)計人員必須不斷深入地與用戶進行交流2023/9/3

7.2需求分析7.2.1需求分析的任務(wù)7.2.2需求分析的方法7.2.3數(shù)據(jù)字典2023/9/3

7.2.2需求分析的方法調(diào)查需求達成共識分析表達需求2023/9/3

調(diào)查用戶需求的具體步驟⑴調(diào)查組織機構(gòu)情況⑵調(diào)查各部門的業(yè)務(wù)活動情況。⑶在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求。⑷確定新系統(tǒng)的邊界2023/9/3

常用調(diào)查方法(1)跟班作業(yè)(2)開調(diào)查會(3)請專人介紹(4)詢問(5)設(shè)計調(diào)查表請用戶填寫(6)查閱記錄2023/9/3

進一步分析和表達用戶需求結(jié)構(gòu)化分析方法(StructuredAnalysis,簡稱SA方法) 從最上層的系統(tǒng)組織機構(gòu)入手自頂向下、逐層分解分析系統(tǒng)2023/9/3

進一步分析和表達用戶需求(續(xù))1.首先把任何一個系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲信息要求數(shù)據(jù)來源處理數(shù)據(jù)輸出處理要求2023/9/3

進一步分析和表達用戶需求(續(xù))2.分解處理功能和數(shù)據(jù)

(1)分解處理功能將處理功能的具體內(nèi)容分解為若干子功能

(2)分解數(shù)據(jù)處理功能逐步分解同時,逐級分解所用數(shù)據(jù),形成若干層次的數(shù)據(jù)流圖

(3)表達方法處理邏輯:用判定表或判定樹來描述數(shù)據(jù):用數(shù)據(jù)字典來描述3.將分析結(jié)果再次提交給用戶,征得用戶的認可2023/9/3

需求分析過程需求分析過程2023/9/3

7.2需求分析7.2.1需求分析的任務(wù)7.2.2需求分析的方法7.2.3數(shù)據(jù)字典2023/9/3

7.2.3數(shù)據(jù)字典

數(shù)據(jù)字典的用途進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)項數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲處理過程2023/9/3

⒈數(shù)據(jù)項

數(shù)據(jù)項是不可再分的數(shù)據(jù)單位對數(shù)據(jù)項的描述

數(shù)據(jù)項描述={數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名, 數(shù)據(jù)類型,長度,取值范圍,取值含義, 與其他數(shù)據(jù)項的邏輯關(guān)系,數(shù)據(jù)項之間的 聯(lián)系}2023/9/3

⒉數(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ù)結(jié)構(gòu)描述={數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成:{數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)}}2023/9/3

⒊數(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)},平均流量,高峰期流量}2023/9/3

⒋數(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ù)量,存取頻度, 存取方式}2023/9/3

⒌處理過程具體處理邏輯一般用判定表或判定樹來描述處理過程說明性信息的描述

處理過程描述={處理過程名,說明,輸入:{數(shù)據(jù)流},輸出:{數(shù)據(jù)流},處理:{簡要說明}}2023/9/3

數(shù)據(jù)字典舉例例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。數(shù)據(jù)項,以“學(xué)號”為例:數(shù)據(jù)項:學(xué)號含義說明:唯一標識每個學(xué)生別名:學(xué)生編號類型:字符型長度:8

取值范圍:00000000至99999999取值含義:前兩位標別該學(xué)生所在年級,后六位按順序編號與其他數(shù)據(jù)項的邏輯關(guān)系:2023/9/3

處理過程(續(xù))

數(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é)號,姓名,性別,年齡,所在系,年級

2023/9/3

處理過程(續(xù))數(shù)據(jù)流,“體檢結(jié)果”可如下描述:數(shù)據(jù)流:體檢結(jié)果說明:學(xué)生參加體格檢查的最終結(jié)果數(shù)據(jù)流來源:體檢數(shù)據(jù)流去向:批準組成:……平均流量:……高峰期流量:……2023/9/3

處理過程(續(xù))數(shù)據(jù)存儲,“學(xué)生登記表”可如下描述:數(shù)據(jù)存儲:學(xué)生登記表說明:記錄學(xué)生的基本情況流入數(shù)據(jù)流:……

流出數(shù)據(jù)流:……

組成:……

數(shù)據(jù)量:每年3000張存取方式:隨機存取

2023/9/3

處理過程(續(xù))處理過程“分配宿舍”可如下描述:處理過程:分配宿舍說明:為所有新生分配學(xué)生宿舍輸入:學(xué)生,宿舍輸出:宿舍安排處理:在新生報到后,為所有新生分配學(xué)生宿舍。要求同一間宿舍只能安排同一性別的學(xué)生,同一個學(xué)生只能安排在一個宿舍中。每個學(xué)生的居住面積不小于3平方米。安排新生宿舍其處理時間應(yīng)不超過15分鐘。

2023/9/3

數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,是元數(shù)據(jù),而不是數(shù)據(jù)本身數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實、完善2023/9/3

需求分析小結(jié)設(shè)計人員應(yīng)充分考慮到可能的擴充和改變,使設(shè)計易于更改,系統(tǒng)易于擴充必須強調(diào)用戶的參與2023/9/3

第七章數(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小結(jié)2023/9/3

7.3概念結(jié)構(gòu)設(shè)計7.3.1概念結(jié)構(gòu)7.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟7.3.3數(shù)據(jù)抽象與局部視圖設(shè)計7.3.4視圖的集成2023/9/3

7.3.1概念結(jié)構(gòu)什么是概念結(jié)構(gòu)設(shè)計將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵2023/9/3

概念結(jié)構(gòu)(續(xù))現(xiàn)實世界機器世界信息世界需求分析概念結(jié)構(gòu)設(shè)計2023/9/3

概念結(jié)構(gòu)(續(xù))概念結(jié)構(gòu)設(shè)計的特點

(1)能真實、充分地反映現(xiàn)實世界

(2)易于理解

(3)易于更改

(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換2023/9/3

概念結(jié)構(gòu)(續(xù))描述概念模型的工具E-R模型2023/9/3

7.3概念結(jié)構(gòu)設(shè)計7.3.1概念結(jié)構(gòu)7.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟7.3.3數(shù)據(jù)抽象與局部視圖設(shè)計7.3.4視圖的集成2023/9/3

7.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟設(shè)計概念結(jié)構(gòu)的四類方法自頂向下

首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化自頂向下策略2023/9/3

7.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟自底向上

首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)自底向上策略2023/9/3

概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))逐步擴張

首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)逐步擴張策略2023/9/3

概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))混合策略將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。2023/9/3

概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))常用策略自頂向下地進行需求分析自底向上地設(shè)計概念結(jié)構(gòu)2023/9/3

概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))自底向上設(shè)計概念結(jié)構(gòu)的步驟

第1步:抽象數(shù)據(jù)并設(shè)計局部視圖 第2步:集成局部視圖,得到全局概念結(jié)構(gòu)2023/9/3

7.3概念結(jié)構(gòu)設(shè)計7.3.1概念結(jié)構(gòu)7.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟7.3.3數(shù)據(jù)抽象與局部視圖設(shè)計7.3.4視圖的集成2023/9/3

7.3.3數(shù)據(jù)抽象與局部視圖設(shè)計數(shù)據(jù)抽象局部視圖設(shè)計2023/9/3

數(shù)據(jù)抽象抽象是對實際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種概念精確地加以描述。概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象2023/9/3

數(shù)據(jù)抽象(續(xù))三種常用抽象1.分類(Classification)定義某一類概念作為現(xiàn)實世界中一組對象的類型抽象了對象值和型之間的“ismemberof”的語義2023/9/3

數(shù)據(jù)抽象(續(xù))2023/9/3

數(shù)據(jù)抽象(續(xù))2.聚集(Aggregation)定義某一類型的組成成分抽象了對象內(nèi)部類型和成分之間“ispartof”的語義2023/9/3

數(shù)據(jù)抽象(續(xù))聚集2023/9/3

數(shù)據(jù)抽象(續(xù))

復(fù)雜的聚集,某一類型的成分仍是一個聚集

更復(fù)雜的聚集

2023/9/3

數(shù)據(jù)抽象(續(xù))3.概括(Generalization)定義類型之間的一種子集聯(lián)系抽象了類型之間的“issubsetof”的語義繼承性

2023/9/3

數(shù)據(jù)抽象(續(xù))概括2023/9/3

局部視圖設(shè)計設(shè)計分E-R圖的步驟:⒈選擇局部應(yīng)用⒉逐一設(shè)計分E-R圖2023/9/3

⒈選擇局部應(yīng)用在多層的數(shù)據(jù)流圖中選擇一個適當層次的數(shù)據(jù)流圖,作為設(shè)計分E-R圖的出發(fā)點通常以中層數(shù)據(jù)流圖作為設(shè)計分E-R圖的依據(jù)2023/9/3

選擇局部應(yīng)用(續(xù))設(shè)計分E-R圖的出發(fā)點

2023/9/3

⒉逐一設(shè)計分E-R圖任務(wù)將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來參照數(shù)據(jù)流圖,標定各局部應(yīng)用中的實體、實體的屬性、標識實體的碼確定實體之間的聯(lián)系及其類型(1:1,1:n,m:n)2023/9/3

逐一設(shè)計分E-R圖(續(xù))兩條準則:(1)屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項,不能再由另一些屬性組成(2)屬性不能與其他實體具有聯(lián)系。聯(lián)系只發(fā)生在實體之間2023/9/3

逐一設(shè)計分E-R圖(續(xù))職稱作為一個實體2023/9/3

逐一設(shè)計分E-R圖(續(xù))病房作為一個實體2023/9/3

逐一設(shè)計分E-R圖(續(xù))倉庫作為一個實體2023/9/3

逐一設(shè)計分E-R圖(續(xù))[實例]銷售管理子系統(tǒng)分E-R圖的設(shè)計銷售管理子系統(tǒng)的主要功能:處理顧客和銷售員送來的訂單工廠是根據(jù)訂貨安排生產(chǎn)的交出貨物同時開出發(fā)票收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進行應(yīng)收款處理2023/9/3

逐一設(shè)計分E-R圖(續(xù))下圖是第一層數(shù)據(jù)流圖,虛線部分劃出了系統(tǒng)邊界

圖7.18銷售管理子系統(tǒng)第一層數(shù)據(jù)流圖

2023/9/3

逐一設(shè)計分E-R圖(續(xù))上圖中把系統(tǒng)功能又分為4個子系統(tǒng),下面四個圖是第二層數(shù)據(jù)流圖

圖7.19接收訂單2023/9/3

逐一設(shè)計分E-R圖(續(xù))圖7.20處理訂單2023/9/3

逐一設(shè)計分E-R圖(續(xù))圖7.21開發(fā)票

2023/9/3

逐一設(shè)計分E-R圖(續(xù))圖7.22支付過賬2023/9/3

逐一設(shè)計分E-R圖(續(xù))分E-R圖的框架

2023/9/3

逐一設(shè)計分E-R圖(續(xù))參照第二層數(shù)據(jù)流圖和數(shù)據(jù)字典,遵循兩個準則,進行如下調(diào)整:(1)訂單與訂單細節(jié)是1∶n的聯(lián)系(2)原訂單和產(chǎn)品的聯(lián)系實際上是訂單細節(jié)和產(chǎn)品的聯(lián)系。(3)圖7.21中“發(fā)票主清單”是一個數(shù)據(jù)存儲,不必作為實體加入分E-R圖(4)工廠對大宗訂貨給予優(yōu)惠2023/9/3

逐一設(shè)計分E-R圖(續(xù))得到分E-R圖如下圖所示

銷售管理子系統(tǒng)的分E-R圖2023/9/3

逐一設(shè)計分E-R圖(續(xù))對每個實體定義的屬性如下:顧客:{顧客號,顧客名,地址,電話,信貸狀況,賬目余額}訂單:{訂單號,顧客號,訂貨項數(shù),訂貨日期,交貨日期,工種號,生產(chǎn)地點}訂單細則:{訂單號,細則號,零件號,訂貨數(shù),金額}應(yīng)收賬款:{顧客號,訂單號,發(fā)票號,應(yīng)收金額,支付日期,支付金額,當前余額,貨款限額}產(chǎn)品描述:{產(chǎn)品號,產(chǎn)品名,單價,重量}折扣規(guī)則:{產(chǎn)品號,訂貨量,折扣}2023/9/3

7.3概念結(jié)構(gòu)設(shè)計7.3.1概念結(jié)構(gòu)7.3.2概念結(jié)構(gòu)設(shè)計的方法與步驟7.3.3數(shù)據(jù)抽象與局部視圖設(shè)計7.3.4視圖的集成2023/9/3

7.3.4視圖的集成各個局部視圖即分E-R圖建立好后,還需要對它們進行合并,集成為一個整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。2023/9/3

視圖集成的兩種方式多個分E-R圖一次集成一次集成多個分E-R圖通常用于局部視圖比較簡單時2023/9/3

視圖的集成(續(xù))逐步集成用累加的方式一次集成兩個分E-R圖2023/9/3

視圖的集成(續(xù))集成局部E-R圖的步驟1.合并2.修改與重構(gòu)2023/9/3

視圖的集成(續(xù))視圖集成2023/9/3

合并分E-R圖,生成初步E-R圖

各分E-R圖存在沖突各個分E-R圖之間必定會存在許多不一致的地方合并分E-R圖的主要工作與關(guān)鍵合理消除各分E-R圖的沖突2023/9/3

合并分E-R圖,生成初步E-R圖(續(xù))

沖突的種類屬性沖突命名沖突結(jié)構(gòu)沖突2023/9/3

⒈屬性沖突兩類屬性沖突屬性域沖突屬性值的類型取值范圍取值集合不同屬性取值單位沖突2023/9/3

⒉命名沖突兩類命名沖突同名異義:不同意義的對象在不同的局部應(yīng)用中具有相同的名字異名同義(一義多名):同一意義的對象在不同的局部應(yīng)用中具有不同的名字2023/9/3

⒊結(jié)構(gòu)沖突三類結(jié)構(gòu)沖突同一對象在不同應(yīng)用中具有不同的抽象同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同實體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型2023/9/3

消除不必要的冗余,設(shè)計基本E-R圖

基本任務(wù)消除不必要的冗余,設(shè)計生成基本E-R圖合并初步E-R圖分E-R圖可能存在冗余的數(shù)據(jù)和冗余的實體間聯(lián)系基本E-R圖消除不必要的冗余2023/9/3

消除不必要的冗余,設(shè)計基本E-R圖(續(xù))

冗余消除冗余的方法2023/9/3

1.冗余冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù) 冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫的完整性,給數(shù)據(jù)庫維護增加困難消除不必要的冗余后的初步E-R圖稱為基本E-R圖2023/9/3

消除冗余的方法分析方法以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù)根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項之間的邏輯關(guān)系2023/9/3

消除冗余的方法(續(xù))消除冗余2023/9/3

消除冗余的方法(續(xù))效率VS冗余信息需要根據(jù)用戶的整體需求來確定若人為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說明作為完整性約束條件Q4=∑Q5一旦Q5修改后就應(yīng)當觸發(fā)完整性檢查,對Q4進行修改2023/9/3

消除冗余的方法(續(xù))規(guī)范化理論函數(shù)依賴的概念提供了消除冗余聯(lián)系的形式化工具2023/9/3

消除冗余的方法(續(xù))方法1.確定分E-R圖實體之間的數(shù)據(jù)依賴,并用實體碼之間的函數(shù)依賴表示。勞動人事管理的分E-R圖

2023/9/3

消除冗余的方法(續(xù))上圖中,部門和職工之間一對多的聯(lián)系可表示為:職工號→部門號職工和產(chǎn)品之間多對多的聯(lián)系可表示為:(職工號,產(chǎn)品號)→工作天數(shù)得到函數(shù)依賴集FL

2023/9/3

消除冗余的方法(續(xù))2.求FL的最小覆蓋GL

,差集為D=FL-GL。逐一考察D中的函數(shù)依賴,確定是否是冗余的聯(lián)系,若是,就把它去掉。(1)冗余的聯(lián)系一定在D中,而D中的聯(lián)系不一定是冗余的;(2)當實體之間存在多種聯(lián)系時要將實體之間的聯(lián)系在形式上加以區(qū)分。2023/9/3

消除冗余,設(shè)計生成基本E-R圖實例

[實例]某工廠管理信息系統(tǒng)的視圖集成。

書中圖1.14(c)、圖7.24、圖7.29分別為該廠物資、銷售和勞動人事管理的分E-R圖圖7.30為該系統(tǒng)的基本E-R圖支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。2023/9/3

消除冗余,設(shè)計生成基本E-R圖實例(續(xù))支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。圖1.14(c)工廠物資管理E-R圖該廠物資管理分E-R圖2023/9/3

消除冗余,設(shè)計生成基本E-R圖實例(續(xù))支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。圖7.24銷售管理子系統(tǒng)的分E-R圖該廠銷售管理分E-R圖2023/9/3

消除冗余,設(shè)計生成基本E-R圖實例(續(xù))支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。圖7.29勞動人事管理的分E-R圖該廠勞動人事管理分E-R圖2023/9/3

消除冗余,設(shè)計生成基本E-R圖實例(續(xù))支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。系統(tǒng)的基本E-R(圖7.30)某工廠管理信息系統(tǒng)的基本E-R圖

2023/9/3

消除冗余,設(shè)計生成基本E-R圖實例(續(xù))集成過程,解決了以下問題:異名同義,項目和產(chǎn)品含義相同庫存管理中職工與倉庫的工作關(guān)系已包含在勞動人事管理的部門與職工之間的聯(lián)系之中,所以可以取消職工之間領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)關(guān)系可由部門與職工(經(jīng)理)之間的領(lǐng)導(dǎo)關(guān)系、部門與職工之間的從屬關(guān)系兩者導(dǎo)出,所以也可以取消2023/9/3

驗證整體概念結(jié)構(gòu)視圖集成后形成一個整體的數(shù)據(jù)庫概念結(jié)構(gòu),對該整體概念結(jié)構(gòu)還必須進行進一步驗證,確保它能夠滿足下列條件:整體概念結(jié)構(gòu)內(nèi)部必須具有一致性,不存在互相矛盾的表達整體概念結(jié)構(gòu)能準確地反映原來的每個視圖結(jié)構(gòu),包括屬性、實體及實體間的聯(lián)系整體概念結(jié)構(gòu)能滿足需要分析階段所確定的所有要求2023/9/3

驗證整體概念結(jié)構(gòu)(續(xù))整體概念結(jié)構(gòu)最終還應(yīng)該提交給用戶,征求用戶和有關(guān)人員的意見,進行評審、修改和優(yōu)化,然后把它確定下來,作為數(shù)據(jù)庫的概念結(jié)構(gòu),作為進一步設(shè)計數(shù)據(jù)庫的依據(jù)。2023/9/3

概念結(jié)構(gòu)設(shè)計小結(jié)概念結(jié)構(gòu)設(shè)計的步驟抽象數(shù)據(jù)并設(shè)計局部視圖集成局部視圖,得到全局概念結(jié)構(gòu)驗證整體概念結(jié)構(gòu)2023/9/3

概念結(jié)構(gòu)設(shè)計小結(jié)數(shù)據(jù)抽象分類聚集概括2023/9/3

概念結(jié)構(gòu)設(shè)計小結(jié)設(shè)計局部視圖⒈選擇局部應(yīng)用

2.逐一設(shè)計分E-R圖標定局部應(yīng)用中的實體、屬性、碼,實體間的聯(lián)系用E-R圖描述出來2023/9/3

概念結(jié)構(gòu)設(shè)計小結(jié)集成局部視圖1.合并分E-R圖,生成初步E-R圖消除沖突屬性沖突命名沖突結(jié)構(gòu)沖突2.修改與重構(gòu)消除不必要的冗余,設(shè)計生成基本E-R圖分析方法規(guī)范化理論2023/9/3

第七章數(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小結(jié)2023/9/3

7.4邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù)把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計的步驟將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對數(shù)據(jù)模型進行優(yōu)化2023/9/3

邏輯結(jié)構(gòu)設(shè)計(續(xù))邏輯結(jié)構(gòu)設(shè)計時的3個步驟

2023/9/3

7.4邏輯結(jié)構(gòu)設(shè)計7.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換7.4.2數(shù)據(jù)模型的優(yōu)化7.4.3設(shè)計用戶子模式2023/9/3

7.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換轉(zhuǎn)換內(nèi)容轉(zhuǎn)換原則2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問題如何將實體型和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式如何確定這些關(guān)系模式的屬性和碼轉(zhuǎn)換內(nèi)容將E-R圖轉(zhuǎn)換為關(guān)系模型:將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))實體型間的聯(lián)系有以下不同情況:(1)一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個獨立的關(guān)系模式與某一端實體對應(yīng)的關(guān)系模式合并(2)一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個獨立的關(guān)系模式與n端對應(yīng)的關(guān)系模式合并2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))(3)一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。 例,“選修”聯(lián)系是一個m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號與課程號為關(guān)系的組合碼:選修(學(xué)號,課程號,成績)2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))(4)三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。 例,“講授”聯(lián)系是一個三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號、職工號和書號為關(guān)系的組合碼:講授(課程號,職工號,書號)2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))(5)具有相同碼的關(guān)系模式可合并目的:減少系統(tǒng)中的關(guān)系個數(shù)合并方法:將其中一個關(guān)系模式的全部屬性加入到另一個關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當調(diào)整屬性的次序2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))注意:從理論上講,1:1聯(lián)系可以與任意一端對應(yīng)的關(guān)系模式合并但在一些情況下,與不同的關(guān)系模式合并效率會大不一樣。因此究竟應(yīng)該與哪端的關(guān)系模式合并需要依應(yīng)用的具體情況而定。由于連接操作是最費時的操作,所以一般應(yīng)以盡量減少連接操作為目標。例如,如果經(jīng)常要查詢某個班級的班主任姓名,則將管理聯(lián)系與教師關(guān)系合并更好些。2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))[例]把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型部門實體對應(yīng)的關(guān)系模式部門(部門號,部門名,經(jīng)理的職工號,…)此關(guān)系模式已包含了聯(lián)系“領(lǐng)導(dǎo)”所對應(yīng)的關(guān)系模式經(jīng)理的職工號是關(guān)系的候選碼職工實體對應(yīng)的關(guān)系模式職工(職工號、部門號,職工名,職務(wù),…)該關(guān)系模式已包含了聯(lián)系“屬于”所對應(yīng)的關(guān)系模式2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))[例]把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型(續(xù))產(chǎn)品實體對應(yīng)的關(guān)系模式產(chǎn)品(產(chǎn)品號,產(chǎn)品名,產(chǎn)品組長的職工號,…)供應(yīng)商實體對應(yīng)的關(guān)系模式供應(yīng)商(供應(yīng)商號,姓名,…)零件實體對應(yīng)的關(guān)系模式零件(零件號,零件名,…)2023/9/3

E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))[例]把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型(續(xù))

聯(lián)系“參加”所對應(yīng)的關(guān)系模式職工工作(職工號,產(chǎn)品號,工作天數(shù),…)聯(lián)系“供應(yīng)”所對應(yīng)的關(guān)系模式供應(yīng)(產(chǎn)品號,供應(yīng)商號,零件號,供應(yīng)量)

2023/9/3

7.4邏輯結(jié)構(gòu)設(shè)計7.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換7.4.2數(shù)據(jù)模型的優(yōu)化7.4.3設(shè)計用戶子模式2023/9/3

7.4.2數(shù)據(jù)模型的優(yōu)化得到初步數(shù)據(jù)模型后,還應(yī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)2023/9/3

數(shù)據(jù)模型的優(yōu)化(續(xù))優(yōu)化數(shù)據(jù)模型的方法確定數(shù)據(jù)依賴 按需求分析階段所得到的語義,分別寫出每個關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴消除冗余的聯(lián)系 對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。確定所屬范式按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等確定各關(guān)系模式分別屬于第幾范式

2023/9/3

數(shù)據(jù)模型的優(yōu)化(續(xù))按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對它們進行合并或分解。注意:并不是規(guī)范化程度越高的關(guān)系就越優(yōu),一般說來,第三范式就足夠了2023/9/3

數(shù)據(jù)模型的優(yōu)化(續(xù))例:在關(guān)系模式學(xué)生成績單(學(xué)號,英語,數(shù)學(xué),語文,平均成績)

中存在下列函數(shù)依賴:學(xué)號→英語學(xué)號→數(shù)學(xué)學(xué)號→語文學(xué)號→平均成績

(英語,數(shù)學(xué),語文)→平均成績2023/9/3

數(shù)據(jù)模型的優(yōu)化(續(xù))

顯然有:學(xué)號→(英語,數(shù)學(xué),語文)

因此該關(guān)系模式中存在傳遞函數(shù)信賴,是2NF關(guān)系雖然平均成績可以由其他屬性推算出來,但如果應(yīng)用中需要經(jīng)常查詢學(xué)生的平均成績,為提高效率,仍然可保留該冗余數(shù)據(jù),對關(guān)系模式不再做進一步分解2023/9/3

數(shù)據(jù)模型的優(yōu)化(續(xù))按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,對關(guān)系模式進行必要的分解,以提高數(shù)據(jù)操作的效率和存儲空間的利用率常用分解方法水平分解垂直分解2023/9/3

數(shù)據(jù)模型的優(yōu)化(續(xù))水平分解什么是水平分解把(基本)關(guān)系的元組分為若干子集合,定義每個子集合為一個子關(guān)系,以提高系統(tǒng)的效率水平分解的適用范圍滿足“80/20原則”的應(yīng)用并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù)2023/9/3

數(shù)據(jù)模型的優(yōu)化(續(xù))垂直分解什么是垂直分解把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式垂直分解的適用范圍取決于分解后R上的所有事務(wù)的總效率是否得到了提高2023/9/3

7.4邏輯結(jié)構(gòu)設(shè)計7.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換7.4.2數(shù)據(jù)模型的優(yōu)化7.4.3設(shè)計用戶子模式2023/9/3

7.4.3設(shè)計用戶子模式定義用戶外模式時應(yīng)該注重的問題包括三個方面:

(1)使用更符合用戶習(xí)慣的別名

(2)針對不同級別的用戶定義不同的View,以

滿足系統(tǒng)對安全性的要求。

(3)簡化用戶對系統(tǒng)的使用2023/9/3

設(shè)計用戶子模式(續(xù))[例]

關(guān)系模式產(chǎn)品(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價,生產(chǎn)車間,生產(chǎn)負責(zé)人,產(chǎn)品成本,產(chǎn)品合格率,質(zhì)量等級),可以在產(chǎn)品關(guān)系上建立兩個視圖:為一般顧客建立視圖:產(chǎn)品1(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價)為產(chǎn)品銷售部門建立視圖:產(chǎn)品2(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價,車間,生產(chǎn)負責(zé)人)顧客視圖中只包含允許顧客查詢的屬性銷售部門視圖中只包含允許銷售部門查詢的屬性生產(chǎn)領(lǐng)導(dǎo)部門則可以查詢?nèi)慨a(chǎn)品數(shù)據(jù)可以防止用戶非法訪問不允許他們查詢的數(shù)據(jù),保證系統(tǒng)的安全性2023/9/3

邏輯結(jié)構(gòu)設(shè)計小結(jié)任務(wù)將概念結(jié)構(gòu)轉(zhuǎn)化為具體的數(shù)據(jù)模型邏輯結(jié)構(gòu)設(shè)計的步驟將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對數(shù)據(jù)模型進行優(yōu)化設(shè)計用戶子模式2023/9/3

邏輯結(jié)構(gòu)設(shè)計小結(jié)E-R圖向關(guān)系模型的轉(zhuǎn)換內(nèi)容E-R圖向關(guān)系模型的轉(zhuǎn)換原則2023/9/3

邏輯結(jié)構(gòu)設(shè)計小結(jié)優(yōu)化數(shù)據(jù)模型的方法

1.確定數(shù)據(jù)依賴

2.對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。

3.確定各關(guān)系模式分別屬于第幾范式。

4.分析對于應(yīng)用環(huán)境這些模式是否合適,確定是否要對它們進行合并或分解。

5.對關(guān)系模式進行必要的分解或合并2023/9/3

邏輯結(jié)構(gòu)設(shè)計小結(jié)設(shè)計用戶子模式

1.使用更符合用戶習(xí)慣的別名

2.針對不同級別的用戶定義不同的外模式,以滿足系統(tǒng)對安全性的要求。

3.簡化用戶對系統(tǒng)的使用2023/9/3

第七章數(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小結(jié)2023/9/3

7.5數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計2023/9/3

數(shù)據(jù)庫的物理設(shè)計(續(xù))數(shù)據(jù)庫物理設(shè)計的步驟確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率如果評價結(jié)果滿足原設(shè)計要求,則可進入到物理實施階段,否則,就需要重新設(shè)計或修改物理結(jié)構(gòu),有時甚至要返回邏輯設(shè)計階段修改數(shù)據(jù)模型2023/9/3

數(shù)據(jù)庫的物理設(shè)計(續(xù))數(shù)據(jù)庫物理設(shè)計確定數(shù)據(jù)庫的物理結(jié)構(gòu)評價數(shù)據(jù)庫的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫實施物理模型邏輯模型2023/9/3

7.5數(shù)據(jù)庫的物理設(shè)計7.5.1數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2關(guān)系模式存取方法選擇7.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4評價物理結(jié)構(gòu)2023/9/3

7.5.1數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法設(shè)計物理數(shù)據(jù)庫結(jié)構(gòu)的準備工作對要運行的事務(wù)進行詳細分析,獲得選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù)充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)2023/9/3

數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù)數(shù)據(jù)庫查詢事務(wù)查詢的關(guān)系查詢條件所涉及的屬性連接條件所涉及的屬性查詢的投影屬性

2023/9/3

數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù)(續(xù))數(shù)據(jù)更新事務(wù)被更新的關(guān)系每個關(guān)系上的更新操作條件所涉及的屬性修改操作要改變的屬性值

每個事務(wù)在各關(guān)系上運行的頻率和性能要求2023/9/3

數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))關(guān)系數(shù)據(jù)庫物理設(shè)計的內(nèi)容為關(guān)系模式選擇存取方法(建立存取路徑)

設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)2023/9/3

7.5數(shù)據(jù)庫的物理設(shè)計7.5.1數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2關(guān)系模式存取方法選擇7.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4評價物理結(jié)構(gòu)2023/9/3

7.5.2關(guān)系模式存取方法選擇數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個關(guān)系要建立多條存取路徑才能滿足多用戶的多種應(yīng)用要求物理設(shè)計的任務(wù)之一就是要確定選擇哪些存取方法,即建立哪些存取路徑2023/9/3

關(guān)系模式存取方法選擇(續(xù))DBMS常用存取方法索引方法目前主要是B+樹索引方法經(jīng)典存取方法,使用最普遍

聚簇(Cluster)方法HASH方法2023/9/3

一、索引存取方法的選擇根據(jù)應(yīng)用要求確定對哪些屬性列建立索引對哪些屬性列建立組合索引對哪些索引要設(shè)計為唯一索引2023/9/3

索引存取方法的選擇(續(xù))選擇索引存取方法的一般規(guī)則如果一個(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引(或組合索引)如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引如果一個(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引關(guān)系上定義的索引數(shù)過多會帶來較多的額外開銷維護索引的開銷查找索引的開銷2023/9/3

二、聚簇存取方法的選擇聚簇為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇2023/9/3

聚簇存取方法的選擇(續(xù))聚簇的用途1.大大提高按聚簇碼進行查詢的效率例:假設(shè)學(xué)生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的所有學(xué)生名單。信息系的500名學(xué)生分布在500個不同的物理塊上時,至少要執(zhí)行500次I/O操作如果將同一系的學(xué)生元組集中存放,則每讀一個物理塊可得到多個滿足查詢條件的元組,從而顯著地減少了訪問磁盤的次數(shù)2023/9/3

聚簇存取方法的選擇(續(xù))2.節(jié)省存儲空間聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇碼值不必在每個元組中重復(fù)存儲,只要在一組中存一次就行了2023/9/3

聚簇存取方法的選擇(續(xù))聚簇的局限性1.聚簇只能提高某些特定應(yīng)用的性能2.建立與維護聚簇的開銷相當大對已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動其物理存儲位置,并使此關(guān)系上原有的索引無效,必須重建當一個元組的聚簇碼改變時,該元組的存儲位置也要做相應(yīng)移動2023/9/3

聚簇存取方法的選擇(續(xù))聚簇的適用范圍1.既適用于單個關(guān)系獨立聚簇,也適用于多個關(guān)系組合聚簇 例:假設(shè)用戶經(jīng)常要按系別查詢學(xué)生成績單,這一查詢涉及學(xué)生關(guān)系和選修關(guān)系的連接操作,即需要按學(xué)號連接這兩個關(guān)系,為提高連接操作的效率,可以把具有相同學(xué)號值的學(xué)生元組和選修元組在物理上聚簇在一起。這就相當于把多個關(guān)系按“預(yù)連接”的形式存放,從而大大提高連接操作的效率。2023/9/3

聚簇存取方法的選擇(續(xù))2.當通過聚簇碼進行訪問或連接是該關(guān)系的主要應(yīng)用,與聚簇碼無關(guān)的其他訪問很少或者是次要的時,可以使用聚簇。尤其當SQL語句中包含有與聚簇碼有關(guān)的ORDERBY,GROUPBY,UNION,DISTINCT等子句或短語時,使用聚簇特別有利,可以省去對結(jié)果集的排序操作2023/9/3

聚簇存取方法的選擇(續(xù))設(shè)計候選聚簇對經(jīng)常在一起進行連接操作的關(guān)系可以建立聚簇如果一個關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個關(guān)系可建立聚簇如果一個關(guān)系的一個(或一組)屬性上的值重復(fù)率很高,則此單個關(guān)系可建立聚簇。即對應(yīng)每個聚簇碼值的平均元組數(shù)不太少。太少了,聚簇的效果不明顯2023/9/3

聚簇存取方法的選擇(續(xù))優(yōu)化聚簇設(shè)計從聚簇中刪除經(jīng)常進行全表掃描的關(guān)系;從聚簇中刪除更新操作遠多于連接操作的關(guān)系;不同的聚簇中可能包含相同的關(guān)系,一個關(guān)系可以在某一個聚簇中,但不能同時加入多個聚簇

從這多個聚簇方案(包括不建立聚簇)中選擇一個較優(yōu)的,即在這個聚簇上運行各種事務(wù)的總代價最小2023/9/3

三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則當一個關(guān)系滿足下列兩個條件時,可以選擇HASH存取方法該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中該關(guān)系的大小可預(yù)知,而且不變;或該關(guān)系的大小動態(tài)改變,但所選用的DBMS提供了動態(tài)HASH存取方法2023/9/3

7.5數(shù)據(jù)庫的物理設(shè)計7.5.1數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2關(guān)系模式存取方法選擇7.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4評價物理結(jié)構(gòu)2023/9/3

7.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫物理結(jié)構(gòu)的內(nèi)容1.確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu)關(guān)系索引聚簇日志備份2.確定系統(tǒng)配置2023/9/3

1.確定數(shù)據(jù)的存放位置確定數(shù)據(jù)存放位置和存儲結(jié)構(gòu)的因素存取時間存儲空間利用率維護代價這三個方面常常是相互矛盾的例:消除一切冗余數(shù)據(jù)雖能夠節(jié)約存儲空間和減少維護代價,但往往會導(dǎo)致檢索代價的增加必須進行權(quán)衡,選擇一個折中方案2023/9/3

確定數(shù)據(jù)的存放位置(續(xù))基本原則根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分分開存放存取頻率較高部分與存取頻率較低部分,分開存放2023/9/3

確定數(shù)據(jù)的存放位置(續(xù))例:數(shù)據(jù)庫數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)時才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上如果計算機有多個磁盤或磁盤陣列,可以考慮將表和索引分別放在不同的磁盤上,在查詢時,由于磁盤驅(qū)動器并行工作,可以提高物理I/O讀寫的效率2023/9/3

確定數(shù)據(jù)的存放位置(續(xù))例(續(xù)):可以將比較大的表分別放在兩個磁盤上,以加快存取速度,這在多用戶環(huán)境下特別有效可以將日志文件與數(shù)據(jù)庫對象(表、索引等)放在不同的磁盤以改進系統(tǒng)的性能2023/9/3

2.確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲分配參數(shù)同時使用數(shù)據(jù)庫的用戶數(shù)同時打開的數(shù)據(jù)庫對象數(shù)內(nèi)存分配參數(shù)使用的緩沖區(qū)長度、個數(shù)存儲分配參數(shù)

…….2023/9/3

7.5數(shù)據(jù)庫的物理設(shè)計7.5.1數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2關(guān)系模式存取方法選擇7.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4評價物理結(jié)構(gòu)2023/9/3

7.5.4評價物理結(jié)構(gòu)評價內(nèi)容對數(shù)據(jù)庫物理設(shè)計過程中產(chǎn)生的多種方案進行細致的評價,從中選擇一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)2023/9/3

評價物理結(jié)構(gòu)(續(xù))評價方法(完全依賴于所選用的DBMS)定量估算各種方案存儲空間

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論