版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、n數(shù)據(jù)庫設(shè)計(jì)是指對于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。q目標(biāo):為用戶和各種應(yīng)用系統(tǒng)提供一個(gè)信息基礎(chǔ)設(shè)施和高效率的運(yùn)行環(huán)境第八章 數(shù)據(jù)庫設(shè)計(jì)8.1 數(shù)據(jù)庫設(shè)計(jì)概述8.2 需求分析8.3 概念結(jié)構(gòu)設(shè)計(jì)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)8.6 數(shù)據(jù)庫實(shí)施和維護(hù)第八章 數(shù)據(jù)庫設(shè)計(jì)8.1 數(shù)據(jù)庫設(shè)計(jì)概述8.2 需求分析8.3 概念結(jié)構(gòu)設(shè)計(jì)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)8.6 數(shù)據(jù)庫實(shí)施和維護(hù)n數(shù)據(jù)庫建設(shè)的基本規(guī)律q三分技術(shù),七分管理,十
2、二分基礎(chǔ)數(shù)據(jù) q管理 數(shù)據(jù)庫建設(shè)項(xiàng)目管理 企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理 q基礎(chǔ)數(shù)據(jù) 收集、入庫 更新新的數(shù)據(jù)n結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為(處理)設(shè)計(jì)相結(jié)合 q將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)處理設(shè)計(jì)密切結(jié)合現(xiàn)實(shí)世界現(xiàn)實(shí)世界概念模型設(shè)計(jì)概念模型設(shè)計(jì)子模式設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)建立數(shù)據(jù)庫建立數(shù)據(jù)庫數(shù)據(jù)分析數(shù)據(jù)分析功能分析功能分析功能模型功能模型功能說明功能說明事務(wù)設(shè)計(jì)事務(wù)設(shè)計(jì)程序說明程序說明應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)程序編碼調(diào)試程序編碼調(diào)試結(jié)構(gòu)和行為分離的設(shè)計(jì) n 手工與經(jīng)驗(yàn)相結(jié)合方法 q設(shè)計(jì)質(zhì)量與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系q數(shù)據(jù)庫運(yùn)行一段時(shí)間后常常不同程度地發(fā)
3、現(xiàn)各種問題,增加了維護(hù)代價(jià)n規(guī)范設(shè)計(jì)法q基本思想:過程迭代和逐步求精n新奧爾良(New Orleans)方法將數(shù)據(jù)庫設(shè)計(jì)分為若干階段和步驟 n基于E-R模型的數(shù)據(jù)庫設(shè)計(jì)方法概念設(shè)計(jì)階段廣泛采用n3NF(第三范式)的設(shè)計(jì)方法邏輯階段可采用的有效方法 nODL(Object Definition Language)方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)方法n計(jì)算機(jī)輔助設(shè)計(jì)qORACLE Designer 2000qSYBASE PowerDesignern數(shù)據(jù)庫設(shè)計(jì)分6個(gè)階段q需求分析q概念結(jié)構(gòu)設(shè)計(jì)q邏輯結(jié)構(gòu)設(shè)計(jì)q物理結(jié)構(gòu)設(shè)計(jì)q數(shù)據(jù)庫實(shí)施q數(shù)據(jù)庫運(yùn)行和維護(hù) n需求分析和概念設(shè)計(jì)獨(dú)立于任何數(shù)據(jù)庫管理系統(tǒng) n邏輯設(shè)
4、計(jì)和物理設(shè)計(jì)與選用的DBMS密切相關(guān)n數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作:選定參加設(shè)計(jì)的人q系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計(jì)人員n自始至終參與數(shù)據(jù)庫設(shè)計(jì)q用戶和數(shù)據(jù)庫管理員n主要參加需求分析和數(shù)據(jù)庫的運(yùn)行維護(hù)q應(yīng)用開發(fā)人員(程序員和操作員)n在系統(tǒng)實(shí)施階段參與進(jìn)來,負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境n需求分析階段q準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)q最困難、最耗費(fèi)時(shí)間的一步n概念結(jié)構(gòu)設(shè)計(jì)階段q整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵q通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型n邏輯結(jié)構(gòu)設(shè)計(jì)階段q將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型q對其進(jìn)行優(yōu)化n數(shù)據(jù)庫物理設(shè)計(jì)階段q為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用
5、環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)n數(shù)據(jù)庫實(shí)施階段q運(yùn)用DBMS提供的數(shù)據(jù)庫語言(如SQL)及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫進(jìn)行試運(yùn)行n數(shù)據(jù)庫運(yùn)行和維護(hù)階段q數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行q在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價(jià)、調(diào)整與修改n設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)n把數(shù)據(jù)庫設(shè)計(jì)和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來n將這兩個(gè)方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)不同階段形成的數(shù)據(jù)庫各級模式第八章 數(shù)據(jù)庫設(shè)計(jì)8.1 數(shù)據(jù)庫設(shè)計(jì)概述
6、8.2 需求分析8.3 概念結(jié)構(gòu)設(shè)計(jì)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)8.6 數(shù)據(jù)庫實(shí)施和維護(hù)n詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象(組織、部門、企業(yè)等)n充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))n明確用戶的各種需求n確定新系統(tǒng)的功能n充分考慮今后可能的擴(kuò)充和改變n調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”,獲得用戶對數(shù)據(jù)庫要求q信息要求q處理要求q安全性與完整性要求n需求分析的難點(diǎn)q確定用戶最終需求n用戶缺少計(jì)算機(jī)知識n設(shè)計(jì)人員缺少用戶的專業(yè)知識q解決方法n設(shè)計(jì)人員必須不斷深入地與用戶進(jìn)行交流n調(diào)查需求n達(dá)成共識n分析表達(dá)需求n調(diào)查用戶需求的具體步驟 調(diào)查組織機(jī)構(gòu)情況 調(diào)查各部門的業(yè)務(wù)活動(dòng)情況。 在熟悉
7、業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求。 確定新系統(tǒng)的邊界n常用調(diào)查方法(1)跟班作業(yè)(2)開調(diào)查會(3)請專人介紹(4)詢問(5)設(shè)計(jì)調(diào)查表請用戶填寫(6)查閱記錄n進(jìn)一步分析和表達(dá)用戶需求q結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)n從最上層的系統(tǒng)組織機(jī)構(gòu)入手n自頂向下、逐層分解分析系統(tǒng)1首先把任何一個(gè)系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)數(shù)據(jù)存儲存儲信息要求信息要求數(shù)據(jù)數(shù)據(jù)來源來源處理處理數(shù)據(jù)數(shù)據(jù)輸出輸出處理要求處理要求2分解處理功能和數(shù)據(jù) (1)分解處理功能將處理功能的具體內(nèi)容分解為若干子功能 (2)分解數(shù)據(jù)處理功能逐步分解同時(shí),逐級分解所用數(shù)
8、據(jù),形成若干層次的數(shù)據(jù)流圖 (3)表達(dá)方法 處理邏輯:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述銷售管理子系統(tǒng) n把系統(tǒng)功能又分為把系統(tǒng)功能又分為4個(gè)子系統(tǒng)個(gè)子系統(tǒng)接收訂單 處理訂單 開發(fā)票 支付過賬 3將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可需求分析過程 n 數(shù)據(jù)字典的用途q進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果n 數(shù)據(jù)字典的內(nèi)容q數(shù)據(jù)項(xiàng)q數(shù)據(jù)結(jié)構(gòu)q數(shù)據(jù)流q數(shù)據(jù)存儲q處理過程n 數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位n 對數(shù)據(jù)項(xiàng)的描述 數(shù)據(jù)項(xiàng)描述 數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說明, 別名,數(shù)據(jù)類型,長度,取值范圍,取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系,數(shù)據(jù)項(xiàng)之間的聯(lián)系 例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。
9、數(shù)據(jù)項(xiàng),以“學(xué)號”為例: 數(shù)據(jù)項(xiàng):學(xué)號 含義說明:唯一標(biāo)識每個(gè)學(xué)生別名:學(xué)生編號 類型:字符型 長度:8 取值范圍:00000000至99999999取值含義:前兩位標(biāo)別該學(xué)生所在年級, 后六位按順序編號 n數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。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)混合組成。n 對數(shù)據(jù)結(jié)構(gòu)的描述 數(shù)據(jù)結(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é)號,姓名,性別,
10、年齡,所在系,年級n 數(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ù)流,“體檢結(jié)果”可如下描述: 數(shù)據(jù)流:體檢結(jié)果 說明:學(xué)生參加體格檢查的最終結(jié)果 數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準(zhǔn) 組成:平均流量:高峰期流量:n數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。n對數(shù)據(jù)存儲的描述 數(shù)據(jù)存儲描述數(shù)據(jù)存儲名,說明,編號,輸入的數(shù)據(jù)流 ,輸出的數(shù)據(jù)流 ,組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量, 存取頻度,存取方式數(shù)據(jù)存儲,“學(xué)生登記表”可如下描述: 數(shù)據(jù)存儲:學(xué)生登記表 說明:記錄學(xué)生的基本
11、情況流入數(shù)據(jù)流: 流出數(shù)據(jù)流: 組成: 數(shù)據(jù)量:每年3000張 存取方式:隨機(jī)存取 n具體處理邏輯一般用判定表或判定樹來描述n處理過程說明性信息的描述處理過程描述處理過程名,說明,輸入:數(shù)據(jù)流, 輸出:數(shù)據(jù)流,處理:簡要說明處理過程“分配宿舍”可如下描述:處理過程:分配宿舍說明:為所有新生分配學(xué)生宿舍輸入:學(xué)生,宿舍輸出:宿舍安排處理:在新生報(bào)到后,為所有新生分配學(xué)生宿舍。 要求同一間宿舍只能安排同一性別的學(xué)生, 同一個(gè)學(xué)生只能安排在一個(gè)宿舍中。 每個(gè)學(xué)生的居住面積不小于3平方米。 安排新生宿舍其處理時(shí)間應(yīng)不超過15分鐘。 n數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,是元數(shù)據(jù),而不是數(shù)據(jù)本身n數(shù)據(jù)字典
12、在需求分析階段建立,在數(shù)據(jù)庫設(shè)計(jì)過程中不斷修改、充實(shí)、完善 n設(shè)計(jì)人員應(yīng)充分考慮到可能的擴(kuò)充和改變,使設(shè)計(jì)易于更改,系統(tǒng)易于擴(kuò)充 n必須強(qiáng)調(diào)用戶的參與第八章 數(shù)據(jù)庫設(shè)計(jì)8.1 數(shù)據(jù)庫設(shè)計(jì)概述8.2 需求分析8.3 概念結(jié)構(gòu)設(shè)計(jì)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)8.6 數(shù)據(jù)庫實(shí)施和維護(hù)n將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計(jì)n概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于機(jī)器、更抽象,從而更加穩(wěn)定n概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵現(xiàn)實(shí)世界現(xiàn)實(shí)世界機(jī)器世界機(jī)器世界信息世界信息世界需求分析需求分析概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)n概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn) (1)
13、 能真實(shí)、充分地反映現(xiàn)實(shí)世界 (2) 易于理解 (3) 易于更改 (4) 易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換n描述概念模型的工具qE-R模型n自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化自頂向下策略n自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)自底向上策略n逐步擴(kuò)張逐步擴(kuò)張 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)直至總體概念結(jié)構(gòu)逐步擴(kuò)張策略n混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的
14、框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。n常用策略q自頂向下地進(jìn)行需求分析q自底向上地設(shè)計(jì)概念結(jié)構(gòu)v自底向上設(shè)計(jì)概念結(jié)構(gòu)的步驟 第1步:抽象數(shù)據(jù)并設(shè)計(jì)局部視圖( 選擇局 部應(yīng)用、逐一設(shè)計(jì)分E-R圖)第2步:集成局部視圖,得到全局概念結(jié)構(gòu)視圖集成 n概念結(jié)構(gòu)是對現(xiàn)實(shí)世界的一種抽象n三種常用抽象 1. 分類(Classification)2. 聚集(Aggregation)3. 概括(Generalization)n三種常用抽象 1. 分類(Classification)q定義某一類概念作為現(xiàn)實(shí)世界中一組對象的類型q抽象了對象值和型之間的“is member of”的語義n三種常
15、用抽象 2. 聚集(Aggregation)q定義某一類型的組成成分q抽象了對象內(nèi)部類型和成分之間“is part of”的語義 聚集 n三種常用抽象3. 概括(Generalization)q定義類型之間的一種子集聯(lián)系q抽象了類型之間的“is subset of”的語義q繼承性概括 n選擇局部應(yīng)用q在多層的數(shù)據(jù)流圖中選擇一個(gè)適當(dāng)層次的數(shù)據(jù)流圖,作為設(shè)計(jì)分E-R圖的出發(fā)點(diǎn) q通常以中層數(shù)據(jù)流圖作為設(shè)計(jì)分E-R圖的依據(jù)設(shè)計(jì)分E-R圖的出發(fā)點(diǎn) n逐一設(shè)計(jì)分E-R圖q將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來q參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識實(shí)體的碼q確定實(shí)體之間的聯(lián)系及其
16、類型(1:1,1:n,m:n)n各個(gè)局部視圖即分E-R圖建立好后,還需要對它們進(jìn)行合并,集成為一個(gè)整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。n多個(gè)分E-R圖一次集成 一次集成多個(gè)分E-R圖通常用于局部視圖比較簡單時(shí)n逐步集成用累加的方式一次集成兩個(gè)分E-R圖 n集成局部E-R圖的步驟1. 合并2. 修改與重構(gòu)n合并q各分E-R圖存在沖突n各個(gè)分E-R圖之間必定會存在許多不一致的地方q合并分E-R圖的主要工作與關(guān)鍵n合理消除各分E-R圖的沖突q消除沖突n屬性沖突n命名沖突n結(jié)構(gòu)沖突合并合并初步初步E-R圖圖分分E-R圖圖可能存在冗余的數(shù)據(jù)可能存在冗余的數(shù)據(jù)和冗余的實(shí)體間聯(lián)系和冗余的實(shí)體間聯(lián)系基本基本E-R
17、圖圖消除不必要的冗余消除不必要的冗余n修改與重構(gòu)q冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù) 冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系 q冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫的完整性,給數(shù)據(jù)庫維護(hù)增加困難q消除不必要的冗余后的初步E-R圖稱為基本E-R圖n分析方法消除冗余q以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù)q根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系消除冗余 n分析方法消除冗余q效率VS冗余信息n需要根據(jù)用戶的整體需求來確定q若人為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說明作為完整性約束條件nQ4=Q5n一旦Q5修改后就應(yīng)當(dāng)觸發(fā)完整性檢查,對Q4進(jìn)行修改n規(guī)范化理論消除冗余q函數(shù)依賴的概念提供了消除冗余聯(lián)系的
18、形式化工具n規(guī)范化理論消除冗余1. 確定分E-R圖實(shí)體之間的數(shù)據(jù)依賴 ,并用實(shí)體碼之間的函數(shù)依賴表示。勞動(dòng)人事管理的分勞動(dòng)人事管理的分E-R圖圖 q部門和職工之間一對多的聯(lián)系可表示為: 職工號部門號q職工和項(xiàng)目之間多對多的聯(lián)系可表示為: (職工號,項(xiàng)目號)工作天數(shù) q得到函數(shù)依賴集FL n規(guī)范化理論消除冗余2. 求FL的最小覆蓋GL ,差集為D = FL-GL。 逐一考察D中的函數(shù)依賴,確定是否是冗余的聯(lián)系,若是,就把它去掉。n冗余的聯(lián)系一定在D中,而D中的聯(lián)系不一定是冗余的;n視圖集成后形成一個(gè)整體的數(shù)據(jù)庫概念結(jié)構(gòu),對該整體概念結(jié)構(gòu)還必須進(jìn)行進(jìn)一步驗(yàn)證,確保它能夠滿足下列條件:q整體概念結(jié)構(gòu)
19、內(nèi)部必須具有一致性,不存在互相矛盾的表達(dá)q整體概念結(jié)構(gòu)能準(zhǔn)確地反映原來的每個(gè)視圖結(jié)構(gòu),包括屬性、實(shí)體及實(shí)體間的聯(lián)系q整體概念結(jié)構(gòu)能滿足需要分析階段所確定的所有要求n整體概念結(jié)構(gòu)最終還應(yīng)該提交給用戶,征求用戶和有關(guān)人員的意見,進(jìn)行評審、修改和優(yōu)化,然后把它確定下來,作為數(shù)據(jù)庫的概念結(jié)構(gòu),作為進(jìn)一步設(shè)計(jì)數(shù)據(jù)庫的依據(jù)n概念結(jié)構(gòu)設(shè)計(jì)的步驟q抽象數(shù)據(jù)并設(shè)計(jì)局部視圖q集成局部視圖,得到全局概念結(jié)構(gòu)q驗(yàn)證整體概念結(jié)構(gòu)n數(shù)據(jù)抽象q分類q聚集q概括n設(shè)計(jì)局部視圖q 選擇局部應(yīng)用q2. 逐一設(shè)計(jì)分E-R圖n標(biāo)定局部應(yīng)用中的實(shí)體、屬性、碼,實(shí)體間的聯(lián)系n用E-R圖描述出來n集成局部視圖q1.合并分E-R圖,生成初步
20、E-R圖消除沖突q屬性沖突、命名沖突、結(jié)構(gòu)沖突q2. 修改與重構(gòu)消除不必要的冗余,設(shè)計(jì)生成基本E-R圖q分析方法q規(guī)范化理論第八章 數(shù)據(jù)庫設(shè)計(jì)8.1 數(shù)據(jù)庫設(shè)計(jì)概述8.2 需求分析8.3 概念結(jié)構(gòu)設(shè)計(jì)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)8.6 數(shù)據(jù)庫實(shí)施和維護(hù)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)n邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)q把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)n邏輯結(jié)構(gòu)設(shè)計(jì)的步驟q將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型q將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換q對數(shù)據(jù)模型進(jìn)行優(yōu)化q設(shè)計(jì)用戶子模式8.4 邏
21、輯結(jié)構(gòu)設(shè)計(jì)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)n關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo)q確定數(shù)據(jù)依賴確定數(shù)據(jù)依賴q消除冗余的聯(lián)系消除冗余的聯(lián)系q確定所屬范式確定所屬范式q按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適否合適并不是規(guī)范化程度越高的關(guān)系就越優(yōu),一般說來,第三范式就足夠了8.4 邏輯結(jié)構(gòu)設(shè)計(jì)n關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo)q按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,對關(guān)系模式進(jìn)行必要的分解,以提高的要求,對關(guān)系模式進(jìn)行必要的
22、分解,以提高數(shù)據(jù)操作的效率和存儲空間的利用率數(shù)據(jù)操作的效率和存儲空間的利用率n常用分解方法水平分解垂直分解8.4 邏輯結(jié)構(gòu)設(shè)計(jì)n定義用戶外模式時(shí)應(yīng)該注重的問題 包括三個(gè)方面:(1) 使用更符合用戶習(xí)慣的別名(2) 針對不同級別的用戶定義不同的View ,以滿足系統(tǒng)對安全性的要求。(3) 簡化用戶對系統(tǒng)的使用8.4 邏輯結(jié)構(gòu)設(shè)計(jì)例 關(guān)系模式產(chǎn)品(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價(jià),生產(chǎn)車間,生產(chǎn)負(fù)責(zé)人,產(chǎn)品成本,產(chǎn)品合格率,質(zhì)量等級),可以在產(chǎn)品關(guān)系上建立兩個(gè)視圖: 為一般顧客建立視圖: 產(chǎn)品1(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價(jià)) 為產(chǎn)品銷售部門建立視圖: 產(chǎn)品2(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價(jià),車間,生產(chǎn)負(fù)責(zé)人
23、)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)產(chǎn)品1(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價(jià))產(chǎn)品2(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價(jià),車間,生產(chǎn)負(fù)責(zé)人)q顧客視圖中只包含允許顧客查詢的屬性q銷售部門視圖中只包含允許銷售部門查詢的屬性q生產(chǎn)領(lǐng)導(dǎo)部門則可以查詢?nèi)慨a(chǎn)品數(shù)據(jù)q可以防止用戶非法訪問不允許他們查詢的數(shù)據(jù),保證系統(tǒng)的安全性第八章 數(shù)據(jù)庫設(shè)計(jì)8.1 數(shù)據(jù)庫設(shè)計(jì)概述8.2 需求分析8.3 概念結(jié)構(gòu)設(shè)計(jì)8.4 邏輯結(jié)構(gòu)設(shè)計(jì)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)8.6 數(shù)據(jù)庫實(shí)施和維護(hù)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)n數(shù)據(jù)庫的物理設(shè)計(jì)q數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)q為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最
24、適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計(jì)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)n數(shù)據(jù)庫物理設(shè)計(jì)的步驟q確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu) q對物理結(jié)構(gòu)進(jìn)行評價(jià),評價(jià)的重點(diǎn)是時(shí)間和空間效率 如果評價(jià)結(jié)果滿足原設(shè)計(jì)要求,則可進(jìn)入到物理實(shí)施階段,否則,就需要重新設(shè)計(jì)或修改物理結(jié)構(gòu),有時(shí)甚至要返回邏輯設(shè)計(jì)階段修改數(shù)據(jù)模型8.5 數(shù)據(jù)庫的物理設(shè)計(jì)n設(shè)計(jì)物理數(shù)據(jù)庫結(jié)構(gòu)的準(zhǔn)備工作q對要運(yùn)行的事務(wù)進(jìn)行詳細(xì)分析,獲得選擇物理數(shù)據(jù)庫設(shè)計(jì)所需參數(shù)q充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)n選擇物理數(shù)據(jù)庫設(shè)計(jì)所需參數(shù)q 數(shù)據(jù)庫查詢事務(wù)查詢的關(guān)系
25、查詢條件所涉及的屬性連接條件所涉及的屬性查詢的投影屬性q數(shù)據(jù)更新事務(wù)被更新的關(guān)系每個(gè)關(guān)系上的更新操作條件所涉及的屬性修改操作要改變的屬性值q 每個(gè)事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求8.5 數(shù)據(jù)庫的物理設(shè)計(jì)n關(guān)系數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容q為關(guān)系模式選擇存取方法(建立存取路徑)q設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇nDBMS常用存取方法q索引方法目前主要是B+樹索引方法經(jīng)典存取方法,使用最普遍 q聚簇(Cluster)方法qHASH方法8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n索引存取方法的選擇q根據(jù)應(yīng)用要求確定n 對哪些屬性列建立索引n 對哪些屬性列建立組合索
26、引n 對哪些索引要設(shè)計(jì)為唯一索引8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n索引存取方法的選擇q選擇索引存取方法的一般規(guī)則n如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引)n如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引n如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n索引存取方法的選擇q關(guān)系上定義的索引數(shù)過多會帶來較多的額外開銷n 維護(hù)索引的開銷n 查找索引的開銷8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n聚簇存取方法的選擇q為了提高某個(gè)屬性
27、(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n聚簇存取方法的選擇q聚簇的用途n大大提高按聚簇碼進(jìn)行查詢的效率 例:假設(shè)學(xué)生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的所有學(xué)生名單。信息系的500名學(xué)生分布在500個(gè)不同的物理塊上時(shí),至少要執(zhí)行500次I/O操作如果將同一系的學(xué)生元組集中存放,則每讀一個(gè)物理塊可得到多個(gè)滿足查詢條件的元組,從而顯著地減少了訪問磁盤的次數(shù)8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n聚簇存取方法的選擇q聚簇的用途n2. 節(jié)省存儲空間聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇碼
28、值不必在每個(gè)元組中重復(fù)存儲,只要在一組中存一次就行了8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n聚簇存取方法的選擇q聚簇的適用范圍n既適用于單個(gè)關(guān)系獨(dú)立聚簇,也適用于多個(gè)關(guān)系組合聚簇8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n聚簇存取方法的選擇q設(shè)計(jì)候選聚簇對經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立聚簇如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個(gè)關(guān)系可建立聚簇如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)率很高,則此單個(gè)關(guān)系可建立聚簇。即對應(yīng)每個(gè)聚簇碼值的平均元組數(shù)不太少。太少了,聚簇的效果不明顯8.5 數(shù)據(jù)庫的物理設(shè)計(jì)-存取方法選擇n聚簇存取方法的選擇q優(yōu)化聚簇設(shè)計(jì)從聚簇中刪除經(jīng)常進(jìn)行全表掃描的關(guān)系;從聚簇中刪除更新操作遠(yuǎn)多于連接操作的關(guān)系;不同的聚簇中可能包含相同的關(guān)系,一個(gè)關(guān)系可以在某一個(gè)聚簇中,但不能同時(shí)加入多個(gè)聚簇 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賽車場有線電視布線合同
- 紅棗包裝工聘用協(xié)議書
- 珠海市二手房拆遷補(bǔ)償合同模板
- 居民社區(qū)外圍圍墻建造協(xié)議
- 客運(yùn)碼頭租賃合同水電費(fèi)
- 油脂加工電力設(shè)施安裝合同
- 建筑材料甲方與施工方合同范本
- 墻面彩繪合同文化主題街區(qū)
- 體育場館消防系統(tǒng)施工協(xié)議
- 作家婚前協(xié)議書文學(xué)作品
- 重慶市2023-2024學(xué)年高一上學(xué)期期末聯(lián)合檢測物理試卷(含答案解析)
- 糖尿病性視網(wǎng)膜病變匯報(bào)演示課件
- GB/T 43575-2023區(qū)塊鏈和分布式記賬技術(shù)系統(tǒng)測試規(guī)范
- 小兒肺炎的病例討論
- 校園教職工思想動(dòng)態(tài)和現(xiàn)實(shí)表現(xiàn)動(dòng)態(tài)評估
- 《氣體滅火系統(tǒng)》課件
- 黑龍江省雞西市2023-2024學(xué)年八年級上學(xué)期第二次質(zhì)量監(jiān)測道德與法治試題
- 2022年高考天津語文高考試題及答案
- 2022-2023學(xué)年下學(xué)期人教版八年級英語Unit8 現(xiàn)在完成時(shí)導(dǎo)學(xué)案(word版)
- JCT908-2013 人造石的標(biāo)準(zhǔn)
- 禮品申請領(lǐng)用表
評論
0/150
提交評論