




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第五章數(shù)據(jù)庫設計與實施
劉先鋒第一講:數(shù)據(jù)庫設計概述、
規(guī)劃、需求分析5.1數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計是指:在給定的應用環(huán)境下,創(chuàng)建一個性能良好的能滿足不同用戶使用要求的,又能被選定的DBMS所接受的數(shù)據(jù)格式。數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用系統(tǒng)的技術,是信息系統(tǒng)開發(fā)和建設中的核心技術。5.1.1數(shù)據(jù)庫設計的內(nèi)容與特點數(shù)據(jù)庫設計兩個方面:結構特性設計——數(shù)據(jù)庫框架和數(shù)據(jù)庫結構設計行為特性設計——應用程序設計,如查詢、報表處理,一般由面向?qū)ο蟮某绦蚪o出用戶操作界面。數(shù)據(jù)庫結構設計與行為設計要相互參照,它們組成統(tǒng)一的數(shù)據(jù)庫工程。5.1.2數(shù)據(jù)庫設計方法新奧爾良方法分為四個階段:需求分析、概念設計、邏輯設計、物理設計。具體的實現(xiàn)技術與實現(xiàn)方法:如基于E—R模型的數(shù)據(jù)庫設計方法(針對概念結構設計階段),基于3NF的設計方法,基于抽象語法規(guī)范的設計方法。規(guī)范設計法分為兩種:手工設計和計算機輔助設計(如OracleDesigner2000、RationalRose,它們可以幫助或者輔助設計人員完成數(shù)據(jù)庫設計中的很多任務)。圖5-1數(shù)據(jù)庫設計過程企業(yè)物理設計數(shù)據(jù)分析程序設計說明事務設計應用程序設計子模式設計邏輯模型設計加載測試數(shù)據(jù)程序調(diào)試考核性能功能分析能型功模能明功說投入運行維護概念模型設計滿意YN5.1.3數(shù)據(jù)庫設計的步驟三個階段:總體規(guī)劃,系統(tǒng)開發(fā)設計,系統(tǒng)運行和維護。需求分析概念結構設計邏輯結構設計物理結構設計數(shù)據(jù)庫實施與維護數(shù)據(jù)庫規(guī)劃數(shù)據(jù)庫規(guī)劃階段(總體目標和技術路線,得出數(shù)據(jù)庫設計項目的可行性分析報告;對數(shù)據(jù)庫設計的進度和人員分工做出安排)需求分析階段(弄清用戶要求,是基礎。影響到數(shù)據(jù)庫設計的結果是否合理與實用)概念結構設計階段(獨立于計算機的數(shù)據(jù)模型,獨立于特定的DBMS。它通過對用戶需求綜合、歸納抽象、形成獨立于具體DBMS的概念模型。是各用戶關心的系統(tǒng)信息結構,方便與用戶交流,是對現(xiàn)實世界的第一層抽象)?,F(xiàn)實世界(事物及其聯(lián)系)概念模型(實體及其聯(lián)系)數(shù)據(jù)模型(數(shù)據(jù)及其聯(lián)系)現(xiàn)實世界信息世界計算機世界圖5-3信息的三個世界5.1.3數(shù)據(jù)庫設計的步驟(續(xù)1)4.邏輯結構設計階段(轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并進行優(yōu)化)5.物理結構設計階段(設計一個在限定的軟、硬件條件和應用環(huán)境下可實現(xiàn)的,運行效率高的物理數(shù)據(jù)庫結構)6.數(shù)據(jù)庫實施與維護階段(根據(jù)邏輯結構設計及物理設計的結果建立數(shù)據(jù)庫,編制與調(diào)試應用程序,組織數(shù)據(jù)入庫,并進行試運行)5.1.3數(shù)據(jù)庫設計的步驟(續(xù)2)5.2數(shù)據(jù)庫規(guī)劃規(guī)劃過程:1.系統(tǒng)調(diào)查:調(diào)查,就是要搞清楚企業(yè)的組織層次,得到企業(yè)的組織結構圖。2.可行性分析:從經(jīng)濟、法律、技術等多方面進行可行性論證分析,在此基礎上得到可行性報告。3.數(shù)據(jù)庫建設的總體目標和數(shù)據(jù)庫建設的實施總安排5.3需求分析5.3.1需求分析的任務需求分析的任務是通過詳細調(diào)查現(xiàn)實世界要處理的對象(部門、企業(yè))充分了解原系統(tǒng)(手工系統(tǒng)或老計算機系統(tǒng))工作概況,明確各用戶的各種需求,在此基礎上確定新的功能。新系統(tǒng)的設計不僅要考慮現(xiàn)時的需求還要為今后的擴充和改變留有余地,要有一定的前瞻性。5.3.2需求分析的方法四步:1.調(diào)查組織機構情況。2.調(diào)查各部門的業(yè)務活動情況。3.協(xié)助用戶明確對新系統(tǒng)的各種要求。4.對前面調(diào)查結果進行初步分析,確定系統(tǒng)的邊界。調(diào)查方法:(1)跟班作業(yè)。(2)開調(diào)查會。(3)查閱檔案資料。(4)詢問。(5)設計調(diào)查用表請用戶填寫。5.3.3需求分析的步驟分析四步:分析用戶的活動、確定新系統(tǒng)功能包括的范圍、分析用戶活動所涉及的數(shù)據(jù)、分析系統(tǒng)數(shù)據(jù)。1.分析用戶的活動圖5-4圖書發(fā)行企業(yè)部分業(yè)務用戶活動圖接受申請查圖書信息接受申請打印圖書目錄查詢圖書公布接受處理查書店信息請查圖書信息生成訂單計算賠款書店訂書交有關部門打印訂單2.確定系統(tǒng)的邊界在上述用戶活動圖中確定計算機與人工分工的界線3.分析用戶活動所涉及的數(shù)據(jù)在處理功能逐步分解的同時,他們所用的數(shù)據(jù)也逐級分解形成若干層次的數(shù)據(jù)流圖。數(shù)據(jù)流圖(DFD,DataFlowDiagram):從數(shù)據(jù)流的角度描述一個組織業(yè)務活動的圖,從數(shù)據(jù)和數(shù)據(jù)加工兩方面來表達數(shù)據(jù)處理系統(tǒng)工作過程,是用戶和設計人員都能容易理解的一種表達系統(tǒng)功能的描述方式。用上面帶有名字的箭頭表示數(shù)據(jù)流,用標有名字的圓圈表示數(shù)據(jù)的加工處理,用直線表示文件(離開文件的箭頭表示文件讀、指向文件的箭頭表示文件寫),用方框表示數(shù)據(jù)的源頭和終點。S1P1P2XYXZXF1圖5-5一個簡單的數(shù)據(jù)流圖5.3.3需求分析的步驟(續(xù)1)查詢處理圖書查詢請求打印圖書數(shù)據(jù)圖書數(shù)據(jù)圖書查詢:(A)查詢圖書數(shù)據(jù)流圖圖書作者出版社(B)書店訂購圖書處理數(shù)據(jù)流圖訂購請求書店訂購圖書:生成訂單書店訂單圖5-6圖書管理系統(tǒng)內(nèi)部用戶活動圖對應的各數(shù)據(jù)流圖圖書作者出版社5.3.3需求分析的步驟(續(xù)2)4.分析系統(tǒng)數(shù)據(jù)數(shù)據(jù)字典(DD,DataDictionary)是進行詳細的數(shù)據(jù)收集與分析所得到的主要成果,是對數(shù)據(jù)流圖中出現(xiàn)的所有數(shù)據(jù)元素給出邏輯定義和描述,也是數(shù)據(jù)庫設計者與用戶交流的又一個有力工具,可以供系統(tǒng)設計者,軟件開發(fā)者、系統(tǒng)維護者和用戶參照使用。四個部分:⑴數(shù)據(jù)項數(shù)據(jù)項描述={數(shù)據(jù)項名,別名,數(shù)據(jù)項含義,數(shù)據(jù)類型,字節(jié)長度,取值范圍,取值含義,與其它數(shù)據(jù)項的邏輯關系}數(shù)據(jù)項名數(shù)據(jù)類型字節(jié)長度圖書編號字符6書名字符80評論字符200出版社標識字符4價格數(shù)字8出版日期日期8圖書類別字符125.3.3需求分析的步驟(續(xù)3)⑵數(shù)據(jù)文件數(shù)據(jù)文件描述={數(shù)據(jù)文件名,組成數(shù)據(jù)文件的所有數(shù)據(jù)項名,數(shù)據(jù)存取頻度,存取方式}如:圖書={組成:圖書編號、書名、評論、出版社標識、價格、出版日期、圖書類別,存取頻度:M次/每天,存取方式:隨機存取}⑶數(shù)據(jù)流數(shù)據(jù)流描述={數(shù)據(jù)流的名稱,組成數(shù)據(jù)流的所有數(shù)據(jù)項名,數(shù)據(jù)流的來源,數(shù)據(jù)流的去向,平均流量,峰值流量}⑷數(shù)據(jù)加工處理數(shù)據(jù)加工處理描述={加工處理名,說明,輸入的數(shù)據(jù)流名,輸出的數(shù)據(jù)流名,處理要求}數(shù)據(jù)字典四部分(續(xù))思考題:簡述數(shù)據(jù)庫設計的基本步驟。簡述需求分析的基本步驟。什么是數(shù)據(jù)字典?它由哪幾部分組成?它在數(shù)據(jù)庫系統(tǒng)設計中的作用是什么?什么是數(shù)據(jù)流圖?它由哪幾部分組成?它在數(shù)據(jù)庫系統(tǒng)設計中的作用是什么?第二講:概念結構設計
與邏輯結構設計回顧:數(shù)據(jù)庫設計的步驟三個階段:總體規(guī)劃,系統(tǒng)開發(fā)設計,系統(tǒng)運行和維護。需求分析概念結構設計邏輯結構設計物理結構設計數(shù)據(jù)庫實施與維護數(shù)據(jù)庫規(guī)劃5.4概念結構設計概念結構設計階段就是將用戶需求抽象為信息結構即概念模型的過程。實體-聯(lián)系模型(E-R模型,EntityRelationshipModel)為該階段的設計提供了強有力的工具。首先得到各局部應用的局部E-R圖,然后將各局部E-R圖集成形成全局的E-R圖。5.4.1設計各局部應用的E-R模型1.分解:分解成若干個子系統(tǒng),一個局部應用中的實體數(shù)不能超過9個。2.制圖:通過各局部應用所涉及到的收集在數(shù)據(jù)字典中的數(shù)據(jù),并參照數(shù)據(jù)流圖來標定局部應用中的實體、實體的屬性、實體的碼、實體間的聯(lián)系以及它們聯(lián)系的類型來完成局部E-R模型的設計。(B)書店訂購圖書處理數(shù)據(jù)流圖訂購請求書店訂購圖書:生成訂單書店訂單圖5-6圖書管理系統(tǒng)內(nèi)部用戶活動圖對應的各數(shù)據(jù)流圖圖書
作者出版社5.4.1設計各局部應用的E-R模型(續(xù)1)3.調(diào)整:總體原則是現(xiàn)實中的事物能做“屬性”處理的就不要做“實體”對待。決定事物作為屬性來對待的準則:此事物不能再包含別的屬性此事物不能與其它實體發(fā)生聯(lián)系(聯(lián)系只能發(fā)生在實體之間)5.4.1設計各局部應用的E-R模型(續(xù)1)圖5-7圖書書名出版日期標識評論出版社標識圖書類別價格作者標識作者姓名作者簡歷聯(lián)系電話通訊地址出版出版社出版社標識賬號聯(lián)系人姓名出版社名稱作者編著作者序號mmn15.4.1設計各局部應用的E-R模型(續(xù)2)n圖書書店訂購訂購數(shù)量訂購日期訂單號m圖5-8書店標識書店名稱所在城市地址5.4.2全局E-R模型的設計要求:①完整性和正確性:即整體E-R圖應包含局部E-R圖所表達的所有語義,完整地表達與所有局部E-R圖中應用相關的數(shù)據(jù)。②最小化:系統(tǒng)中的對象原則上只出現(xiàn)一次。③易理解性:設計人員與用戶能夠容易理解集成后的全局E-R圖?;炯煞椒ǎ?.依次取出局部的E-R圖進行集成通常是兩個關鍵的局部視圖先集成,當然也可以一次集成多個局部E-R圖。消除各E-R圖中的沖突和不一致是工作的重點和關鍵所在。
沖突主要有三類:⑴屬性沖突:包括屬性域沖突和屬性取值單位沖突。⑵命名沖突:語義相同,命名不同;命名相同語義不同。⑶模型沖突:同一對象在不同的局部E-R模型中具有不同的抽象同一實體在不同的局部E-R模型中所包含的屬性個數(shù)和屬性排列順序不完全相同。實體之間的聯(lián)系在不同的局部E-R模型中具有不同的聯(lián)系類型。2.檢查集成后的E-R模型圖,消除模型中的冗余數(shù)據(jù)和冗余聯(lián)系
在初步集成的E-R圖中,可能存在可由其它別的所謂基本數(shù)據(jù)和基本聯(lián)系導出的數(shù)據(jù)和聯(lián)系。冗余數(shù)據(jù)和冗余聯(lián)系:能夠被導出的數(shù)據(jù)和聯(lián)系。危害:容易破壞數(shù)據(jù)的完整性,給數(shù)據(jù)的操作帶來困難和異常。有意冗余:適當?shù)娜哂嗄芷鸬娇臻g換時間的效果(如:在工資管理中)集成后的全局E-R模型,如圖5-9所示(省略了部分實體的屬性)m圖書書店訂購數(shù)量訂購日期訂單號圖5-9出版社作者出版編著n1nnm5.5邏輯結構設計目標:全局E-R圖轉(zhuǎn)換成DBMS支持的數(shù)據(jù)模型(層次、網(wǎng)狀、關系)。選DBMS方法:先選數(shù)據(jù)模型,再選支持該數(shù)據(jù)模型的DBMS。選DBMS因素:技術、經(jīng)濟、組織邏輯結構設計三步:①將概念結構轉(zhuǎn)換為一般的關系、網(wǎng)狀或?qū)哟文P?。②將轉(zhuǎn)換來的關系、網(wǎng)狀、層次模型向DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換,變成合適的數(shù)據(jù)庫模式。③對模式進行調(diào)整和優(yōu)化。5.5.1E-R圖向關系模型的轉(zhuǎn)換原則:⑴一個實體型就轉(zhuǎn)換成一個關系模式,實體名成為關系名,實體的屬性成為關系的屬性,實體的碼就是關系的碼。如圖9-9中:圖書(圖書標識,出版社標識,評論,價格,出版日期,圖書類別,書名)⑵對于一對一的聯(lián)系,可以將聯(lián)系轉(zhuǎn)換成一個獨立的關系模式,也可以與聯(lián)系的任意一端對應的關系模式合并。⑶對于一對多的聯(lián)系,可以將聯(lián)系轉(zhuǎn)換成一個獨立的關系模式,也可以與“多”端對應的關系模式合并。⑷對于多對多的聯(lián)系,必須將其轉(zhuǎn)換成一個獨立的關系模式。新關系模式的鍵為各實體的鍵的組合。如:編著關系(圖書標識,作者標識,作者序號)訂購關系(圖書標識,書店標識,訂購日期,數(shù)量,訂單號)⑸對于三個或三個以上實體的多元聯(lián)系可以轉(zhuǎn)換成一個關系模式。與該聯(lián)系相連的各實體的鍵及聯(lián)系本身的屬性均轉(zhuǎn)換成新關系的屬性,新關系模式的鍵為各個實體的鍵的組合。⑹自聯(lián)系:可按上述的一對一、一對多、多對多的情況分別加以處理(如職工中的領導和被領導關系)⑺具有相同鍵的關系可以合并。5.5.2關系模型向特定的RDBMS的轉(zhuǎn)換依賴于機器,沒有一個通用的規(guī)則,轉(zhuǎn)換的主要依據(jù)是所選定的DBMS的功能及限制。5.5.3邏輯模式的優(yōu)化優(yōu)化是在性能預測的基礎上進行的。性能一般用三個(定性)指標來衡量:單位時間里所訪問的邏輯記錄個數(shù)的多少;單位時間里數(shù)據(jù)傳送量的多少;系統(tǒng)占用的存儲空間的多少。采用關系規(guī)范化理論和關系分解方法作為優(yōu)化設計的理論指導方法:⑴確定數(shù)據(jù)依賴。⑵對各個關系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。⑶對各關系模式進行分析,考察是否存在部分依賴、傳遞依賴、多值依賴,確定范式。在工程中3NF、BCNF應用得最廣泛。⑷模式對于這樣的應用環(huán)境是否合適,確定是否要對某些模式進行合并和分解。現(xiàn)狀:現(xiàn)實世界并不總是依從于某一完美的數(shù)學化的關系模式缺點:系統(tǒng)進行連接運算,大量的I/O操作使得連接的代價相當高,造成低效率,但非BCNF模式存在更新異常和冗余。原則:需要權衡響應時間和潛在的問題的利弊⑸必要的分解,提高數(shù)據(jù)操作的效率和存儲空間的利用率(水平分解、垂直分解)水平分解:把關系的元組分成若干個子集,定義每個集合為一個子關系。垂直分解:把關系模式的屬性分解成若干個子集,形成若干個子關系模式。⑹有時為了減少重復數(shù)據(jù)所占的存儲空間,可以采用假屬性的辦法(如代碼化)。5.5.4外模式的設計外模式是用戶看到的數(shù)據(jù)模式,各類用戶有各自的外模式??梢岳靡徊糠只碓偌由习葱铻橛脩舳ㄖ频囊晥D就構成了用戶的外模式。外模式給我們帶來了以下便利:⑴提供一定的邏輯數(shù)據(jù)獨立性⑵更好地適應不同用戶對數(shù)據(jù)的需求⑶有利于數(shù)據(jù)的保密在設計用戶外模式時,我們更注重用戶的個別差異,如注重考慮用戶的習慣和方便,包括:⑴使用符合用戶習慣的別名。⑵針對不同級別的用戶定義不同的外模式,以保證系統(tǒng)的安全性要求。⑶簡化用戶對系統(tǒng)的使用思考題什么是“物理結構設計”,“邏輯結構設計”?怎樣決定一個事物是作為“屬性”還是作為“實體”對待?并舉例說明。如果無太大的差別時,應按什么原則?在將局部E-R圖合并成全局E-R圖時,應消除哪些沖突?試述E-R圖轉(zhuǎn)換為關系模型的一般規(guī)則。衡量數(shù)據(jù)庫性能常用哪些指標?試述關系模式的優(yōu)化的理論基礎及具體作法。各種常用范式:設R是一個關系模式,如果R的每個屬性的值域都是不可分割的簡單數(shù)據(jù)項的集合,則稱這個模式為第一范式關系模式,記為1NF。若關系模式R是第一范式,而且每一個非主屬性都完全函數(shù)依賴于R的鍵,則稱R為第二范式的關系模式,記為2NF。設關系模式R是2NF,而且它的任何一個非鍵屬性都不傳遞依賴于任何候選鍵,則R稱為第三范式的關系模式,記為3NF。增強型第三范式的定義設關系模式R是1NF,如果對于R的每個函數(shù)依賴X→Y且YX時,X必為候選鍵,則R是BCNF。第三講:物理結構設計
與數(shù)據(jù)庫維護5.6物理結構設計首先是確定數(shù)據(jù)庫的物理結構,然后是對所設計的物理結構設計進行評價。5.6.1數(shù)據(jù)庫物理設計的內(nèi)容與方法關系數(shù)據(jù)庫的物理模型的設計相對于其它模型是較為簡單的。為確定數(shù)據(jù)庫的物理結構,必須了解下面的幾個問題:⑴了解給定的DBMS的功能和特點,特別是系統(tǒng)提供的存取方法和存儲結構。⑵熟悉系統(tǒng)的應用環(huán)境,了解所設計的應用系統(tǒng)中各部分的重要程度、處理頻率及對響應時間的要求。設計目標:滿足主要應用的性能要求。對于數(shù)據(jù)庫的查詢事務,需要得到如下信息:①查詢的關系②查詢條件所涉及的屬性③連接條件所涉及的屬性④查詢的投影屬性對于事務更新需要得到如下信息:①被更新的關系②每個關系上的更新操作條件所涉及的屬性③修改操作要改變的屬性值5.6.1數(shù)據(jù)庫物理設計的內(nèi)容與方法(續(xù)1)⑶
了解外存設備的特性。如分塊原則、分塊的大小、設備的I/O特性等,因為物理結構的設計要通過外存設備來實現(xiàn)。通常對于關系數(shù)據(jù)庫物理設計而言,物理設計的主要內(nèi)容包括:①為關系模式選取存取方法②設計關系、索引等數(shù)據(jù)庫文件的物理存儲結構5.6.2關系模式存取方法選擇在關系數(shù)據(jù)庫中,選取存取路徑主要是確定如何建立索引。1.索引存取方法的選擇面臨的困難——確定對關系的哪些屬性列建立索引,哪些建立組合索引,哪些建立唯一索引等。索引選擇是數(shù)據(jù)庫物理設計的基本問題之一,也是較為困難的:⑴數(shù)據(jù)庫中的各個關系表不是相互孤立的,要考慮相互之間的影響。⑵在數(shù)據(jù)庫中有多個關系表存在,在設計索引時不僅要考慮關系在單獨參與操作時的代價,還要考慮它在參與連接操作時的代價。⑶索引的解空間太大,即可能的索引組合情況太大。⑷訪問路徑與DBMS的優(yōu)化策略有關。⑸設計目標復雜:目標是要減少CPU的代價、I/O代價、存儲代價⑹代價的估算比較困難在手工設計時,一般根據(jù)原則和需求說明來選擇方案,在計算機輔助設計工具中,也是先根據(jù)一般的原則和需求確定索引選擇范圍,再用簡化的代價比較法來選擇所謂的最優(yōu)方案。2.普通索引的選取原則:凡是滿足下列條件之一,可以考慮建立在有關屬性上索引:⑴主鍵和外鍵上一般建立索引。這樣做的好處有:①有利于主鍵唯一性的檢查。②有助于引用完整性約束檢查。③可以加快以主鍵和外鍵作為連接條件屬性的連接操作。⑵如果一個(或一組)屬性經(jīng)常在查詢條件中出現(xiàn)。⑶如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù)⑷如果一個(或一組)屬性常在連接操作的連接條件中出現(xiàn)⑸對于以讀為主或只讀的關系表,只要需要且存儲空間允許,可以多建索引。凡是滿足下列條件之一的屬性或表,不宜建立索引⑴不出現(xiàn)或很少出現(xiàn)在查詢條件中的屬性⑵屬性值可能取值的個數(shù)很少的屬性。⑶屬性值分布嚴重不均的屬性。⑷經(jīng)常更新的屬性和表。⑸屬性的值過長。⑹太小的表。注:非聚簇索引需要大量的硬盤空間和內(nèi)存,另外在提高查詢速度的同時會降低向表中插入數(shù)據(jù)和更新數(shù)據(jù)的速度。3.聚簇索引的選取聚簇——把某個屬性或?qū)傩越M(稱為聚簇碼)上具有相同值的元組集中在一個物理塊內(nèi)或物理上相鄰的區(qū)域內(nèi),以提高某些數(shù)據(jù)的訪問速度。聚簇索引可以大大提高按聚簇碼進行查詢的效率。聚簇功能不但適用于單個關系,也適用于經(jīng)常進行連接操作的多個關系,大大提高連接操作的效率。一個關系中只能加入一個聚簇建立聚簇索引原則:⑴對經(jīng)常在一起進行連接操作的關系可以建立聚簇。⑵一個關系的一個(或一組)屬性上的值重復率很高,則此關系可建立聚簇索引。⑶一個關系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個關系可建立聚簇索引。在建立聚簇后,應檢查候選聚簇中的關系,取消其中不必要的關系①從聚簇中刪除經(jīng)常進行全表掃描的關系。②從聚簇中刪除更新操作遠多于連接操作的關系。③不同的聚簇中可能包含相同的關系,一個關系可以在某一個聚簇中,但不能同時在多個聚簇中。注意:聚簇只能提高某些應用的性能,而建立與維護聚簇的開銷也是相當大的。5.6.3確定系統(tǒng)的存儲結構確定數(shù)據(jù)的存放位置和存儲結構要綜合考慮存取:時間、存儲空間利用率和維護代價三個方面。1.確定數(shù)據(jù)的存放位置將數(shù)據(jù)的易變部分和穩(wěn)定部分、經(jīng)常存取部分和不經(jīng)常存取的部分分開存放,可以放在不同的關系表中或放在不同的外存空間等。應遵守以下原則:⑴減少訪問磁盤時的沖突,提高I/O的并行性⑵分散熱點數(shù)據(jù),均衡I/O負載⑶保證關鍵數(shù)據(jù)的快速訪問,緩解系統(tǒng)的瓶頸2.確定系統(tǒng)的配置參數(shù)參數(shù)包括:同時使用數(shù)據(jù)庫用戶的個數(shù),同時打開數(shù)據(jù)庫對象數(shù),緩沖區(qū)大小和個數(shù),物理塊的大小,數(shù)據(jù)庫的大小,數(shù)據(jù)增長率的設置等。在系統(tǒng)運行時還要根據(jù)系統(tǒng)實際運行情況做進一步的調(diào)整,以期達到較佳的系統(tǒng)性能。5.6.4評價物理結構在物理設計中設計人員要考慮的因素很多,如時間和空間的效率、維護代價和各種用戶的要求,在綜合考慮的基礎上會產(chǎn)生多種方案,在對這些方案進行認真細致評價的基礎上,從中選取一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結構。評價物理數(shù)據(jù)庫的方法完全依賴于所選定的DBMS,主要是從定量估算各種方案的存取時間、存儲空間和維護代價著手,對估算的結果進行權衡和比較,從中選取一個較優(yōu)的合理物理結構。如果該系統(tǒng)不符合用戶的需求,則需要修改設計。5.7數(shù)據(jù)庫的實施和維護5.7.1數(shù)據(jù)庫的實施步驟:1.定義數(shù)據(jù)庫結構2.數(shù)據(jù)的載入數(shù)據(jù)入庫操作步驟:⑴篩選數(shù)據(jù)⑵輸入數(shù)據(jù)⑶檢驗數(shù)據(jù)3.應用程序的編碼與調(diào)試5.7.2數(shù)據(jù)庫試運行包括下列內(nèi)容:⑴功能測試⑵性能測試組織數(shù)據(jù)入庫策略:⑴要采取分批輸入數(shù)據(jù)的方法⑵首先調(diào)試好系統(tǒng)的轉(zhuǎn)儲和恢復功能并對數(shù)據(jù)庫中的數(shù)據(jù)做好備份工作5.7.3數(shù)據(jù)庫的運行和維護維護工作主要由DBA完成,具體內(nèi)容:1.日常維護2.定期維護3.故障維護具體的作法是:⑴建立日志文件,每當發(fā)生增、刪、改時就自動將要處理的原始記錄加載到日志文件中。⑵建立復制副本用以恢復。思考題物理結構設計的內(nèi)容及其一般原則。試述普通索引選擇的一般原則。哪些情況不宜建立索引?試述聚簇索引選擇的一般原則。數(shù)據(jù)庫維護工作主要包括哪些?什么是數(shù)據(jù)庫的再組織和重構造?第四講:數(shù)據(jù)庫應用的結構
和開發(fā)環(huán)境ODBC5.8.1數(shù)據(jù)庫應用模型數(shù)據(jù)庫應用程序按功能分成三個部分:用戶界面、事務邏輯、數(shù)據(jù)存儲。數(shù)據(jù)庫應用模型——數(shù)據(jù)庫應用系統(tǒng)中的界面表示層、數(shù)據(jù)存儲層、業(yè)務處理層和網(wǎng)絡通信之間的布局與分布關系。1.單層應用模型應用程序沒有將用戶界面、事務邏輯和數(shù)據(jù)存取分開。2.兩層應用模型好處:通過允許多用戶同時存取相同的數(shù)據(jù),來自一個用戶的數(shù)據(jù)更新可立即被連接到服務器上的所有用戶訪問。缺點:當客戶端的數(shù)目增加時,服務器端的負載會逐漸加大,直到系統(tǒng)承受不了眾多的客戶請求而崩潰;任何改動都將是費錢、費時、費力的??蛻?服務器Client/Server模型,幾種形式:用戶界面用戶界面業(yè)務邏輯業(yè)務邏輯2數(shù)據(jù)存取用戶界面業(yè)務邏輯1業(yè)務邏輯數(shù)據(jù)存取數(shù)據(jù)存取客戶端服務器端多層應用模型優(yōu)點:客戶端程序不能直接直接存取數(shù)據(jù),從而為數(shù)據(jù)的安全性和完整性帶來保障。應用系統(tǒng)的每一個部分都可以被單獨修改而不會影響到另外兩個部分各應用層并不一定要分布在網(wǎng)絡上不同機器的物理位置上。為應用程序的生命周期帶來諸多好處:可復用性、適應性、易管理性、可維護性、可伸縮性??蛻舳藨贸绦蚋鼮樾∏?,一般管理費用降低,但通信量會大大增加。數(shù)據(jù)商業(yè)規(guī)則客戶1數(shù)據(jù)庫服務器應用服務器客戶2客戶3B/S結構的三個部分⑴客戶機⑵服務器⑶連接件,如:開放的數(shù)據(jù)庫連接ODBC、JDBC等客戶/服務器結構模型技術特征:①功能分離。服務器是服務提供者,客戶機是服務消費者。②資源共享。一個服務器可以同時為多個客戶機提供服務。③定位透明。服務器可以駐留在與客戶機相同或不同的處理器上,需要時,C/S平臺可通過重新定向服務來掩蓋服務器位置。④服務封裝??蛻魴C只需知道服務器接口,不必了解邏輯。⑤可擴展性。支持水平和垂直擴展。5.8.2數(shù)據(jù)庫應用開發(fā)環(huán)境ODBC1.ODBC編程接口概述四個部分:⑴應用程序(Application)應用程序負責處理和調(diào)用ODBC函數(shù)。其主要任務如下:①連接數(shù)據(jù)庫②提交SQL語句給數(shù)據(jù)庫③檢索結果并處理錯誤④提交或回滾SQL語句的事務⑤斷開與數(shù)據(jù)庫的連接⑵驅(qū)動程序管理器(DriverManager)⑶驅(qū)動程序⑷數(shù)據(jù)源(DataSource)程序開發(fā)者只要調(diào)用ODBCAPI和SQL語句,至于數(shù)據(jù)的底層操作則由不同類型的數(shù)據(jù)庫的驅(qū)動程序來完成。ODBC體系結構數(shù)據(jù)庫應用程序驅(qū)動程序管理器ODBC驅(qū)動程序1ODBC驅(qū)動程序2ODBC驅(qū)動程序3數(shù)據(jù)源1數(shù)據(jù)源2數(shù)據(jù)源3數(shù)據(jù)源NODBC驅(qū)動程序N客戶端服務器端2.ODBC數(shù)據(jù)源的配置⑴在控制面板中,“管理工具”“數(shù)據(jù)源(ODBC)”打開“ODBC數(shù)據(jù)源管理器”各選項卡的功能介紹如下:①用戶DSN顯示當前登陸用戶使用的數(shù)據(jù)源清單②系統(tǒng)DSN顯示可以由系統(tǒng)中全部用戶使用的數(shù)據(jù)源清單③文件DSN顯示了允許連接到一個文件提供程序的數(shù)據(jù)源清單。它們可以在所有安裝了相同驅(qū)動程序的用戶中被共享。④驅(qū)動程序顯示所有已經(jīng)安裝了的驅(qū)動程序。⑤跟蹤允許跟蹤某個給定的ODBC驅(qū)動程序的所有活動,并記錄到日志文件。⑥連接池用來設置連接ODBC驅(qū)動程序的等待時間⑦關于顯示有關ODBC核心組件的信息。⑵“系統(tǒng)DSN”“添加”“創(chuàng)建數(shù)據(jù)源”在“名稱”列表框中選驅(qū)動程序,如SQLServer(這時創(chuàng)建SQLServer數(shù)據(jù)源)。2.ODBC數(shù)據(jù)源的配置(續(xù)1)⑶單擊“完成”按鈕,打開“建立新的數(shù)據(jù)源到SQLServer”對話框,。在名稱文本框中填寫數(shù)據(jù)源的名稱如test,在“服務器”下拉列表中選要連接到的服務器。⑷單擊“下一步”按鈕,選擇驗證模式。⑸單擊“下一步”按鈕,選擇連接的默認數(shù)據(jù)庫。⑹單擊“下一步”按鈕,系統(tǒng)提示用戶設置驅(qū)動程序使用的語言、字符集區(qū)域和日志文件等。⑺單擊“完成”,出現(xiàn)“ODBCMicrosoftSQLServer安裝”,單擊“測試數(shù)據(jù)源”按鈕,測試數(shù)據(jù)源是否正確。若顯示測試成功的消息,單擊確定按鈕回到“ODBCMicrosoftSQLServer安裝”對話框。⑻單擊“確定”按鈕,即創(chuàng)建了一個系統(tǒng)數(shù)據(jù)源test。3.ODBC接口函數(shù)ODBC接口函數(shù)按照它們的作用可以分成如下七組:·分配和釋放環(huán)境句柄、連接句柄、語句句柄·連接·執(zhí)行SQL語句·接收結果·事務控制·錯誤處理和其他雜項ODBC接口函數(shù)分組⑴分配和釋放這一組函數(shù)用于分配必要的句柄:連接句柄、環(huán)境句柄和語句句柄。環(huán)境句柄定義一個數(shù)據(jù)庫環(huán)境,連接句柄定義一個數(shù)據(jù)庫連接,語句句柄定義一條SQL語句。ODBC環(huán)境句柄是其它所有ODBC資源句柄的父句柄。釋放函數(shù)用于釋放各種句柄以及與每個句柄相關聯(lián)的內(nèi)存。如SQLAllocEnv函數(shù)用于獲取ODBC環(huán)境句柄。⑵連接利用這些函數(shù),用戶能夠與服務器建立連接,如SQLConnect。⑶執(zhí)行SQL語句用戶對ODBC數(shù)據(jù)源的存取操作,都是通過SQL語句來實現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 售后服務與客戶支持體系模板
- 高分手勢考試題及答案
- 2025年病案編碼考試題及答案
- 2025年丙肝防治試題及答案
- 團隊協(xié)作溝通計劃與執(zhí)行模板
- 模板規(guī)范考試題目及答案
- 2025年北京市安全員-C3證作業(yè)考試題庫帶答案
- 鄰居家的小伙伴作文6篇
- 在2025年消防救援局系統(tǒng)整治廉政座談會上的講話
- 2025黑龍江黑河愛輝區(qū)中心敬老院招聘工作人員13人考前自測高頻考點模擬試題及答案詳解(名校卷)
- Unit 5 Happiness第五單元幸福
- 醫(yī)?;鸨O(jiān)管
- LY/T 1145-1993松香包裝桶
- GB/T 9114-2000突面帶頸螺紋鋼制管法蘭
- 領導干部要學點哲學
- GB/T 17245-1998成年人人體質(zhì)心
- 華為公司校園招聘個人簡歷標準版
- 學校結核病防控培訓課件
- DBJ50T 043-2016 工程勘察規(guī)范
- 八年級美術下冊《弘揚真善美》優(yōu)質(zhì)課件
- 《流行病學》第十六章 分子流行病學
評論
0/150
提交評論