版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 醫(yī)藥管理信息系統(tǒng)</b></p><p> 摘 要 軟件測試是軟件工程的重要組成部分,測試工作的質(zhì)量直接影響軟件產(chǎn)品的生命力。黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是
2、否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用于軟件確認測試。 </p><p> 現(xiàn)代企業(yè)管理的基本思想就是把企業(yè)作為一個有機的整體,從整體優(yōu)化的角度出發(fā),通過運用科學(xué)的管理思想、方法和計算機技術(shù),把整個企業(yè)經(jīng)營過程中的各種相關(guān)信息,按照客觀規(guī)律實行高度的集成,為企業(yè)經(jīng)營和科學(xué)
3、決策提供大量、有效的信息;同時在此基礎(chǔ)上,通過對企業(yè)供、銷、財、物各個環(huán)節(jié)實行科學(xué)的規(guī)劃、組織、控制和管理,使他們在經(jīng)營過程中得以協(xié)調(diào)有序,合理配置,并充分發(fā)揮作用,達到最大限度的降低庫存量,減少資金的占用,縮短周轉(zhuǎn)周期,降低經(jīng)營成本,增強企業(yè)的市場競爭能力和應(yīng)變能力。進而達到提高企業(yè)的管理水平及經(jīng)濟效益的目的。</p><p> 關(guān)鍵詞:VC,ACCESS,數(shù)據(jù)庫,軟件工程,醫(yī)藥管理信息系統(tǒng)</p>
4、;<p> Abstract The software testing is the software engineering important component , the mass testing a job has direct impact to software product life-force. The secret box testing also says the function testing
5、 or the data drive tests , it is function having in what known number product responds to , come to check if every function can be put into use regularly, when testing by testing , look upon procedure as a black basin be
6、ing able to not open up, under the situation of not considering procedure </p><p> The modern business management basic thought is the enterprise took an</p><p> organic whole, the angle which
7、 optimizes from the whole embarks,through the utilization science management thought, the method and the computer technology, manages the entire enterprise in the process each kind of related information, according to th
8、e objective law implementation high integration, provides, the effective information massively for the enterprise management and the macro-scientific policy-making; Meanwhile in this foundation, through to the enterprise
9、 for, sells, the wealth, the t</p><p> Keyword: VC,ACCESS,Database, Software Engineering,</p><p> Medicine Management Information System</p><p><b> 目 錄</b></p>
10、<p> 第1章 緒論- 1 -</p><p> 1.1 引言- 1 -</p><p> 1.2管理信息系統(tǒng)的發(fā)展及應(yīng)用- 2 -</p><p> 1.2.1 管理信息系統(tǒng)的概念和定義- 2 -</p><p> 1.2.2 管理信息系統(tǒng)的發(fā)展歷史- 3 -</p><p>
11、 1.2.3 管理信息系統(tǒng)的發(fā)展趨勢- 4 -</p><p> 1.3 本課題的目的和意義- 6 -</p><p> 第2章 數(shù)據(jù)庫技術(shù)- 7 -</p><p> 2.1 數(shù)據(jù)庫基礎(chǔ)- 7 -</p><p> 2.1.1 數(shù)據(jù)庫基本概念- 7 -</p><p> 2.1.2 數(shù)據(jù)模
12、型- 8 -</p><p> 2.1.3 數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)- 9 -</p><p> 2.2 關(guān)系數(shù)據(jù)庫- 11 -</p><p> 2.2.1 關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)- 11 -</p><p> 2.2.2 數(shù)據(jù)完整性- 12 -</p><p> 2.2.3 關(guān)系操作和關(guān)系代數(shù)
13、- 13 -</p><p> 2.2.4 查詢優(yōu)化- 15 -</p><p> 2.2.5 關(guān)系數(shù)據(jù)庫設(shè)計理論- 18 -</p><p> 2.2.6 關(guān)系數(shù)據(jù)庫語言SQL- 21 -</p><p> 第3章 醫(yī)藥管理信息系統(tǒng)設(shè)計- 24 -</p><p> 3.1 醫(yī)藥管理信息系
14、統(tǒng)設(shè)計的任務(wù)與內(nèi)容- 25 -</p><p> 3.2 醫(yī)藥管理信息系統(tǒng)設(shè)計方法與步驟- 27 -</p><p> 3.3 醫(yī)藥管理信息系統(tǒng)總體設(shè)計- 28 -</p><p> 3.4 開發(fā)平臺簡介- 32 -</p><p> 第4章 醫(yī)藥管理信息系統(tǒng)測試分析- 34 -</p><p>
15、; 4.1測試階段的劃分- 34 -</p><p> 4.2測試類型的劃分- 36 -</p><p> 4.3測試模式和測試工作流程- 37 -</p><p> 4.4測試文檔- 41 -</p><p> 4.41編寫目的及項目背景- 41 -</p><p> 4.42 任務(wù)概述- 4
16、1 -</p><p> 4.43測試準備及人員- 42 -</p><p> 4.44測試用例- 43 -</p><p> 4.45 測試記錄報告- 46 -</p><p><b> 致謝- 47 -</b></p><p> 參考文獻- 47 -</p>
17、<p> 附錄1 外文原文- 49 -</p><p> 附錄2 外文翻譯- 62 -</p><p><b> 第1章 緒論</b></p><p><b> 1.1 引言</b></p><p> 信息系統(tǒng)是一個人造系統(tǒng),它由人、硬件、軟件和數(shù)據(jù)資源組成,目的是<
18、;/p><p> 及時、正確地收集、加工、儲存、傳遞和提供信息,實現(xiàn)組織中各項活動的管</p><p><b> 理、調(diào)節(jié)和控制。</b></p><p> 管理信息系統(tǒng)(management information system,MIS)是一個由人、計算機等</p><p> 組成的能進行信息收集、傳遞、儲存、加工
19、、維持和使用的系統(tǒng)。管理信息系</p><p> 統(tǒng)能實測企業(yè)的各種運行情況;利用過去的數(shù)據(jù)預(yù)測未來;從企業(yè)全局出發(fā)輔</p><p> 助企業(yè)進行決策;利用信息控制企業(yè)的行為;幫助企業(yè)實現(xiàn)其規(guī)劃目標。</p><p> 管理信息系統(tǒng)是現(xiàn)代管理方法與手段相結(jié)合的系統(tǒng)。尤其是在企業(yè)管理信</p><p> 息系統(tǒng)中,計算機系統(tǒng)與現(xiàn)代管理
20、方法的結(jié)合才能使系統(tǒng)在管理中發(fā)揮作用。</p><p> 20世紀50年代中期,計算機作為強有力的數(shù)據(jù)處理工具與手段,開始在企業(yè)</p><p> 管理中應(yīng)用。管理信息系統(tǒng)的目的是要使各級管理人員在計算機系統(tǒng)支持下,</p><p> 從各種繁瑣的日常事務(wù)中解脫出來,以便好地投入到?jīng)Q策工作中去?,F(xiàn)代管理</p><p> 方法很多,但
21、都離不開數(shù)據(jù)和信息,而且要采用數(shù)學(xué)方法對決策問題進行求解,</p><p> 為此,還必須進行大量數(shù)據(jù)處理。如果只有方法而沒有相應(yīng)的手段,僅僅依靠</p><p> 人工是難以實現(xiàn)的,因而,現(xiàn)代管理方法必須以計算機的應(yīng)用為基礎(chǔ),二者的</p><p> 結(jié)合可謂相輔相成、缺一不可。管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的</p><p&g
22、t; 內(nèi)容對于各類生產(chǎn)企業(yè)的決策者和管理者來說都至關(guān)重要,所以企業(yè)管理信息</p><p> 系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的數(shù)據(jù)處理手段。對企業(yè)的各類信</p><p> 息及數(shù)據(jù)進行處理,做到數(shù)據(jù)管理及分析,為企業(yè)管理者提供一個適用的管理</p><p><b> 工具。</b></p><p>
23、1.2管理信息系統(tǒng)的發(fā)展及應(yīng)用</p><p> 1.2.1 管理信息系統(tǒng)的概念和定義</p><p> 管理信息系統(tǒng)就是我們常說的MIS(Management Information System), 在強</p><p> 調(diào)管理,強調(diào)信息的現(xiàn)代社會中它變得越來越重要、越來越普及。MIS是一門</p><p> 新的學(xué)科,它跨越
24、了若干個領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué)、運籌學(xué)、統(tǒng)計學(xué)</p><p> 以及計算機科學(xué)。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形</p><p> 成一個縱橫交織的系統(tǒng)。</p><p> 20世紀,隨著全球經(jīng)濟的蓬勃發(fā)展,眾多經(jīng)濟學(xué)家紛紛提出了新的管理理</p><p> 論。20世紀50年代,西蒙提出管理依賴于信息和決
25、策的思想。同時期的維娜</p><p> 發(fā)表了控制論,他認為管理是一個控制過程。1958年,蓋爾寫到:“管理將以</p><p> 較低的成本得到及時的、準確的信息,做到較好的控制”。這個時期,計算機開</p><p> 始用于會計工作。數(shù)據(jù)處理一詞已經(jīng)出現(xiàn)。</p><p> 1970年,Walter T.Kennevan給剛剛出
26、現(xiàn)的管理信息系統(tǒng)一詞下了一個定義:</p><p> “以口頭或書面的形式,在合適的時間向經(jīng)理、職員以及外界人員提供過去的、</p><p> 現(xiàn)在的、預(yù)測未來的有關(guān)企業(yè)內(nèi)部及其環(huán)境的信息,以幫助他們進行決策”。在</p><p> 這個定義里強調(diào)了用信息支持決策,但并沒有強調(diào)應(yīng)用模型,沒有提到計算機的應(yīng)用。</p><p> 198
27、5年,管理信息系統(tǒng)的創(chuàng)始人,名尼蘇達大學(xué)的管理學(xué)教授Gordon</p><p> B.Davis給了管理信息系統(tǒng)一個較為完整的定義,即“管理信息系統(tǒng)是一個利</p><p> 用計算機軟硬件資源以及數(shù)據(jù)庫的人-機系統(tǒng)。它能提供信息支持企業(yè)或組織的</p><p> 運行、管理和決策功能。” 這個定義全面的說明了管理信息系統(tǒng)的目標、功能</p>
28、<p> 和組成,而且反映了管理信息系統(tǒng)在當(dāng)時達到的水平。</p><p> 1.2.2 管理信息系統(tǒng)的發(fā)展歷史</p><p> 管理信息系統(tǒng)在初級階段是統(tǒng)計系統(tǒng),所研究的內(nèi)容是數(shù)量數(shù)據(jù)間表面的</p><p> 規(guī)律,它可以把數(shù)據(jù)分成較相關(guān)和較不相關(guān)的組,然后把數(shù)據(jù)轉(zhuǎn)換為信息。</p><p> 第二階段是數(shù)據(jù)更新系
29、統(tǒng),其典型代表是美國航空公司于20世紀50年代</p><p> 建成的SABRE預(yù)約訂票系統(tǒng)。它設(shè)有1008個訂票點,可以存取600000個旅</p><p> 客記錄和27000個飛行段記錄。它的操作比較復(fù)雜,在任何“點”都可以查到</p><p> 某一航班是否有空座位。但從概念上來講,它只是一個數(shù)據(jù)更新系統(tǒng),比如它</p><p&g
30、t; 不能告訴你以現(xiàn)在的售票速度何時票將售完,從而采取補救措施。因而它也是</p><p> 管理信息系統(tǒng)的低級階段。</p><p> 第三階段是狀態(tài)報告系統(tǒng),它可以分成生產(chǎn)狀況報告、服務(wù)狀態(tài)報告和研</p><p> 究狀態(tài)報告等系統(tǒng)。比如生產(chǎn)狀況報告系統(tǒng),它的典型代表是IBM公司的生產(chǎn)</p><p> 管理系統(tǒng)。眾所周知,I
31、BM公司是世界上最大的計算機公司,1964年它生產(chǎn)出</p><p> 中型計算機IBM360,使計算機的水平提高了一個臺階,但同時組織生產(chǎn)的管</p><p> 理工作卻大大復(fù)雜化了,一臺計算機又超過15000個不同的部件,每個部件又</p><p> 有若干個元件,加之IBM的工廠遍及美國各地,不同的訂貨有不同的部件和不</p><p&
32、gt; 同的元件,必須指出什么工廠什么設(shè)備生產(chǎn)什么元件,因此不僅生產(chǎn)復(fù)雜,裝</p><p> 配、安裝和運輸都十分復(fù)雜。為了保證生產(chǎn)以及其他環(huán)節(jié)的順利進行,必須要</p><p> 有一個以計算機為基礎(chǔ)的生產(chǎn)狀態(tài)報告系統(tǒng)。因此同年IBM建立了先進管理系</p><p> 統(tǒng)AAS,它能進行450個業(yè)務(wù)的操作。1968年,公司又建立了公用制造信息系</
33、p><p> 統(tǒng)CMIS,運行很成功,過去需要15周的工作,該系統(tǒng)只用3周就可以完成。狀</p><p> 態(tài)報告系統(tǒng)還有一種形式是數(shù)據(jù)處理系統(tǒng),它用來處理日常業(yè)務(wù)和生產(chǎn)報告,</p><p> 重點在于將手工作業(yè)自動化,提高效率和節(jié)省人力。數(shù)據(jù)處理系統(tǒng)一般不能提</p><p><b> 供決策信息。</b><
34、;/p><p> 最后的階段是決策支持系統(tǒng),它是用來輔助決策的信息系統(tǒng)。該系統(tǒng)可以</p><p> 計劃、分析方案,審查解答和求解的誤差。它應(yīng)有較好的人-機對話方式,可以</p><p> 和不怎么熟悉計算機的人員通話。它一般包括一些模型用以產(chǎn)生決策信息,但</p><p> 不強調(diào)全面的管理功能。</p><p&g
35、t; 1.2.3 管理信息系統(tǒng)的發(fā)展趨勢</p><p> 近20年間,國外大公司出現(xiàn)了3種變化:</p><p> 抓管理著重于建立MIS系統(tǒng),使管理技術(shù)走向成熟。</p><p> 信息是決策的依據(jù),MIS隨時為經(jīng)理提供信息服務(wù)。</p><p> 經(jīng)理通過MIS使其經(jīng)營計劃和具體的業(yè)務(wù)活動聯(lián)系在一起。</p>
36、<p> 由于以上的變化。MIS應(yīng)用得到了迅速的發(fā)展。不僅大中型企業(yè)普遍建立</p><p> 了自己的MIS,一些小型企業(yè)也不例外,普遍建立了公用數(shù)據(jù)網(wǎng)絡(luò),如電子郵件、</p><p> 電子數(shù)據(jù)交換等,尤其是近年來INTERNET的飛速發(fā)展,INTRANET技術(shù)的</p><p> 應(yīng)用,為企業(yè)MIS提供了良好的支持環(huán)境。</p>
37、<p> 從國際技術(shù)發(fā)展趨勢看,20世紀90年代出現(xiàn)了幾種全新的管理技術(shù):</p><p> 1.企業(yè)過程重組(BPR)</p><p> 一個企業(yè)應(yīng)該重視對時間、產(chǎn)品質(zhì)量、生產(chǎn)成本和技術(shù)服務(wù)等幾個部分的</p><p> 管理,把目前的機構(gòu)和過程重新組合,做到功能集成化、運營過程化、機構(gòu)組</p><p><b&g
38、t; 織扁平化。</b></p><p> 2.智能化決策支持系統(tǒng)(IDDS)</p><p> 充分考慮了企業(yè)高層人員的要求和工作特點,將把中層管理人員的服務(wù)轉(zhuǎn)</p><p> 向為經(jīng)理的決策服務(wù)。</p><p> 3.精量生產(chǎn)(LP)</p><p> 應(yīng)用準時生產(chǎn)、全面質(zhì)量管理、并行工
39、程等技術(shù),最大限度的縮短產(chǎn)品設(shè)</p><p> 計和生產(chǎn)周期、提高產(chǎn)品質(zhì)量、降低再制品庫存,并在生產(chǎn)中提倡團隊精神,</p><p> 以滿足客戶不斷變化的需求。</p><p> 4.靈捷制造(AM)</p><p> 一種有遠見的企業(yè)管理模式,其特點是職工素質(zhì)高,組織機構(gòu)精簡、多功</p><p> 能
40、小組效率高、信息存放靈活、響應(yīng)客戶要求迅速。</p><p> 管理理信息系統(tǒng)的發(fā)展對企業(yè)管理的影響:</p><p> 管理信息系統(tǒng)的發(fā)展對企業(yè)和企業(yè)管理的變革產(chǎn)生了和正在產(chǎn)生著深遠的</p><p> 影響。管理信息系統(tǒng)可以輔助決策,特別是戰(zhàn)略決策,它的好壞直接影響到企</p><p> 業(yè)的生存和發(fā)展。MIS正在促使管理方法由定
41、性和定量相結(jié)合的方向發(fā)展。這</p><p> 表現(xiàn)在管理中運用預(yù)測和各種數(shù)學(xué)模型來定量分析企業(yè)中的問題。過去管理問</p><p> 題難以進行試驗,而MIS則可以結(jié)合管理需要,提供充分的數(shù)據(jù),為管理模擬</p><p><b> 創(chuàng)造條件。</b></p><p> 隨著MIS的發(fā)展,許多企業(yè)把分散的信息集中
42、起來成立了直屬經(jīng)理的信息</p><p> 系統(tǒng)部,信息系統(tǒng)部的負責(zé)人一般為副經(jīng)理級。企業(yè)的權(quán)力集中到高級管理人</p><p> 員手中以后,似乎使許多科室的工作減少了,因此有人預(yù)言,中層管理將消失。</p><p> 實際上,再現(xiàn)階段用了信息系統(tǒng)后中層管理不僅沒有減少,反而稍有增加。這</p><p> 是因為,雖然中下層管理人員
43、從繁瑣的事務(wù)性工作中解脫出來,但需要他們用</p><p> 更多的精力去分析研究工作,進一步提高管理決策水平。隨著MIS的發(fā)展,企</p><p> 業(yè)對高技術(shù)人才的需求不斷增加,而能力不足者將逐步被淘汰。這就迫使人們</p><p> 通過學(xué)習(xí)、培訓(xùn),不斷提高個人素質(zhì)。隨著通訊、網(wǎng)絡(luò)和文檔傳輸系統(tǒng)的發(fā)展,</p><p> 企業(yè)職
44、員可以在遠地或家中上班。美國蘭克·施樂公司(Rank Zerox)的網(wǎng)上辦公</p><p> 系統(tǒng),已經(jīng)使該公司大大節(jié)省了開支,工作效率明顯上升,為提高辦公人員的</p><p> 創(chuàng)造性創(chuàng)造了優(yōu)越的條件。</p><p> 目前許多國家正在醞釀一種更先進的制造業(yè)戰(zhàn)略,成為敏捷制造企業(yè)。它</p><p> 完全根據(jù)用戶需
45、求來組織設(shè)計與生產(chǎn),可以通過信息流調(diào)動不同地域的企業(yè)為</p><p> 同一個產(chǎn)品進行大協(xié)作,通過對機器的重新編程和對資源、人員的重新組織,</p><p> 構(gòu)成了一個新的制造系統(tǒng),使得生產(chǎn)成本與批量幾乎無關(guān)。敏捷制造企業(yè)與用</p><p> 戶建立一個完全嶄新的戰(zhàn)略依存關(guān)系,將會引起產(chǎn)業(yè)結(jié)構(gòu)的又一次革命。</p><p> 管
46、理信息系統(tǒng)正在朝著自適應(yīng)、自學(xué)習(xí)的方向發(fā)展,也就是能更好的模擬人的</p><p> 決策過程。西方某些企業(yè)家夢想完善的MIS是包治企業(yè)百病的靈丹妙藥;但也</p><p> 有人說,過多的依賴MIS會導(dǎo)致管理上的失敗。了解MIS對企業(yè)的影響,有</p><p> 利于我們在開發(fā)和研究工作中,使企業(yè)的組織機構(gòu)、管理體制和管理方法更好</p>&l
47、t;p> 的與MIS的發(fā)展相適應(yīng),建立更有效的MIS。</p><p> 1.3 本課題的目的和意義</p><p> 隨著業(yè)務(wù)量的增大,各種各樣的資料也層出不窮。這樣就造成了:</p><p> 1、資料量大,員工、藥品等錄入時的工作負荷重,效果低。</p><p> 2、資料的錄入過程中,時常會出現(xiàn)錯誤,增加了業(yè)務(wù)成本。&
48、lt;/p><p> 3、對資料進行查詢時,需要手工翻閱大量的資料檔案,大大降低了查詢效</p><p> 率,而且查詢的結(jié)果不盡如人意。</p><p> 以上缺點直接和間接地降低了的工作效率,最終影響了業(yè)務(wù)的開展。</p><p> 本課題所研究內(nèi)容是軟件生存期(Software life cycle)中的一個重要階段,是軟件質(zhì)量保證
49、的關(guān)鍵步驟。通俗地講,軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼進行最終復(fù)審的活動。1983年IEEE提出的軟件工程術(shù)語中給軟件測試下的定義是:“使用人工或自動的手段來運行或測定某個軟件系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別”。這個定義明確指出:軟件測試的目的是為了檢驗軟件系統(tǒng)是否滿足需求。 </p><p> 從用戶的角度來看,普遍希望通過軟件測
50、試暴露軟件中隱藏的錯誤和缺陷,所以軟件測試應(yīng)該是“為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”?;蛘哒f,軟件測試應(yīng)該根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤或缺陷。</p><p><b> 第2章 數(shù)據(jù)庫技術(shù)</b></p><p> 信息技術(shù)是管理信息系統(tǒng)的基礎(chǔ),只有把信
51、息技術(shù)和管理結(jié)合起來,才能真</p><p> 正發(fā)揮管理信息系統(tǒng)的作用。一般地信息技術(shù)是計算機硬件技術(shù),軟件技術(shù)及通</p><p><b> 信技術(shù)的總稱。</b></p><p> 從實際活動中采集來的原始數(shù)據(jù)只有經(jīng)過加工處理 ,才能為人們提供有用</p><p> 的信息,因此數(shù)據(jù)處理就顯得甚為重要。數(shù)據(jù)
52、庫設(shè)計是管理信息系統(tǒng)的核心內(nèi)容。</p><p><b> 2.1 數(shù)據(jù)庫基礎(chǔ)</b></p><p> 2.1.1 數(shù)據(jù)庫基本概念</p><p> 數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)</p><p> 庫管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。應(yīng)當(dāng)指出的是,數(shù)據(jù)庫的建&l
53、t;/p><p> 立、使用和維護等工作只靠一個DBMS遠遠不夠,還要有專門的人員來完成,這些</p><p> 人被稱為數(shù)據(jù)庫管理員。</p><p> 在一般不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。</p><p> 數(shù)據(jù)庫技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需要而產(chǎn)生的。</p><p> 隨著計算機技術(shù)的發(fā)展,
54、其應(yīng)用遠遠地超出了這個范圍。在應(yīng)用需求的推動</p><p> 下,在計算機硬件,軟件發(fā)展的基礎(chǔ)上,數(shù)據(jù)管理技術(shù)經(jīng)歷了人工管理、文件系</p><p> 統(tǒng)、數(shù)據(jù)庫系統(tǒng)三個階段。</p><p> 與人工管理和文件系統(tǒng)相比,數(shù)據(jù)庫系統(tǒng)的特點主要有以下幾個主面:</p><p><b> 數(shù)據(jù)的結(jié)構(gòu)化;</b>&l
55、t;/p><p> 數(shù)據(jù)的共享性高,冗余度低,易擴充;</p><p><b> 數(shù)據(jù)獨立性高;</b></p><p> 數(shù)據(jù)由DBMS統(tǒng)一管理和控制。</p><p> 目前,數(shù)據(jù)庫己經(jīng)成為現(xiàn)代信息系統(tǒng)的不可分離的重要組成部分。具有數(shù)百</p><p> 萬甚至數(shù)十億字節(jié)信息的數(shù)據(jù)庫己經(jīng)
56、普遍存在于科學(xué)技術(shù)、工業(yè)、農(nóng)業(yè)、商業(yè)、</p><p> 服務(wù)業(yè)和政府部門的信息系統(tǒng)。20世紀80年代后不公在大型機上,在多數(shù)微機</p><p> 上也配置了DBMS,使數(shù)據(jù)庫技術(shù)得到了更加廣泛的應(yīng)用和普及,是計算機領(lǐng)域</p><p> 中發(fā)展最快的技術(shù)之一[1]。</p><p> 2.1.2 數(shù)據(jù)模型</p>
57、<p> 根據(jù)數(shù)據(jù)模型的不同,DBMS可以分成層次型、網(wǎng)狀型、關(guān)系型等。</p><p> 滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型:</p><p> 1) 有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點</p><p> 2) 根以外的其它結(jié)點有且只有一個雙親結(jié)點</p><p> 其優(yōu)點:層次數(shù)據(jù)模型簡單,對
58、具有一對多的層次關(guān)系的部門描述自然、</p><p> 直觀,容易理解;性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型;層次數(shù)據(jù)模型提供了</p><p> 良好的完整性支持。缺點:多對多聯(lián)系表示不自然;對插入和刪除操作的限制</p><p> 多;查詢子女結(jié)點必須通過雙親結(jié)點;層次命令趨于程序化。</p><p><b> 網(wǎng)狀模型條件
59、:</b></p><p> 1) 允許一個以上的結(jié)點無雙親</p><p> 2) 一個結(jié)點可以有多于一個的雙親結(jié)點</p><p> 其特點有:描述更加直接;存取效率高;DDL、DML復(fù)雜</p><p> 關(guān)系模型主要是用二維表格結(jié)構(gòu)表達實體集,用外鍵表示實體間聯(lián)系。關(guān)</p><p> 系
60、模型是由若干個關(guān)系模式組成的集合。關(guān)系模式相當(dāng)于前面提到的記錄類型,</p><p> 它的實例稱為關(guān)系,每個關(guān)系實際上是一張二維表格。</p><p> 關(guān)系模型和層次、網(wǎng)狀模型的最大判別是用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),</p><p> 表格簡單用戶易懂,編程時并不涉及存儲結(jié)構(gòu),訪問技術(shù)等細節(jié)。關(guān)系模型是</p><p> 數(shù)學(xué)化
61、模型。但其存取路徑對用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型,</p><p> 為提高性能,必須對用戶的查詢請求進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的</p><p> 難度。SQL語言是關(guān)系數(shù)據(jù)庫的標準化語言,已得到了廣泛的應(yīng)用。</p><p> 典型的關(guān)系數(shù)據(jù)庫系統(tǒng):ORACLE、SYBASE、DB/2、COBASE、PBASE、</p>
62、<p> EasyBase、OpenBase</p><p> 2.1.3 數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)</p><p> 站在最終用戶的角度看,數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)分為集中式、分布式、</p><p> C/S(客戶/服務(wù)器)和并行結(jié)構(gòu)。</p><p> 集中式數(shù)據(jù)庫體系結(jié)構(gòu):將DBMS軟件、所有用戶數(shù)據(jù)和應(yīng)用程序放在一<
63、;/p><p> 臺計算機(作為服務(wù)器)上,其余計算機作為終端通過通信線路向服務(wù)器發(fā)出</p><p> 數(shù)據(jù)庫應(yīng)用請求,這種網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用系統(tǒng)稱為集中式數(shù)據(jù)庫體系結(jié)構(gòu)。</p><p> 客戶/服務(wù)器(C/S)式DBS是在客戶/服務(wù)器計算機網(wǎng)絡(luò)上運行的DBS,</p><p> 這個計算機網(wǎng)絡(luò)中,有一些計算機扮演客戶,另一些計算機扮演服
64、務(wù)者(即客戶</p><p> 機/服務(wù)器)。客戶/服務(wù)體系結(jié)構(gòu)的關(guān)鍵在于功能的分布。一些功能放在客戶機</p><p> (前端機)上運行,另一些功能則放在服務(wù)器(后端機)上執(zhí)行。</p><p> 分布式數(shù)據(jù)庫是將分散存儲在計算機網(wǎng)絡(luò)中的多個節(jié)點上的數(shù)據(jù)庫在邏輯</p><p> 上統(tǒng)一管理。它是建立在數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展的基
65、礎(chǔ)之上的。最初的數(shù)</p><p> 據(jù)庫一般是集中管理的,隨著網(wǎng)絡(luò)的擴大,增加了網(wǎng)絡(luò)的負荷,對數(shù)據(jù)庫的管</p><p> 理也困難了。分布式則可克服這些缺點。分布式數(shù)據(jù)庫可供地理位置分散的用</p><p> 戶共享彼此的數(shù)據(jù)資源。</p><p> 并行結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng):是多個物理上連在一起的CPU,而分布式系統(tǒng)是多</p&
66、gt;<p> 個地理上分開的CPU。各個承擔(dān)數(shù)據(jù)庫服務(wù)責(zé)任的CPU劃分它們自身的數(shù)據(jù),</p><p> 通過劃分的任務(wù)以及通過每秒兆位級的高速網(wǎng)絡(luò)通信完成事務(wù)查詢。</p><p> 站在數(shù)據(jù)庫管理系統(tǒng)的角度看,數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)一般采用三級模</p><p> 式結(jié)構(gòu):外模式、概念模式和內(nèi)模式構(gòu)成。</p><p>
67、; 概念模式,亦稱模式。是數(shù)據(jù)庫的總框架。描述數(shù)據(jù)庫中關(guān)于目標存儲的</p><p> 邏輯結(jié)構(gòu)和特性,基本操作和目標與目標及目標與操作的關(guān)系和依賴性,以及</p><p> 對數(shù)據(jù)的安全性、完整性等方面的定義。所有數(shù)據(jù)都按這一模式進行裝配。概</p><p> 念模式由概念模式描述語言DDL來進行描述。</p><p> 外模式,
68、亦稱子模式。是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖。它屬于概念模式的一部</p><p> 分,描述用戶數(shù)據(jù)的結(jié)構(gòu)、類型、長度等。所有的應(yīng)用程序都是根據(jù)外模式中</p><p> 對數(shù)據(jù)的描述而不是根據(jù)概念模式中對數(shù)據(jù)的描述而編寫的。在一個外模式中</p><p> 可以編寫多個應(yīng)用程序,但一個應(yīng)用程序只能對應(yīng)一個外模式。根據(jù)應(yīng)用的不</p><p>
69、 同,一個概念模式可以對應(yīng)多個外模式,外模式可以互相覆蓋。外模式由外模</p><p> 式描述語言SDDL進行具體描述。</p><p> 內(nèi)模式亦稱存儲模式。是對數(shù)據(jù)庫在物理存儲器上具體實現(xiàn)的描述。它規(guī)</p><p> 定數(shù)據(jù)在存儲介質(zhì)上的物理組織方式、記錄尋址技術(shù),定義物理存儲塊的大小,</p><p> 溢出處理方法等。與
70、概念模式相對應(yīng)。內(nèi)模式由數(shù)據(jù)存儲描述語言DSDL進行</p><p><b> 描述。</b></p><p> 圖2-1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)</p><p><b> 2.2 關(guān)系數(shù)據(jù)庫</b></p><p> 2.2.1 關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)</p><p
71、> 關(guān)系 (Relation) : 一個關(guān)系對應(yīng)一張表</p><p> 元組 (Tuple) :表中的一行</p><p> 屬性 (Attribute): 表中的一列,給每一列取一個名稱即屬性名</p><p> 主碼(Key):表中可唯一確定一個元組的某個屬性組。 </p><p> 域(Domain):屬性的取值范圍
72、</p><p> 分量(Component):元組中的一個屬性值</p><p> 關(guān)系模式 (Relation Schema):對關(guān)系的描述</p><p> 實體及實體間聯(lián)系的表示:</p><p> 實體型:直接用關(guān)系(表)表示</p><p><b> 屬性:用屬性名表示</b>
73、;</p><p> 一對一聯(lián)系:隱含在實體對應(yīng)的關(guān)系中</p><p> 一對多聯(lián)系:隱含在實體對應(yīng)的關(guān)系中</p><p> 多對多聯(lián)系:直接用關(guān)系表示</p><p> 圖2-2學(xué)生-課程數(shù)據(jù)庫</p><p> 2.2.2 數(shù)據(jù)完整性</p><p> 數(shù)據(jù)完整性是指保證數(shù)
74、據(jù)正確的特性,包括實體完整性、域完整性和參照</p><p><b> 完整性等。</b></p><p> 實體完整性與主關(guān)鍵字</p><p> 實體完整性是保證表中記錄惟一的特性,即在一個表中不允許有重復(fù)的記</p><p> 錄。如果一個字段的值或幾個字段的值能夠惟一標識表中的一條記錄,則這樣</p
75、><p> 的字段稱為候選關(guān)鍵字。在一個表上可能會有幾個具有這種特性的字段或字段</p><p> 的組合,這時從中選擇一個作為主關(guān)鍵字。</p><p> 實體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值,而不僅是主碼,</p><p><b> 整體不能取空值。</b></p><p>
76、<b> 域完整性與約束規(guī)則</b></p><p> 以前所熟知的數(shù)據(jù)類型的定義屬于域完整性的范疇。比如對數(shù)值型字段,</p><p> 通過指定不同的寬度說明不同范圍的數(shù)值數(shù)據(jù)類型,從而可以限定字段的取值</p><p> 類型和取值范圍。但這些對域完整性還遠遠不夠,還可以用一些域約束規(guī)則來</p><p>
77、 進一步保證域完整性。域約束規(guī)則也稱作字段有效性規(guī)則,在插入或修改字段</p><p> 值時被激活,主要用于數(shù)據(jù)輸入正確性的檢驗。</p><p> 參照完整性與表之間的關(guān)聯(lián)</p><p> 參照完整性與表之間的聯(lián)系有關(guān),它的大概含義是:當(dāng)插入、刪除或修改</p><p> 一個表中的數(shù)據(jù)時,通過參照引用相互關(guān)聯(lián)的另一個表中的數(shù)
78、據(jù),來檢查對表</p><p> 的數(shù)據(jù)操作是否正確。假如一個職工記錄由倉庫號、職工號和工資三個字段構(gòu)</p><p> 成,當(dāng)插入一條這樣的記錄時,如果沒有參照完整性檢查,則可能會插入一個</p><p> 并不存在的倉庫的職工記錄,這時插入的記錄肯定是錯誤的。如果在插入倉庫</p><p> 的職工記錄之前,能進行參照完整性檢查,
79、檢查指定職工記錄的倉庫號在倉庫</p><p> 表中是否存在,則可以保證插入記錄的合法性。</p><p> 為了建立參照完整性,必須首先建立表之間的聯(lián)系。最常見的聯(lián)系類型是</p><p> 一對多的聯(lián)系,在關(guān)系數(shù)據(jù)庫中通過連接字段來體現(xiàn)和表示聯(lián)系。連接字段在</p><p> 父表中一般是主關(guān)鍵字,在子表中是外部關(guān)鍵字。如果一個
80、字段或字段的組合</p><p> 不是本表的關(guān)鍵字,而是另一個表的關(guān)鍵字,則這樣的字段稱為外部關(guān)鍵字。</p><p> 2.2.3 關(guān)系操作和關(guān)系代數(shù)</p><p> 關(guān)系代數(shù)使用數(shù)學(xué)符號的表達式來描述數(shù)據(jù)查詢的過程和方法。關(guān)系代數(shù)</p><p> 的作用對象為關(guān)系,并返回關(guān)系結(jié)果。</p><p>
81、 關(guān)系代數(shù)的運算可分為兩類:</p><p> 傳統(tǒng)的集合運算,如并、交、差、廣義笛卡爾積。這類運算將關(guān)系看成元</p><p> 組的集合,其運算是以關(guān)系的行為單位來進行的。</p><p> 專門的關(guān)系運算,如選擇、投影、連接、除。這類運算表達了實用系統(tǒng)中</p><p> 應(yīng)用最普遍的查詢操作。</p><
82、p> 上述兩類運算的運算對象是關(guān)系,運算結(jié)果也是關(guān)系。</p><p><b> 傳統(tǒng)的集合運算</b></p><p> 傳統(tǒng)的集合運算包括四種運算:并(∪)、交(∩)、差(—)、廣義笛卡爾</p><p><b> 積(X)。</b></p><p> 1. 并(Union)&l
83、t;/p><p> 設(shè)關(guān)系R和關(guān)系S具有相同的目n,且相應(yīng)的屬性取自同一個域。則關(guān)系</p><p> R和關(guān)系S的并記為R∪S,其結(jié)果仍為n目關(guān)系,由屬于R或?qū)儆赟的元組</p><p><b> 組成。</b></p><p> 2. 交(Intersection)</p><p> 設(shè)
84、關(guān)系R和關(guān)系S具有相同的目n,且相應(yīng)的屬性取自同一個域。關(guān)系R</p><p> 和關(guān)系S的交記為R∩S,結(jié)果仍為n目關(guān)系,由既屬于R又屬于S的元組組成。</p><p> 3. 差(Difference)</p><p> 設(shè)關(guān)系R和關(guān)系S具有相同的目n,且相應(yīng)的屬性取自同一個域。定義關(guān)</p><p> 系R和關(guān)系S的差記為R-S
85、,其結(jié)果仍為n目關(guān)系,由屬于R而不屬于S的元</p><p><b> 組組成。</b></p><p> 4. 笛卡爾積(Extended Cartesian Product)</p><p> 兩個分別為n元和m元的關(guān)系R和S的廣義笛卡爾積R×S是一個 (n×</p><p> m)元組的
86、集合。元組的前n個分量是R的一個元組,后m個分量是S的一個</p><p> 元組,若R有K1個元組,S有K2個元組,則R×S有K1×K2個元組。記為</p><p><b> R×S。</b></p><p><b> 專門的關(guān)系運算</b></p><p>
87、 專門的關(guān)系運算包括四種運算即選擇(σ)、投影(Π)、連接(∞)和除</p><p> 法(÷),是關(guān)系數(shù)據(jù)庫數(shù)據(jù)維護、查詢、統(tǒng)計等操作的基礎(chǔ)。</p><p> l.選擇(Selection)</p><p> 設(shè)有關(guān)系R, 在關(guān)系R中求取滿足給定條件F的元組組成新的關(guān)系的運</p><p> 算稱為選擇。記作σF(R)。
88、</p><p> 其中F是一個條件表達式,其值為“真”或“假”。σF(R)是從關(guān)系R中</p><p> 選取使條件表達式F為真的元組。這是以行為處理單位進行的運算。F是由常</p><p> 量、變量及算術(shù)比較符{ >,≥,<,≤,=,≠ }和邏輯運算符( ∧,∨, ┓ )</p><p><b> 等構(gòu)成。
89、</b></p><p> 2.投影(Projection)</p><p> 設(shè)有關(guān)系R,在關(guān)系R中求指定的若干個屬性列組成新的關(guān)系的運算稱作</p><p> 投影,記作ΠA(R)。 其中A為欲選取的屬性列列名的列表。這是以列作為處</p><p><b> 理單位進行的運算。</b></p
90、><p> 3.連接(Join)</p><p> 從兩個分別為n, m目的關(guān)系R和S的廣義笛卡爾積中選取滿足給定條件</p><p> F的元組組成新的關(guān)系稱為R和S的連接,記作R∞FS(F=A θ B)。其中A</p><p> 和B分別為R和S上度數(shù)相等且可比的屬性列,θ是算術(shù)比較符(>,≥,<,</p>
91、<p><b> ≤,=,≠)。</b></p><p> 4.除(Division)</p><p> 給定關(guān)系R(x,y)與S(z)其中x,y,z為屬性集(也可為單屬性),R</p><p> 中的y和S中的z是同名的屬性(集)也可以有不同的屬性名, 但必須出自相</p><p> 同的域集。在求
92、解R÷S時,對R按x的值的分組,然后檢查每一組,如某一</p><p> 組中的y包含S中全部的z,則取該組中的x的值作為關(guān)系P中的一個元組, 否</p><p> 則不取。R÷S的商等于關(guān)系P。</p><p> 2.2.4 查詢優(yōu)化</p><p> 數(shù)據(jù)庫系統(tǒng)是管理信息系統(tǒng)的核心,基于數(shù)據(jù)庫的聯(lián)機事務(wù)處理(
93、OLTP)</p><p> 以及聯(lián)機分析處理(OLAP)是銀行、企業(yè)、政府等部門最為重要的計算機應(yīng)用之</p><p><b> 一</b></p><p> 從大多數(shù)系統(tǒng)的應(yīng)用實例來看,查詢操作在各種數(shù)據(jù)庫操作中所占據(jù)的比</p><p> 重最大,而查詢操作所基于的SELECT語句在SQL語句中又是代價最大
94、的語</p><p> 句。舉例來說,如果數(shù)據(jù)的量積累到一定的程度,比如一個銀行的賬戶數(shù)據(jù)庫</p><p> 表信息積累到上百萬甚至上千萬條記錄,全表掃描一次往往需要數(shù)十分鐘,甚</p><p> 至數(shù)小時。如果采用比全表掃描更好的查詢策略,往往可以使查詢時間降為幾</p><p> 分鐘,由此可見查詢優(yōu)化技術(shù)的重要性。 <
95、/p><p> 許多程序員在利用一些前端數(shù)據(jù)庫開發(fā)工具(如PowerBuilder、Delphi等)</p><p> 開發(fā)數(shù)據(jù)庫應(yīng)用程序時,只注重用戶界面的華麗,并不重視查詢語句的效率問</p><p> 題,導(dǎo)致所開發(fā)出來的應(yīng)用系統(tǒng)效率低下,資源浪費嚴重。因此,如何設(shè)計高</p><p> 效合理的查詢語句就顯得非常重要。本文以應(yīng)用實
96、例為基礎(chǔ),結(jié)合數(shù)據(jù)庫理論,</p><p> 介紹查詢優(yōu)化技術(shù)在現(xiàn)實系統(tǒng)中的運用。 </p><p><b> 分析問題 </b></p><p> 許多程序員認為查詢優(yōu)化是DBMS(數(shù)據(jù)庫管理系統(tǒng))的任務(wù),與程序員</p><p> 所編寫的SQL語句關(guān)系不大,這是錯誤的。一個好的查詢計劃往往可以使程序<
97、/p><p> 性能提高數(shù)十倍。查詢計劃是用戶所提交的SQL語句的集合,查詢規(guī)劃是經(jīng)過</p><p> 優(yōu)化處理之后所產(chǎn)生的語句集合。DBMS處理查詢計劃的過程是這樣的:在做</p><p> 完查詢語句的詞法、語法檢查之后,將語句提交給DBMS的查詢優(yōu)化器,優(yōu)化</p><p> 器做完代數(shù)優(yōu)化和存取路徑的優(yōu)化之后,由預(yù)編譯模塊對語句
98、進行處理并生成</p><p> 查詢規(guī)劃,然后在合適的時間提交給系統(tǒng)處理執(zhí)行,最后將執(zhí)行結(jié)果返回給用</p><p> 戶。在實際的數(shù)據(jù)庫產(chǎn)品(如Oracle、Sybase等)的高版本中都是采用基于代價</p><p> 的優(yōu)化方法,這種優(yōu)化能根據(jù)從系統(tǒng)字典表所得到的信息來估計不同的查詢規(guī)</p><p> 劃的代價,然后選擇一個較
99、優(yōu)的規(guī)劃。雖然現(xiàn)在的數(shù)據(jù)庫產(chǎn)品在查詢優(yōu)化方面</p><p> 已經(jīng)做得越來越好,但由用戶提交的SQL語句是系統(tǒng)優(yōu)化的基礎(chǔ),很難設(shè)想一</p><p> 個原本糟糕的查詢計劃經(jīng)過系統(tǒng)的優(yōu)化之后會變得高效,因此用戶所寫語句的</p><p> 優(yōu)劣至關(guān)重要。系統(tǒng)所做查詢優(yōu)化我們暫不討論,下面重點說明改善用戶查詢</p><p><b
100、> 計劃的解決方案。</b></p><p><b> 解決問題 </b></p><p><b> 1.合理使用索引 </b></p><p> 索引是數(shù)據(jù)庫中重要的數(shù)據(jù)結(jié)構(gòu),它的根本目的就是為了提高查詢效率。</p><p> 現(xiàn)在大多數(shù)的數(shù)據(jù)庫產(chǎn)品都采用IBM最先提
101、出的ISAM索引結(jié)構(gòu)。索引的使用</p><p> 要恰到好處,其使用原則如下: </p><p> 在經(jīng)常進行連接,但是沒有指定為外鍵的列上建立索引,而不經(jīng)常連接的</p><p> 字段則由優(yōu)化器自動生成索引。 </p><p> 在頻繁進行排序或分組(即進行g(shù)roup by或order by操作)的列上建立索</p&g
102、t;<p><b> 引。 </b></p><p> 在條件表達式中經(jīng)常用到的不同值較多的列上建立檢索,在不同值少的列</p><p> 上不要建立索引。比如在雇員表的“性別”列上只有“男”與“女”兩個不同</p><p> 值,因此就無必要建立索引。如果建立索引不但不會提高查詢效率,反而會嚴</p>&
103、lt;p> 重降低更新速度。 </p><p> 如果待排序的列有多個,可以在這些列上建立復(fù)合索引(compound index)。</p><p> 使用系統(tǒng)工具。另外,當(dāng)數(shù)據(jù)庫表更新大量數(shù)據(jù)后,刪除并重建索引可以</p><p><b> 提高查詢速度。 </b></p><p> 2.避免或簡化
104、排序 </p><p> 應(yīng)當(dāng)簡化或避免對大型表進行重復(fù)的排序。當(dāng)能夠利用索引自動以適當(dāng)?shù)?lt;/p><p> 次序產(chǎn)生輸出時,優(yōu)化器就避免了排序的步驟。以下是一些影響因素: </p><p> 索引中不包括一個或幾個待排序的列; </p><p> group by或order by子句中列的次序與索引的次序不一樣; </
105、p><p> 排序的列來自不同的表。 </p><p> 為了避免不必要的排序,就要正確地增建索引,合理地合并數(shù)據(jù)庫表(盡</p><p> 管有時可能影響表的規(guī)范化,但相對于效率的提高是值得的)。如果排序不可避</p><p> 免,那么應(yīng)當(dāng)試圖簡化它,如縮小排序的列的范圍等。 </p><p> 3.消除對
106、大型表行數(shù)據(jù)的順序存取 </p><p> 在嵌套查詢中,對表的順序存取對查詢效率可能產(chǎn)生致命的影響。比如采</p><p> 用順序存取策略,一個嵌套3層的查詢,如果每層都查詢1000行,那么這個查</p><p> 詢就要查詢10億行數(shù)據(jù)。避免這種情況的主要方法就是對連接的列進行索引。</p><p> 例如,兩個表:學(xué)生表(學(xué)號
107、、姓名、年齡……)和選課表(學(xué)號、課程號、</p><p> 成績)。如果兩個表要做連接,就要在“學(xué)號”這個連接字段上建立索引。 </p><p> 還可以使用并集來避免順序存取。 </p><p> 4.避免相關(guān)子查詢 </p><p> 一個列的標簽同時在主查詢和where子句中的查詢中出現(xiàn),那么很可能當(dāng)</p>
108、<p> 主查詢中的列值改變之后,子查詢必須重新查詢一次。查詢嵌套層次越多,效</p><p> 率越低,因此應(yīng)當(dāng)盡量避免子查詢。如果子查詢不可避免,那么要在子查詢中</p><p> 過濾掉盡可能多的行。 </p><p> 5.避免困難的正規(guī)表達式 </p><p> MATCHES和LIKE關(guān)鍵字支持通配符匹配,技
109、術(shù)上叫正規(guī)表達式。但這</p><p> 種匹配特別耗費時間。 </p><p> 另外,還要避免非開始的子串。 </p><p> 6.使用臨時表加速查詢</p><p> 把表的一個子集進行排序并創(chuàng)建臨時表,有時能加速查詢。它有助于避免</p><p> 多重排序操作,而且在其他方面還能簡化優(yōu)化器的工作。
110、 </p><p> 7.用排序來取代非順序存取 </p><p> 非順序磁盤存取是最慢的操作,表現(xiàn)在磁盤存取臂的來回移動。SQL語句</p><p> 隱藏了這一情況,使得我們在寫應(yīng)用程序時很容易寫出要求存取大量非順序頁</p><p><b> 的查詢。</b></p><p>
111、 有些時候,用數(shù)據(jù)庫的排序能力來替代非順序的存取能改進查詢。 </p><p> 2.2.5 關(guān)系數(shù)據(jù)庫設(shè)計理論</p><p><b> 函數(shù)依賴的定義:</b></p><p> 如果關(guān)系R的兩個元組在屬性A1,A2,… An上一致(也就是,兩個元</p><p> 組在這些屬性所對應(yīng)的各個分量具有相同的
112、值),則它們在另一個屬性B上也</p><p> 一致。那么,我們就說在關(guān)系R中屬性B函數(shù)依賴于屬性A1A2…An。稱 “A1,</p><p> A2,…,An函數(shù)決定B”。A1A2…An稱為決定因素。</p><p><b> 關(guān)系的鍵碼 :</b></p><p> 如一個或多個屬性的集合{A1,…,An}
113、滿足如下條件,稱該集合為關(guān)系</p><p><b> R的鍵碼:</b></p><p> 1.這些屬性函數(shù)決定該關(guān)系的所有其它屬性。</p><p> 2. {A1,…,An}的任何真子集都不能函數(shù)決定R的所有其它屬性,鍵碼</p><p><b> 必須是最小的。 </b></p
114、><p><b> 模式設(shè)計</b></p><p> 設(shè)計關(guān)系數(shù)據(jù)庫模式時,特別是從面向?qū)ο蟮腛DL設(shè)計或從E/R設(shè)計直</p><p> 接向關(guān)系數(shù)據(jù)庫模式轉(zhuǎn)換時,很容易出現(xiàn)的問題是冗余性,即一個事實在多個</p><p> 元組中重復(fù)。造成這種冗余的最常見的原因是,企圖把一個對象的單值和多值</p>
115、<p> 特性包含在一個關(guān)系中。</p><p> 關(guān)系的鍵碼函數(shù)決定該關(guān)系的所有其它屬性。由于鍵碼能唯一確定一個元</p><p> 組,所以,也可以說關(guān)系的鍵碼函數(shù)決定該關(guān)系的所有屬性。一個關(guān)系中的所</p><p> 有屬性都函數(shù)依賴于該關(guān)系的鍵碼。不同的屬性在關(guān)系模式中所處的地位和扮</p><p> 演的角色
116、是不同的。把鍵碼所在的屬性稱為主屬性,而把鍵碼屬性以外的屬性</p><p><b> 稱為非主屬性。 </b></p><p> 不同的屬性對鍵碼函數(shù)依賴的性質(zhì)和程度是有差別的。有的屬于直接依</p><p> 賴,有的屬于間接依賴(通常稱為傳遞依賴)。當(dāng)鍵碼由多個屬性組成時,有</p><p> 的屬性函數(shù)依
117、賴于整個鍵碼屬性集,而有的屬性只函數(shù)依賴于鍵碼屬性集中的</p><p><b> 一部分屬性。</b></p><p><b> 解決的途徑 </b></p><p> 部分依賴和傳遞依賴有一個共同之處,這就是,二者都不是基本的函數(shù)依</p><p> 賴,而都是導(dǎo)出的函數(shù)依賴:</
118、p><p> 部分依賴是以對鍵碼的某個真子集的依賴為基礎(chǔ)</p><p> 傳遞依賴的基礎(chǔ)則是通過中間屬性聯(lián)系在一起的兩個函數(shù)依賴。 </p><p> 解決的途徑——消除關(guān)系模式中各屬性對鍵碼的冗余的依賴。</p><p> 由于冗余的依賴有部分依賴與傳遞依賴之分,而屬性又有主屬性與非主屬</p><p> 性
119、之別,把解決的途徑分為幾個不同的級別,以屬于第幾范式來區(qū)別。</p><p> 范式就是符合某一種級別的關(guān)系模式的集合。</p><p> 目前主要有六種范式:第一范式、第二范式、第三范式、BC范式、第四</p><p> 范式和第五范式。第一范式需滿足的要求最低,在第一范式基礎(chǔ)上滿足進一步</p><p><b> 要求的
120、為第二范式:</b></p><p> 1NF 2NF 3NF BCNF 4NF 5NF</p><p> 通過分解把屬于低級范式的關(guān)系模式轉(zhuǎn)換為幾個屬于高級范式的關(guān)系模式</p><p> 的集合,這一過程稱為規(guī)范化。 </p><p><b> 第一范式(1NF)</b><
121、;/p><p> 如果一個關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項,則這個關(guān)系屬</p><p><b> 于第一范式。</b></p><p> 在任何一個關(guān)系數(shù)據(jù)庫系統(tǒng)中,第一范式是對關(guān)系模式的一個最起碼的要</p><p> 求。不滿足第一范式的數(shù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。</p><p&
122、gt;<b> 第二范式(2NF)</b></p><p> 若關(guān)系模式R屬于第一范式,且每個非主屬性都完全函數(shù)依賴于鍵碼,則</p><p><b> R屬于第二范式。</b></p><p> 第二范式就是不允許關(guān)系模式中的非主屬性部分函數(shù)依賴于鍵碼。 </p><p> 第三范式(3
123、NF) </p><p> 若關(guān)系模式R屬于第一范式,且每個非主屬性都不傳遞依賴于鍵碼,則R</p><p> 屬于第三范式。這里應(yīng)說明一點:屬于第三范式的關(guān)系模式必然屬于第二范式。</p><p> 因為可以證明部分依賴蘊含著傳遞依賴。 </p><p> 4. BC范式(BCNF) </p><p> 若
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息管理與信息系統(tǒng)畢業(yè)設(shè)計(含外文翻譯)
- 教務(wù)管理信息系統(tǒng)畢業(yè)論文(含外文翻譯)
- 畢業(yè)設(shè)計管理信息系統(tǒng)設(shè)計
- 管理信息系統(tǒng)外文翻譯
- 外文翻譯----管理信息系統(tǒng)
- 畢業(yè)設(shè)計管理信息系統(tǒng)設(shè)計
- 外文翻譯--管理信息系統(tǒng)
- 管理信息系統(tǒng)【外文翻譯】
- 外文翻譯--管理信息系統(tǒng)
- 宿舍管理信息系統(tǒng)畢業(yè)設(shè)計
- 管理信息系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計--庫存管理信息系統(tǒng)
- 畢業(yè)設(shè)計----酒店管理信息系統(tǒng)
- 畢業(yè)設(shè)計管理信息系統(tǒng)畢業(yè)設(shè)計論文
- 婚介管理信息系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計學(xué)生管理信息系統(tǒng)
- 畢業(yè)設(shè)計 書店管理信息系統(tǒng)設(shè)計
- 信息管理與信息系統(tǒng)畢業(yè)設(shè)計外文翻譯
- 外文翻譯--管理信息系統(tǒng).doc
- 管理信息系統(tǒng)外文翻譯1
評論
0/150
提交評論