《數(shù)據(jù)庫原理與應(yīng)用》課件-第1章 數(shù)據(jù)庫系統(tǒng)概述_第1頁
《數(shù)據(jù)庫原理與應(yīng)用》課件-第1章 數(shù)據(jù)庫系統(tǒng)概述_第2頁
《數(shù)據(jù)庫原理與應(yīng)用》課件-第1章 數(shù)據(jù)庫系統(tǒng)概述_第3頁
《數(shù)據(jù)庫原理與應(yīng)用》課件-第1章 數(shù)據(jù)庫系統(tǒng)概述_第4頁
《數(shù)據(jù)庫原理與應(yīng)用》課件-第1章 數(shù)據(jù)庫系統(tǒng)概述_第5頁
已閱讀5頁,還剩92頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章數(shù)據(jù)庫系統(tǒng)概述內(nèi)容提要數(shù)據(jù)庫技術(shù)是研究數(shù)據(jù)的組織、存儲(chǔ)、管理和使用的一門計(jì)算機(jī)科學(xué)分支,其應(yīng)用非常廣泛。要掌握好數(shù)據(jù)庫技術(shù),首先必須掌握數(shù)據(jù)庫系統(tǒng)的基本概念,了解數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程。本章介紹信息、數(shù)據(jù)、數(shù)據(jù)類型、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等基本概念,介紹數(shù)據(jù)庫應(yīng)用系統(tǒng)的生存期及瀑布模型、數(shù)據(jù)庫技術(shù)的發(fā)展歷程和發(fā)展趨勢(shì)。1.1數(shù)據(jù)庫系統(tǒng)的基本概念1.1.1信息的定義與特征1.信息的定義信息就是新的、有用的事實(shí)和知識(shí)。它具有時(shí)效性、有用性和知識(shí)性,是客觀世界的反映。信息論的創(chuàng)始人香農(nóng)(C.E.Shannon)1948年在《通信的數(shù)學(xué)理論》一書中指出:“凡是在一種情況下能減少不確定性的任何事物都叫做信息?!笨刂普摰膭?chuàng)始人維納(N.Wiener)在《人有人的用處——控制論和社會(huì)》中說:“信息這個(gè)術(shù)語的內(nèi)容就是我們對(duì)外界進(jìn)行調(diào)節(jié)并使我們的調(diào)節(jié)為外界所了解時(shí)而與外界交換來的東西?!蔽覈鴩覙?biāo)準(zhǔn)GB489885《情報(bào)與文獻(xiàn)工作詞匯基本術(shù)語》中,關(guān)于“信息”的解釋是:“信息是物質(zhì)存在的一種方式、形態(tài)或運(yùn)動(dòng)狀態(tài),也是事物的一種普遍屬性,一般指數(shù)據(jù)、消息中所包含的意義,可以使消息中所描述事件的不定性減少。信息的特征2.信息的特征(1)信息的普遍性和客觀性世界是客觀存在的物質(zhì)世界,物質(zhì)是運(yùn)動(dòng)的,運(yùn)動(dòng)的物質(zhì)既產(chǎn)生也攜帶信息。因而信息是客觀的、普遍存在的。信息的客觀性表現(xiàn)為它是以物質(zhì)客觀存在為前提的。即使是主觀信息,如決策、判斷、指令等,也有它的客觀實(shí)際背景,并受客觀實(shí)踐的檢驗(yàn)。因此信息必須真實(shí)、準(zhǔn)確地反映客觀實(shí)際。信息的特征(2)信息是有用的信息的有用性是指利用信息可以創(chuàng)造價(jià)值,如提高決策的科學(xué)性、提高生產(chǎn)效率、提高產(chǎn)品銷售量。(3)信息的依附性信息的依附性是指信息總是依附于某種載體表現(xiàn)的,信息不能脫離載體而獨(dú)立存在。信息的載體(或信息的表現(xiàn)形式)包括語言、文字、數(shù)據(jù)、符號(hào)、圖像、聲音、情景、表情、動(dòng)作、狀態(tài)等。信息的特征(4)信息的共享性信息的共享性是指同一信息可被許多人分享,且信息不會(huì)因?yàn)榉窒矶鴾p少或喪失。信息的共享性有兩層含義:一是信息交換的雙方,即傳播者和接受者都可以享有被交換的同一信息。二是信息在交換或交流中,可以同時(shí)為眾多的接受者接收和利用。信息的共享性是相對(duì)而言的,信息的共享范圍往往是受限制的。例如,某超市的銷售信息對(duì)其管理人員來說是共享的,而對(duì)其競(jìng)爭(zhēng)對(duì)手來說是不共享的。值得注意的是,信息的共享性特征也引起了信息的安全性和保密性等一系列問題。信息的特征(5)信息的可傳輸性把信息從時(shí)間或空間的某一點(diǎn)向其他點(diǎn)移動(dòng)的過程稱為信息傳輸。信息的可傳輸性是指信息可以通過一定的傳輸工具和載體進(jìn)行傳輸。信息可以通過多種渠道、采用多種方式進(jìn)行傳輸。語言、表情、動(dòng)作、報(bào)刊、書籍、廣播、電視、電話、電報(bào)、通信衛(wèi)星等是常用的信息傳輸方式。信息的特征(6)信息的可識(shí)別性信息的可識(shí)別性是指人們不僅可以通過眼、鼻、耳等感覺器官去感知信息,而且可以通過各種儀表器械去檢測(cè)、識(shí)別和處理。信息的識(shí)別方式分為直接識(shí)別和間接識(shí)別。直接識(shí)別是指通過感官的識(shí)別,間接識(shí)別是指通過各種測(cè)試手段的識(shí)別。不同的信息源有不同的識(shí)別方法。信息的特征(7)信息的可壓縮性信息的可壓縮性是指人們通過對(duì)信息進(jìn)行加工、整理、概括、歸納等手段使之精練、濃縮,用較小的信息量描述一件事物主要特征。信息壓縮在實(shí)際中很有必要,因?yàn)槲覀兛赡軟]有能力也沒有必要收集、存儲(chǔ)一個(gè)事物的全部信息。。(8)信息的可轉(zhuǎn)換性信息的可轉(zhuǎn)換性是指信息可以從一種表現(xiàn)形式轉(zhuǎn)換為另一種表現(xiàn)形式。如自然信息可轉(zhuǎn)換為語言、文字和圖像等形式,也可轉(zhuǎn)換為電磁波信號(hào)和計(jì)算機(jī)代碼。1.1.2數(shù)據(jù)的定義與特征1.1.2數(shù)據(jù)的定義與特征1.數(shù)據(jù)的定義數(shù)據(jù)是信息的最佳表現(xiàn)形式之一,它通過可書寫的信息編碼表示信息。數(shù)據(jù)的特征2.數(shù)據(jù)的特征數(shù)據(jù)除了具有信息的所有特征外,還具有以下一些特征。(1)數(shù)據(jù)有“型”和“值”數(shù)據(jù)的型指數(shù)據(jù)的結(jié)構(gòu)。數(shù)據(jù)的值是指數(shù)據(jù)的具體取值。如“學(xué)生”數(shù)據(jù)的型由“學(xué)號(hào)”、“姓名”、“性別”、“所在系”等構(gòu)成,其中“學(xué)生”為數(shù)據(jù)名,而“2006010210、王燕、女、自動(dòng)化系”是“學(xué)生”數(shù)據(jù)的一個(gè)值。數(shù)據(jù)的特征(2)數(shù)據(jù)受數(shù)據(jù)類型和取值范圍的約束數(shù)據(jù)的類型包括字符型、數(shù)值型、日期型等簡(jiǎn)單數(shù)據(jù)類型,也包括由若干數(shù)據(jù)類型構(gòu)造出的復(fù)雜數(shù)據(jù)類型。例如,“姓名”的數(shù)據(jù)類型為字符型,“年齡”的數(shù)據(jù)類型為數(shù)值型。數(shù)據(jù)類型不同,其表示形式、存儲(chǔ)方式、操作運(yùn)算一般也是不同的。例如,數(shù)值型數(shù)據(jù)可以進(jìn)行加、減、乘、除等算術(shù)運(yùn)算,而字符型數(shù)據(jù)可以進(jìn)行連接、取子串、查子串等運(yùn)算。數(shù)據(jù)是有取值范圍約束的。例如,“年齡”不可能取值負(fù)數(shù),也不可能太大,其取值范圍一般為0~150。數(shù)據(jù)的特征(3)數(shù)據(jù)有定性表示和定量表示例如,職工的年齡可以定性地表示為“老”、“中”、“青”,也可以用具體歲數(shù)定量地表示。1.1.3數(shù)據(jù)類型1.1.3數(shù)據(jù)類型常見的數(shù)據(jù)類型有字符型、數(shù)值型、日期型、邏輯型、備注型。1.字符型字符型數(shù)據(jù)由中文字符、英文字符、數(shù)值字符、空格和其他專用符號(hào)組成。字符型數(shù)據(jù)一般有寬度限制,最大寬度不超過254B(Byte,字節(jié))。例如,姓名、公司名稱屬于字符型數(shù)據(jù)。數(shù)據(jù)類型2.數(shù)值型數(shù)值型數(shù)據(jù)只能由數(shù)字、小數(shù)點(diǎn)和正負(fù)號(hào)組成。數(shù)值型數(shù)據(jù)介于-263和264之間,數(shù)值的最大精度為16位有效數(shù)字,小數(shù)最多15位。數(shù)值型數(shù)據(jù)可以分為整數(shù)型、實(shí)數(shù)型和浮點(diǎn)數(shù)型等。例如,人數(shù)、商品單價(jià)屬于數(shù)值型數(shù)據(jù)。3.日期型日期型數(shù)據(jù)是用來表示日期的特殊數(shù)據(jù),有固定的格式。日期型數(shù)據(jù)長度固定為8位。一般日期格式“yyyy-mm-dd”表示“年-月-日”,美國日期格式“mm/dd/yyyy”表示“月/日/年”。例如,2008年10月1日的一般日期格式表示為“2008-10-1”、美國日期格式表示為“10/01/2008”。數(shù)據(jù)類型4.邏輯型邏輯型數(shù)據(jù)是表示邏輯判斷結(jié)果的值,只能取真(T,Y)或假(F,N)。邏輯型數(shù)據(jù)的長度固定為1bit(位)。5.備注型備注型也稱為記憶型、文本型。當(dāng)需要存儲(chǔ)大量的字符時(shí),應(yīng)該使用備注型數(shù)據(jù)。注意,備注型數(shù)據(jù)一般長度較大,而字符型數(shù)據(jù)長度較小。1.1.4數(shù)據(jù)庫及其特點(diǎn)1.1.4數(shù)據(jù)庫及其特點(diǎn)數(shù)據(jù)庫已經(jīng)與我們的日常工作、學(xué)習(xí)和生活密切相關(guān),如學(xué)生成績(jī)數(shù)據(jù)庫、員工檔案數(shù)據(jù)庫、庫存商品數(shù)據(jù)庫、圖書數(shù)據(jù)庫、銀行數(shù)據(jù)庫、手機(jī)短信數(shù)據(jù)庫。1.數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,DB)是一個(gè)按一定數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理的數(shù)據(jù)集合。數(shù)據(jù)庫的特點(diǎn)2.數(shù)據(jù)庫的特點(diǎn)(1)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化是指數(shù)據(jù)庫按照一定的數(shù)據(jù)模型來組織和存放數(shù)據(jù)。這種結(jié)構(gòu)化了的數(shù)據(jù)能反映數(shù)據(jù)之間的自然聯(lián)系。而傳統(tǒng)的文件是無模型的,結(jié)構(gòu)非常簡(jiǎn)單,因此不能反映數(shù)據(jù)之間的自然聯(lián)系。數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫和文件之間的一個(gè)重要的本質(zhì)差別,是實(shí)現(xiàn)對(duì)數(shù)據(jù)的集中控制和減少數(shù)據(jù)冗余的前提和保證。這里,數(shù)據(jù)冗余是指同一組數(shù)據(jù)在多個(gè)文件中同時(shí)出現(xiàn)所引起的數(shù)據(jù)重復(fù)現(xiàn)象。數(shù)據(jù)庫的特點(diǎn)(2)數(shù)據(jù)獨(dú)立性數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)庫的數(shù)據(jù)與應(yīng)用程序之間不存在相互依賴關(guān)系,也就是數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和存取方法等不因應(yīng)用程序的修改而修改,反之亦然。這是數(shù)據(jù)庫與文件之間的另一個(gè)重要區(qū)別。數(shù)據(jù)獨(dú)立性分為物理獨(dú)立性和邏輯獨(dú)立性兩級(jí)。1)數(shù)據(jù)物理獨(dú)立性數(shù)據(jù)物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(或存儲(chǔ)結(jié)構(gòu))與應(yīng)用程序相互之間有較強(qiáng)的獨(dú)立性。當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)改變(如物理存儲(chǔ)設(shè)備的更換、物理存儲(chǔ)位置的變更、存取方法的改變)時(shí),應(yīng)用程序不需要修改仍能正常工作,反之亦然。2)數(shù)據(jù)邏輯獨(dú)立性數(shù)據(jù)邏輯獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),如修改數(shù)據(jù)結(jié)構(gòu)、增加新的數(shù)據(jù)類型、改變數(shù)據(jù)間的聯(lián)系等,無需修改原來的應(yīng)用程序。一個(gè)具有數(shù)據(jù)獨(dú)立性的系統(tǒng)稱之為以數(shù)據(jù)為中心的系統(tǒng),或面向數(shù)據(jù)的系統(tǒng)。數(shù)據(jù)庫的特點(diǎn)(3)實(shí)現(xiàn)數(shù)據(jù)共享數(shù)據(jù)共享是指多個(gè)用戶、多種程序語言、多個(gè)應(yīng)用程序使用一些共同的數(shù)據(jù)。數(shù)據(jù)共享是促成發(fā)展數(shù)據(jù)庫技術(shù)的重要原因之一,也是數(shù)據(jù)庫技術(shù)先進(jìn)性的一個(gè)重要體現(xiàn)。數(shù)據(jù)庫中的數(shù)據(jù)可供多個(gè)應(yīng)用程序、多個(gè)用戶共同使用,這些應(yīng)用程序可以用不同的程序設(shè)計(jì)語言編寫,用戶可以處于不同的業(yè)務(wù)部門、不同的物理位置。數(shù)據(jù)庫的特點(diǎn)(4)數(shù)據(jù)的冗余度小在數(shù)據(jù)庫產(chǎn)生以前,每個(gè)應(yīng)用都需要建立自己的數(shù)據(jù)文件,從而造成了數(shù)據(jù)冗余。數(shù)據(jù)冗余帶來的弊病有:1)浪費(fèi)存儲(chǔ)空間。2)為了更新某些冗余副本,保持?jǐn)?shù)據(jù)的一致性,必須執(zhí)行多次更新操作,從而增加不必要的機(jī)器時(shí)間。3)由于數(shù)據(jù)的不同副本可能處于不同的更新階段,從而可能給出不一致的信息。數(shù)據(jù)庫則是以整體觀點(diǎn)來組織和存儲(chǔ)數(shù)據(jù)的,數(shù)據(jù)是集成化、結(jié)構(gòu)化的。它是為多種應(yīng)用所共享的,從而大大減少了數(shù)據(jù)冗余。數(shù)據(jù)庫的特點(diǎn)(5)避免了數(shù)據(jù)的不一致性當(dāng)本應(yīng)相同的數(shù)據(jù)在不同的應(yīng)用中出現(xiàn)不同的值時(shí),我們就說數(shù)據(jù)出現(xiàn)了不一致。例如,同一職工的工資,如果在工資單上和人事檔案中具有不同的值就出現(xiàn)了不一致。數(shù)據(jù)的不一致性主要是由數(shù)據(jù)冗余引起的。數(shù)據(jù)庫在理論上消除了數(shù)據(jù)冗余,因而可以避免數(shù)據(jù)的不一致性。即使存在某些冗余,數(shù)據(jù)庫也提供了對(duì)數(shù)據(jù)的控制和檢查機(jī)制,保證在更新數(shù)據(jù)的同時(shí)更新其所有副本,從而保證了數(shù)據(jù)的一致性。數(shù)據(jù)庫的特點(diǎn)(6)有利于數(shù)據(jù)的安全性數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù),防止不合法使用數(shù)據(jù)造成數(shù)據(jù)的泄密和破壞,使每個(gè)用戶只能按規(guī)定對(duì)某些數(shù)據(jù)以某些方式進(jìn)行訪問和處理。只有DBA(DatabaseAdministrator,數(shù)據(jù)庫管理員)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)擁有完全的操作權(quán)限,DBA可以規(guī)定各用戶的權(quán)限。每當(dāng)用戶企圖存取敏感數(shù)據(jù)時(shí),數(shù)據(jù)庫就進(jìn)行安全性檢查。對(duì)于致?lián)熘袛?shù)據(jù)的各種操作(查詢、修改、刪除等)數(shù)據(jù)庫都可以實(shí)施不同級(jí)別的安全檢查。數(shù)據(jù)庫的特點(diǎn)(7)有利于保證數(shù)據(jù)的完整性數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性,即將數(shù)據(jù)控制在有效的范圍內(nèi),或要求數(shù)據(jù)之間滿足一定的關(guān)系。數(shù)據(jù)的不一致性是失去完整性的例子。當(dāng)然,數(shù)據(jù)冗余可能引起數(shù)據(jù)的不完整性,但是沒有數(shù)據(jù)冗余同樣可能出現(xiàn)不正確的數(shù)據(jù)而使數(shù)據(jù)庫失去數(shù)據(jù)完整性。例如,在一個(gè)數(shù)值型數(shù)據(jù)中出現(xiàn)了字母、特殊符號(hào)等,或一個(gè)工人一周的工作時(shí)間超過200h等都是失去完整性的例子,它們與是否存在數(shù)據(jù)冗余無關(guān)。數(shù)據(jù)庫的集中控制可以避免這些情況的出現(xiàn)。它通過DBA定義的完整性規(guī)則,對(duì)每一次更新操作實(shí)施完整性檢查,保證數(shù)據(jù)的完整性。數(shù)據(jù)的完整性檢查對(duì)于多用戶系統(tǒng)尤為重要。例如,當(dāng)一個(gè)用戶正在修改某一數(shù)據(jù)時(shí),別的用戶也去修改這個(gè)數(shù)據(jù)就可能產(chǎn)生不完整的數(shù)據(jù)。數(shù)據(jù)庫的特點(diǎn)(8)可以發(fā)現(xiàn)故障和恢復(fù)正常狀態(tài)

實(shí)際工作中,人們很難保證數(shù)據(jù)庫在運(yùn)行過程中不受到破壞。實(shí)際上,硬件、軟件故障及用戶操作的失誤,隨時(shí)有可能使數(shù)據(jù)庫遭到局部性的或全局性的破壞。數(shù)據(jù)庫有一套及時(shí)發(fā)現(xiàn)故障,并迅速地把數(shù)據(jù)庫恢復(fù)到故障以前的正確狀態(tài)的措施,如轉(zhuǎn)儲(chǔ)、日志、檢查點(diǎn)等方法。1.1.5數(shù)據(jù)庫管理系統(tǒng)1.1.5數(shù)據(jù)庫管理系統(tǒng)1.數(shù)據(jù)庫管理系統(tǒng)的定義數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)是對(duì)數(shù)據(jù)庫進(jìn)行管理的軟件系統(tǒng),它負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、數(shù)據(jù)控制及保護(hù)和數(shù)據(jù)服務(wù)等。DBMS建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫的統(tǒng)一管理和控制?;跀?shù)據(jù)庫的實(shí)際應(yīng)用系統(tǒng)通過DBMS操作數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)庫管理系統(tǒng)的功能2.數(shù)據(jù)庫管理系統(tǒng)的功能(1)數(shù)據(jù)定義

DBMS通過其數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL)定義數(shù)據(jù)庫及其組成元素的結(jié)構(gòu)。(2)數(shù)據(jù)操縱

DBMS通過其數(shù)據(jù)操縱語言(DataManipulationLanguage,DML)操縱數(shù)據(jù)庫中的數(shù)據(jù),即對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行插入、修改、刪除、查詢、統(tǒng)計(jì)和排序等操作。(3)數(shù)據(jù)控制

DBMS通過其數(shù)據(jù)控制語言(DataControlLanguage,DCL)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行安全性控制,以保證數(shù)據(jù)的安全。數(shù)據(jù)庫管理系統(tǒng)的功能(4)數(shù)據(jù)組織與存取

DBMS提供數(shù)據(jù)在外圍存儲(chǔ)設(shè)備上的物理組織與存取方法。(5)數(shù)據(jù)庫建立與維護(hù)數(shù)據(jù)庫的建立是指數(shù)據(jù)的載入、轉(zhuǎn)儲(chǔ)、重組與恢復(fù)等。數(shù)據(jù)庫的維護(hù)是指數(shù)據(jù)庫及其組成元素的結(jié)構(gòu)修改、數(shù)據(jù)備份等。(6)運(yùn)行管理

DBMS提供并發(fā)控制、數(shù)據(jù)存取控制、完整性控制、運(yùn)行日志,以保證所有的數(shù)據(jù)庫操作正確有效。1.1.6數(shù)據(jù)庫系統(tǒng)1.1.6數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,DBS)是一個(gè)帶有數(shù)據(jù)庫的計(jì)算機(jī)應(yīng)用系統(tǒng),它由支持該系統(tǒng)開發(fā)、使用與運(yùn)行維護(hù)的硬件、軟件和人員組成。簡(jiǎn)單地說,數(shù)據(jù)庫系統(tǒng)由硬件、軟件和人員三部分組成。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)如圖1-1所示。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)圖1-1數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的硬件1.數(shù)據(jù)庫系統(tǒng)的硬件數(shù)據(jù)庫系統(tǒng)是在其硬件的支持下運(yùn)行的。數(shù)據(jù)庫系統(tǒng)的硬件包括計(jì)算機(jī)及外圍設(shè)備。數(shù)據(jù)庫系統(tǒng)的計(jì)算機(jī)用于數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理與數(shù)據(jù)管理,它包括客戶機(jī)、網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫系統(tǒng)的外圍設(shè)備包括通信設(shè)備、輸入輸出設(shè)備。通信設(shè)備如計(jì)算機(jī)網(wǎng)絡(luò)、交換機(jī)、路由器,用于數(shù)據(jù)傳輸和數(shù)據(jù)共享。輸入輸出設(shè)備如條碼掃描儀、圖形掃描儀、攝像頭、數(shù)碼照相機(jī)、視頻采集卡、電影卡、激光打印機(jī)、數(shù)字印刷機(jī)等,用于一些特殊數(shù)據(jù)的輸入輸出。數(shù)據(jù)庫系統(tǒng)一般數(shù)據(jù)量大、處理復(fù)雜、共享程度高。為了保證整個(gè)數(shù)據(jù)庫系統(tǒng)的正常運(yùn)行,在進(jìn)行數(shù)據(jù)庫系統(tǒng)的硬件配置時(shí),必須保證有足夠的計(jì)算機(jī)內(nèi)存、外存及良好的通信效率。數(shù)據(jù)庫系統(tǒng)的硬件(1)計(jì)算機(jī)內(nèi)存計(jì)算機(jī)內(nèi)存用作操作系統(tǒng)、DBMS、開發(fā)工具、應(yīng)用軟件等運(yùn)行時(shí)的程序工作區(qū)或數(shù)據(jù)緩沖區(qū)。一般地,內(nèi)存越大,處理速度越快。但內(nèi)存過大將造成浪費(fèi)。(2)計(jì)算機(jī)外存計(jì)算機(jī)外存用來存放操作系統(tǒng)、DBMS、開發(fā)工具、應(yīng)用軟件等。計(jì)算機(jī)外存主要有軟盤、硬盤、磁帶、光盤、閃存盤。實(shí)際應(yīng)用中,硬盤是數(shù)據(jù)庫系統(tǒng)的主要存儲(chǔ)設(shè)備。(3)通信效率目前,大多數(shù)數(shù)據(jù)庫系統(tǒng)都是基于計(jì)算機(jī)網(wǎng)絡(luò)的系統(tǒng)。計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)該具有良好的通信效率,否則將無法保證數(shù)據(jù)傳輸和數(shù)據(jù)共享的需要。數(shù)據(jù)庫系統(tǒng)的軟件2.數(shù)據(jù)庫系統(tǒng)的軟件數(shù)據(jù)庫系統(tǒng)軟件包括操作系統(tǒng)、數(shù)據(jù)庫應(yīng)用系統(tǒng)、DBMS、主語言編譯系統(tǒng)、應(yīng)用系統(tǒng)開發(fā)工具。(1)操作系統(tǒng)操作系統(tǒng)是一種基礎(chǔ)性系統(tǒng)軟件,是整個(gè)計(jì)算機(jī)系統(tǒng)的核心,負(fù)責(zé)合理有效地組織、協(xié)調(diào)、控制和維護(hù)計(jì)算機(jī)系統(tǒng)的各種軟件和硬件資源,控制應(yīng)用程序運(yùn)行并為其開發(fā)、運(yùn)行與管理提供支持,提供方便、有效和友好的用戶界面。常見操作系統(tǒng)有DOS、Windows、Unix、Linux。數(shù)據(jù)庫系統(tǒng)的軟件(2)數(shù)據(jù)庫應(yīng)用系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)(DatabaseApplicationSystem,DBAS)是一個(gè)帶有數(shù)據(jù)庫的計(jì)算機(jī)軟件系統(tǒng),它是包括應(yīng)用程序、數(shù)據(jù)、數(shù)據(jù)庫以及與該系統(tǒng)的開發(fā)、維護(hù)和使用有關(guān)的文檔的完整集合。數(shù)據(jù)庫應(yīng)用系統(tǒng)在操作系統(tǒng)、DBMS、數(shù)據(jù)庫的支持下運(yùn)行。數(shù)據(jù)庫系統(tǒng)的軟件(3)DBMS與主語言編譯系統(tǒng)

DBMS主要負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、數(shù)據(jù)控制及保護(hù),它的程序控制、人機(jī)接口、硬件接口以及與其他應(yīng)用系統(tǒng)接口的能力較弱,基本不提供復(fù)雜的數(shù)據(jù)處理功能。因此為了開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),就需要主語言系統(tǒng)的配合。主語言系統(tǒng)主要用于程序控制、人機(jī)接口、硬件接口以及與其他應(yīng)用系統(tǒng)接口,提供復(fù)雜的數(shù)據(jù)處理和數(shù)據(jù)展現(xiàn)功能。常見的主語言系統(tǒng)有Java、C、C++、Delphi、C#、PHP。主語言編譯器是主語言的核心,它負(fù)責(zé)把用主語言所編寫的應(yīng)用程序源代碼翻譯為計(jì)算機(jī)能解讀、運(yùn)行的機(jī)器語言程序。數(shù)據(jù)庫系統(tǒng)的軟件(4)應(yīng)用系統(tǒng)開發(fā)工具應(yīng)用系統(tǒng)開發(fā)工具即軟件開發(fā)工具,是輔助開發(fā)人員和用戶開發(fā)應(yīng)用系統(tǒng)的工具性軟件,包括軟件需求分析工具、軟件設(shè)計(jì)工具、軟件測(cè)試工具、軟件集成開發(fā)環(huán)境、報(bào)表生成器等。常見的應(yīng)用系統(tǒng)開發(fā)工具有Eclipse、Visual

Studio、Qt、Delphi、Android

Studio、Xcode、RationalSoftwareArchitect。數(shù)據(jù)應(yīng)用系統(tǒng)的開發(fā)需要應(yīng)用系統(tǒng)開發(fā)工具作為支持。數(shù)據(jù)庫系統(tǒng)的人員3.數(shù)據(jù)庫系統(tǒng)的人員數(shù)據(jù)庫系統(tǒng)的人員是指數(shù)據(jù)庫系統(tǒng)的開發(fā)人員、用戶和運(yùn)行維護(hù)人員。他們?cè)跀?shù)據(jù)庫系統(tǒng)的開發(fā)、應(yīng)用和維護(hù)中起重要作用,相應(yīng)的角色有系統(tǒng)分析員、程序員、用戶、DBA。(1)DBA數(shù)據(jù)庫在企業(yè)或組織的數(shù)據(jù)資源管理中處于核心地位,因此企業(yè)或組織應(yīng)該設(shè)立專門的數(shù)據(jù)資源管理機(jī)構(gòu)來管理數(shù)據(jù)庫。DBA則是這個(gè)機(jī)構(gòu)的一組人員,全面負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的運(yùn)行管理和控制。DBA的具體職責(zé)包括:數(shù)據(jù)庫系統(tǒng)的人員1)參與數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)數(shù)據(jù)庫中要存放哪些數(shù)據(jù)和怎樣存取數(shù)據(jù)是由數(shù)據(jù)庫系統(tǒng)需求決定的。為了更好地對(duì)數(shù)據(jù)庫系統(tǒng)進(jìn)行有效的管理和維護(hù),DBA應(yīng)該與系統(tǒng)分析員、程序員、用戶密切合作,搞好數(shù)據(jù)庫設(shè)計(jì)。2)參與決定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取策略

DBA應(yīng)和系統(tǒng)分析員、程序員、用戶一道,根據(jù)數(shù)據(jù)庫系統(tǒng)需求共同決定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取策略,以獲得較高的存取速度和存儲(chǔ)空間利用率。數(shù)據(jù)庫系統(tǒng)的人員3)參與定義數(shù)據(jù)的安全性要求和完整性約束條件

DBA要保證數(shù)據(jù)庫的安全性和完整性,即數(shù)據(jù)不被非法用戶所獲取,且保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和數(shù)據(jù)間的相容性。因此DBA應(yīng)和系統(tǒng)分析員、程序員、用戶一起,確定各個(gè)用戶對(duì)數(shù)據(jù)庫的存取權(quán)限、數(shù)據(jù)的保密級(jí)別和完整性約束條件。數(shù)據(jù)庫系統(tǒng)的人員4)監(jiān)控?cái)?shù)據(jù)庫的使用和運(yùn)行DBA要監(jiān)視數(shù)據(jù)庫系統(tǒng)的運(yùn)行情況,及時(shí)處理運(yùn)行過程中出現(xiàn)的問題。當(dāng)系統(tǒng)發(fā)生某些故障時(shí),數(shù)據(jù)庫中的數(shù)據(jù)會(huì)因此遭到不同程度的破壞,DBA必須在最短時(shí)間內(nèi)將數(shù)據(jù)庫恢復(fù)到某種一致狀態(tài),并盡可能不影響或少影響計(jì)算機(jī)系統(tǒng)其他部分的正常運(yùn)行。為此,DBA要定義和實(shí)施適當(dāng)?shù)暮笤突謴?fù)策略,如采用周期性轉(zhuǎn)儲(chǔ)數(shù)據(jù)和維護(hù)日志文件等方法。數(shù)據(jù)庫系統(tǒng)的人員5)數(shù)據(jù)庫的改進(jìn)和重組

DBA還負(fù)責(zé)在系統(tǒng)運(yùn)行期間監(jiān)視系統(tǒng)的存儲(chǔ)空間利用率、處理效率等性能指標(biāo)。對(duì)運(yùn)行情況進(jìn)行記錄、統(tǒng)計(jì)分析,并根據(jù)實(shí)際不斷改進(jìn)數(shù)據(jù)庫設(shè)計(jì)。不少數(shù)據(jù)庫產(chǎn)品都提供了對(duì)數(shù)據(jù)庫運(yùn)行情況進(jìn)行監(jiān)視和分析的實(shí)用程序,DBA可以方便地使用這些實(shí)用程序來完成這些工作。另外,在數(shù)據(jù)庫運(yùn)行過程中,大量數(shù)據(jù)不斷插入、刪除、修改,隨著運(yùn)行時(shí)間的延長,在一定程度上要會(huì)影響系統(tǒng)的性能。因此DBA要定期對(duì)數(shù)據(jù)庫進(jìn)行重新組織,以提高系統(tǒng)的性能。數(shù)據(jù)庫系統(tǒng)的人員(2)系統(tǒng)分析員與程序員系統(tǒng)分析員是數(shù)據(jù)庫系統(tǒng)建設(shè)初期的主要人員,負(fù)責(zé)數(shù)據(jù)庫應(yīng)用系統(tǒng)需求分析。他們要和用戶密切配合,確定系統(tǒng)的基本功能、數(shù)據(jù)庫結(jié)構(gòu)和軟硬件配置等,并組織整個(gè)系統(tǒng)的開發(fā)。因此系統(tǒng)分析員是一類具有領(lǐng)域業(yè)務(wù)知識(shí)和計(jì)算機(jī)知識(shí)的專家,他們?cè)诤艽蟪潭壬嫌绊憯?shù)據(jù)庫系統(tǒng)的質(zhì)量和成敗。程序員的主要職責(zé)是根據(jù)數(shù)據(jù)庫系統(tǒng)需求設(shè)計(jì)、實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用系統(tǒng)的數(shù)據(jù)庫和程序模塊,并參與對(duì)數(shù)據(jù)庫和程序模塊的測(cè)試。數(shù)據(jù)庫系統(tǒng)的人員(3)用戶這里指最終用戶。數(shù)據(jù)庫系統(tǒng)的用戶是有不同層次的,不同層次的用戶對(duì)信息的需求及獲取方式也是不同的。用戶通過數(shù)據(jù)庫應(yīng)用系統(tǒng)的用戶接口使用數(shù)據(jù)庫,進(jìn)行業(yè)務(wù)管理。常用的接口方式有菜單、圖標(biāo)、窗口、圖形、對(duì)話、表格。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)4.數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)為了有效地組織、管理數(shù)據(jù)庫中的數(shù)據(jù),提高數(shù)據(jù)庫的邏輯獨(dú)立性和物理獨(dú)立性,人們?yōu)閿?shù)據(jù)庫設(shè)計(jì)了三級(jí)模式結(jié)構(gòu),即外模式(ExternalSchema)、模式(Schema)和內(nèi)模式(InternalSchema)。如圖1-2所示。數(shù)據(jù)庫三級(jí)模式的劃分使不同類型的數(shù)據(jù)庫系統(tǒng)人員以不同的視圖看待數(shù)據(jù)庫中的數(shù)據(jù)。這里,視圖是指觀察、認(rèn)識(shí)和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫在數(shù)據(jù)庫系統(tǒng)人員“眼中”的反映。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)模式圖1-2數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)外模式應(yīng)用應(yīng)用外模式應(yīng)用應(yīng)用外模式應(yīng)用應(yīng)用內(nèi)模式數(shù)據(jù)庫外模式/模式映像模式/內(nèi)模式映像數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)(1)模式模式也稱為邏輯模式(LogicSchema),它是由數(shù)據(jù)庫設(shè)計(jì)者綜合所有的數(shù)據(jù)需求,從全局的角度對(duì)數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖即全局視圖。它是數(shù)據(jù)庫模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、所使用的應(yīng)用開發(fā)工具及高級(jí)程序設(shè)計(jì)語言無關(guān)。模式通過模式DDL定義。定義模式時(shí)不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu)(如數(shù)據(jù)的型、數(shù)據(jù)類型、取值范圍等),而且要定義與數(shù)據(jù)有關(guān)的安全性、完整性要求,定義這些數(shù)據(jù)之間的聯(lián)系。以邏輯模式為框架的數(shù)據(jù)庫稱為概念數(shù)據(jù)庫。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)(2)外模式(ExternalSchema)外模式也稱為子模式(Subschema)或用戶模式(UserSchema),是程序員和最終用戶能看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式通常是模式的子集。外模式完全按照用戶對(duì)數(shù)據(jù)的需要、站在局部的角度進(jìn)行設(shè)計(jì)的。由于一個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)有多個(gè)應(yīng)用,因此可以有多個(gè)外模式。由于外模式是面向程序員和最終用戶的,因此又稱為用戶數(shù)據(jù)視圖。另一方面,同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用,但一個(gè)應(yīng)用程序只能使用一個(gè)外模式。外模式主要通過外模式DDL定義,也有一些外模式通過DML描述。以用戶模式為框架的數(shù)據(jù)庫稱為用戶數(shù)據(jù)庫。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)使用外模式可以帶來幾點(diǎn)好處:1)由于使用外模式,數(shù)據(jù)庫設(shè)計(jì)者和用戶不必關(guān)心整個(gè)數(shù)據(jù)庫的數(shù)據(jù),而只關(guān)心與自己的局部應(yīng)用有關(guān)的一部分?jǐn)?shù)據(jù),并且不需了解它們的物理存儲(chǔ)結(jié)構(gòu),這就使得程序設(shè)計(jì)和數(shù)據(jù)使用工作都得到了簡(jiǎn)化。2)由于使用外模式,用戶只能操作與其有關(guān)的數(shù)據(jù),而不能操作與其無關(guān)的數(shù)據(jù),這有利于數(shù)據(jù)的安全保密。3)由于同一模式可以派生出多個(gè)外模式,故有利于數(shù)據(jù)獨(dú)立性和數(shù)據(jù)共享。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)(3)內(nèi)模式(InternalSchema)內(nèi)模式也稱為存儲(chǔ)模式(StorageSchema)或物理模式(PhysicalSchema),它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的底層描述,包括記錄的存儲(chǔ)方式、索引組織方式、數(shù)據(jù)是否壓縮和加密。比內(nèi)模式更接近物理存儲(chǔ)和訪問的那些軟件機(jī)制,即文件系統(tǒng),是操作系統(tǒng)的一部分。例如,從磁盤讀數(shù)據(jù)或?qū)憯?shù)據(jù)到磁盤上。一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式,內(nèi)模式通過內(nèi)模式DDL定義。以物理模式為框架的數(shù)據(jù)庫稱為物理數(shù)據(jù)庫。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)(4)概念數(shù)據(jù)庫、用戶數(shù)據(jù)庫與物理數(shù)據(jù)庫的相互關(guān)系在數(shù)據(jù)庫系統(tǒng)中,只有物理數(shù)據(jù)庫才是真正存在的,它是存放在計(jì)算機(jī)外存上的數(shù)據(jù)文件。概念數(shù)據(jù)庫、用戶數(shù)據(jù)庫在計(jì)算機(jī)外存上是不存在的。概念數(shù)據(jù)庫是物理數(shù)據(jù)庫的邏輯抽象形式,物理數(shù)據(jù)庫是概念數(shù)據(jù)庫的具體實(shí)現(xiàn)。用戶數(shù)據(jù)庫是概念數(shù)據(jù)庫的子集,即是物理數(shù)據(jù)庫子集的邏輯抽象形式。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)(5)數(shù)據(jù)庫的二級(jí)映像技術(shù)數(shù)據(jù)庫的二級(jí)映像技術(shù)是指外模式與模式映像、模式與內(nèi)模式映像技術(shù)。二級(jí)映像技術(shù)不僅在三級(jí)模式之間建立聯(lián)系,同時(shí)保證了數(shù)據(jù)獨(dú)立性。1)外模式/模式映像外模式/模式映像定義并保證了外模式與模式之間的對(duì)應(yīng)關(guān)系。外模式/模式映像定義通常保存在外模式中。外模式/模式映像保證了數(shù)據(jù)的邏輯獨(dú)立性。即當(dāng)模式改變時(shí),DBA可以通過修改外模式/模式映像的手段使外模式不變。由于應(yīng)用程序是根據(jù)外模式設(shè)計(jì)的,即使模式改變了,只要外模式不變,應(yīng)用程序不必修改仍可照常運(yùn)行。因此外模式/模式映像保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨(dú)立性。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)2)模式/內(nèi)模式映像模式/內(nèi)模式映像定義并保證了模式與內(nèi)模式之間的對(duì)應(yīng)關(guān)系。它描述了數(shù)據(jù)的記錄、數(shù)據(jù)項(xiàng)在計(jì)算機(jī)內(nèi)部是如何組織和表示的。模式/內(nèi)模式映像保證了數(shù)據(jù)的物理獨(dú)立性。即當(dāng)數(shù)據(jù)庫的物理模式改變了,通過修改模式/內(nèi)模式映像的手段使模式不變。由于應(yīng)用程序和用戶是根據(jù)模式訪問數(shù)據(jù)的,即使物理模式改變了,只要模式不變,應(yīng)用程序或用戶的訪問方式不必修改仍可照常訪問數(shù)據(jù)。因此模式/內(nèi)模式映像保證了數(shù)據(jù)與應(yīng)用程序的物理獨(dú)立性。1.2數(shù)據(jù)庫技術(shù)的發(fā)展歷程1.2.1人工管理階段人工管理階段是指20世紀(jì)50年代中期以前。在這一階段中,從應(yīng)用上看,計(jì)算機(jī)的主要應(yīng)用領(lǐng)域是科學(xué)計(jì)算。從硬件上看,這個(gè)時(shí)期計(jì)算機(jī)內(nèi)存空間小,計(jì)算速度低,外存只有磁帶、卡片和紙帶,沒有像磁盤這樣快速的直接存取存儲(chǔ)設(shè)備。從軟件上看,計(jì)算機(jī)沒有操作系統(tǒng),更沒有數(shù)據(jù)管理軟件,數(shù)據(jù)處理是以批處理方式進(jìn)行的。人工管理階段數(shù)據(jù)管理的特點(diǎn)1.人工管理階段數(shù)據(jù)管理的特點(diǎn)(1)數(shù)據(jù)不保存由于當(dāng)時(shí)計(jì)算機(jī)主要用于科學(xué)計(jì)算,強(qiáng)調(diào)提高計(jì)算速度和精度,數(shù)據(jù)量較少,一般不需要將數(shù)據(jù)長期保存。此外,由于內(nèi)存和外存的空間有限,數(shù)據(jù)也不便于長期保存。因此只是在求解某個(gè)問題時(shí)才將數(shù)據(jù)輸入到計(jì)算機(jī),數(shù)據(jù)用完后就從內(nèi)存中撤走。不僅對(duì)用戶數(shù)據(jù)如此處置,對(duì)系統(tǒng)軟件涉及的數(shù)據(jù)有時(shí)也是這樣。(2)程序員管理數(shù)據(jù)由于當(dāng)時(shí)沒有相應(yīng)的軟件系統(tǒng)負(fù)責(zé)數(shù)據(jù)的管理工作,應(yīng)用程序中涉及的數(shù)據(jù)需要由程序員自己管理,即程序員在程序中不僅要編寫數(shù)據(jù)邏輯結(jié)構(gòu)的代碼,而且還要編寫數(shù)據(jù)物理結(jié)構(gòu)的代碼,包括數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、存取方法和輸入方式的代碼。人工管理階段數(shù)據(jù)管理的特點(diǎn)(3)數(shù)據(jù)不能共享在人工管理階段,由于數(shù)據(jù)是在程序中定義的,一組數(shù)據(jù)只能對(duì)應(yīng)一個(gè)程序。當(dāng)多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),由于必須在各自的程序中定義,無法或很難互相利用、互相參照,因此程序與程序之間的相同數(shù)據(jù)無法共享。數(shù)據(jù)均由應(yīng)用程序自己管理,沒有統(tǒng)一的負(fù)責(zé)管理數(shù)據(jù)的專門軟件系統(tǒng)。由于數(shù)據(jù)是面向應(yīng)用程序的,不僅數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的設(shè)計(jì)是由應(yīng)用程序承擔(dān)的,而且它們的修改也會(huì)引起應(yīng)用程序的修改,這樣必然導(dǎo)致程序員的負(fù)擔(dān)很重,且產(chǎn)生大量的冗余數(shù)據(jù)。人工管理階段數(shù)據(jù)管理的特點(diǎn)(4)數(shù)據(jù)不具有獨(dú)立性由于數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)均在程序代碼中定義,如果因?yàn)槟撤N原因,需要改變數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)時(shí),必須對(duì)應(yīng)用程序代碼作相應(yīng)的修改,即數(shù)據(jù)與程序之間不具有獨(dú)立性。這不僅加重了程序員的負(fù)擔(dān),且使用起來也很不方便、費(fèi)時(shí)費(fèi)力。在人工管理階段,應(yīng)用程序與數(shù)據(jù)之間的一一對(duì)應(yīng)關(guān)系可用圖1-3表示。其中,圖1-3(a)表示數(shù)據(jù)從程序外部通過鍵盤等設(shè)備進(jìn)入程序的情形,圖1-3(b)表示數(shù)據(jù)集成在程序中的情形。人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)集1數(shù)據(jù)集2數(shù)據(jù)集n應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序n數(shù)據(jù)集n圖1-3人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系┆┆┆┆應(yīng)用程序2數(shù)據(jù)集2(a)(b)人工管理階段數(shù)據(jù)管理的缺點(diǎn)2.人工管理階段數(shù)據(jù)管理的缺點(diǎn)(1)數(shù)據(jù)管理中沒有直接存取的存儲(chǔ)設(shè)備存儲(chǔ)數(shù)據(jù),導(dǎo)致應(yīng)用程序中的數(shù)據(jù)無法被其他程序利用。(2)由于人工管理階段的數(shù)據(jù)是面向應(yīng)用的,即使兩個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù),也必須各自定義,所以程序與程序之間有大量重復(fù)數(shù)據(jù),導(dǎo)致數(shù)據(jù)冗余。(3)由于沒有專門的軟件管理數(shù)據(jù),程序員不僅要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且還要在程序中設(shè)計(jì)物理結(jié)構(gòu),使數(shù)據(jù)和程序之間不具有相對(duì)獨(dú)立性,這樣就會(huì)造成數(shù)據(jù)獨(dú)立性、結(jié)構(gòu)性差。(4)人工管理階段的軟硬件條件很差,在需要時(shí)將數(shù)據(jù)輸入,用完就撤走,導(dǎo)致了數(shù)據(jù)不能長期保存。1.2.2文件系統(tǒng)階段文件系統(tǒng)階段是指從20世紀(jì)50年代后期到60年代中期。該時(shí)期的計(jì)算機(jī)應(yīng)用范圍逐漸擴(kuò)大,計(jì)算機(jī)不僅用于科學(xué)計(jì)算,而且還大量用于信息管理。計(jì)算機(jī)硬件有了進(jìn)一步的發(fā)展,出現(xiàn)了磁盤、磁鼓等能直接存取的外存儲(chǔ)設(shè)備。在軟件方面,高級(jí)語言和操作系統(tǒng)已經(jīng)有了完善的產(chǎn)品,并且操作系統(tǒng)中有專門負(fù)責(zé)管理數(shù)據(jù)的文件系統(tǒng)功能。數(shù)據(jù)處理的方式有批處理,也有聯(lián)機(jī)實(shí)時(shí)處理。文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)1.文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)(1)數(shù)據(jù)可以長期保存由于計(jì)算機(jī)大量用于數(shù)據(jù)處理,數(shù)據(jù)需要長期保存以便反復(fù)使用。把數(shù)據(jù)以文件的形式保存在磁盤等外存儲(chǔ)器上,為數(shù)據(jù)的長期保存和反復(fù)使用提供了保證。(2)文件的多樣化和結(jié)構(gòu)化由于有了直接存取設(shè)備,也就出現(xiàn)了順序文件、索引文件、隨機(jī)文件等多種文件組織形式。數(shù)據(jù)文件的存取基本上以記錄為單位,而記錄則是由一些字段按特定的結(jié)構(gòu)組成的,每個(gè)記錄的長度是相等的。因此文件是記錄的集合,文件系統(tǒng)實(shí)現(xiàn)了記錄內(nèi)部的有結(jié)構(gòu)、但在整體上數(shù)據(jù)仍然是無結(jié)構(gòu)的。文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)(3)文件系統(tǒng)管理數(shù)據(jù)操作系統(tǒng)提供的文件管理系統(tǒng)是應(yīng)用程序與數(shù)據(jù)文件的專門接口。程序和數(shù)據(jù)文件之間的存取操作由文件系統(tǒng)根據(jù)“按文件名訪問,按記錄進(jìn)行存取”的管理技術(shù)自動(dòng)完成。文件的邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換由文件系統(tǒng)來自動(dòng)完成,而不必由程序員設(shè)計(jì)考慮,從而使得程序和數(shù)據(jù)分開,數(shù)據(jù)與程序之間有了一定的獨(dú)立性。這樣,程序員可以集中精力于數(shù)據(jù)的邏輯結(jié)構(gòu),而不必或者很少考慮其物理結(jié)構(gòu)。數(shù)據(jù)在物理結(jié)構(gòu)上的改變,通常不會(huì)反映在程序上,從而可以大大地節(jié)省維護(hù)程序的工作量。在文件系統(tǒng)階段,應(yīng)用程序與數(shù)據(jù)文件之間的關(guān)系如圖1-4所示。應(yīng)用程序與數(shù)據(jù)文件的對(duì)應(yīng)關(guān)系是通過文件管理系統(tǒng)實(shí)現(xiàn)的。文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)圖1-4文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)文件的對(duì)應(yīng)關(guān)系教務(wù)管理應(yīng)用程序人事管理應(yīng)用程序?qū)W籍管理應(yīng)用程序教務(wù)管理數(shù)據(jù)文件人事管理數(shù)據(jù)文件學(xué)籍管理數(shù)據(jù)文件文件管理系統(tǒng)文件系統(tǒng)階段數(shù)據(jù)管理的缺點(diǎn)2.文件系統(tǒng)階段數(shù)據(jù)管理的缺點(diǎn)文件系統(tǒng)階段數(shù)據(jù)管理水平比人工管理階段有了很大的改進(jìn),但仍存在如下缺點(diǎn):(1)數(shù)據(jù)冗余度大在文件系統(tǒng)中,一個(gè)文件基本上對(duì)應(yīng)于一個(gè)應(yīng)用程序,即文件系統(tǒng)中文件仍由應(yīng)用程序來定義。當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時(shí),也必須建立各自的數(shù)據(jù)文件,而不能共享相同的數(shù)據(jù)。例如,在人事文件中包含了企業(yè)所有雇員的信息,而銷售文件中又包含了屬于銷售人員的雇員信息。此外,由于相同的數(shù)據(jù)在不同的文件中重復(fù)存儲(chǔ)、并由各自的程序管理,容易造成數(shù)據(jù)的不一致性,給數(shù)據(jù)的修改和維護(hù)帶來困難。文件系統(tǒng)階段數(shù)據(jù)管理的缺點(diǎn)(2)數(shù)據(jù)獨(dú)立性較差由于文件的邏輯結(jié)構(gòu)是在應(yīng)用程序中定義的,文件系統(tǒng)中的文件是為某一特定應(yīng)用服務(wù)的,因此一旦數(shù)據(jù)的邏輯結(jié)構(gòu)改變,必須修改應(yīng)用程序中關(guān)于文件結(jié)構(gòu)的定義。反過來,應(yīng)用程序的改變(例如,應(yīng)用程序改用其他的高級(jí)語言編寫)也將引起數(shù)據(jù)文件結(jié)構(gòu)的改變。因此數(shù)據(jù)與程序之間獨(dú)立性較差。(3)數(shù)據(jù)聯(lián)系弱數(shù)據(jù)聯(lián)系是指不同文件中的數(shù)據(jù)之間的聯(lián)系。在文件系統(tǒng)階段,不同文件中的數(shù)據(jù)是相互獨(dú)立的,數(shù)據(jù)聯(lián)系弱。雖然文件之間的某些數(shù)據(jù)存在著緊密的邏輯聯(lián)系,但是由于實(shí)現(xiàn)這種邏輯聯(lián)系的復(fù)雜性,很少在文件管理系統(tǒng)中提供這些數(shù)據(jù)之間的聯(lián)系方法,因此各個(gè)數(shù)據(jù)文件之間是孤立的,不能反映現(xiàn)實(shí)世界中客觀事物之間的內(nèi)在聯(lián)系。1.2.3數(shù)據(jù)庫系統(tǒng)階段1.2.3數(shù)據(jù)庫系統(tǒng)階段1.數(shù)據(jù)庫系統(tǒng)的形成與發(fā)展數(shù)據(jù)庫系統(tǒng)階段是指從20世紀(jì)60年代后期至今。數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫系統(tǒng)階段的標(biāo)志是20世紀(jì)60年代末期的三件大事:①1968年美國IBM公司推出層次模型的IMS(InformationManagementSystem)系統(tǒng)。②1969年美國CODASYL(ConferenceOnDataSystemLanguage)組織頒布了DBTG(DataBaseTaskGroup,數(shù)據(jù)庫任務(wù)組)報(bào)告。提出網(wǎng)狀模型。③1970年美國IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。特別是20世紀(jì)70年代以來,多種應(yīng)用、多種語言共享數(shù)據(jù)的要求越來越強(qiáng)烈。數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)2.數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)(1)采用特定的數(shù)據(jù)模型,使數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫和文件系統(tǒng)的本質(zhì)區(qū)別。在文件系統(tǒng)中,相互獨(dú)立的文件的記錄內(nèi)部是有結(jié)構(gòu)的,通常采取的是等長或變長的記錄格式,但記錄之間沒有聯(lián)系,這種數(shù)據(jù)的獨(dú)立性只對(duì)一個(gè)應(yīng)用而言,仍有局限性,不適應(yīng)多用戶、多應(yīng)用共享數(shù)據(jù)的需求。而數(shù)據(jù)庫系統(tǒng)為用戶提供一個(gè)數(shù)據(jù)的抽象視圖,它能隱藏?cái)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法等細(xì)節(jié),并通過數(shù)據(jù)模型作為實(shí)現(xiàn)數(shù)據(jù)抽象的主要工具,實(shí)現(xiàn)了整體數(shù)據(jù)的結(jié)構(gòu)化,它要求在描述數(shù)據(jù)時(shí)不僅要描述數(shù)據(jù)本身,還要描述數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)(2)數(shù)據(jù)的獨(dú)立性高數(shù)據(jù)庫系統(tǒng)提供了三級(jí)數(shù)據(jù)抽象(視圖級(jí)抽象、概念級(jí)抽象和物理級(jí)抽象)能力和三種數(shù)據(jù)庫模式(外模式、模式和內(nèi)模式),實(shí)現(xiàn)了數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。數(shù)據(jù)與程序的相互獨(dú)立,使得可以把數(shù)據(jù)的定義和描述從應(yīng)用程序中分離出去,而數(shù)據(jù)的存取由DBMS統(tǒng)一管理,用戶在應(yīng)用程序中不用考慮存取路徑等細(xì)節(jié),大大簡(jiǎn)化了應(yīng)用程序的編制及應(yīng)用程序?qū)?shù)據(jù)的維護(hù)和修改。在數(shù)據(jù)庫系統(tǒng)階段,應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系如圖1-5所示。應(yīng)用程序與數(shù)據(jù)的聯(lián)系是通過DBMS實(shí)現(xiàn)的。數(shù)據(jù)庫系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系圖1-5數(shù)據(jù)庫系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系教務(wù)管理應(yīng)用程序人事管理應(yīng)用程序?qū)W籍管理應(yīng)用程序數(shù)據(jù)庫管理系統(tǒng)教務(wù)管理數(shù)據(jù)人事管理數(shù)據(jù)學(xué)籍管理數(shù)據(jù)數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)(3)數(shù)據(jù)的共享性好,數(shù)據(jù)冗余度低數(shù)據(jù)庫系統(tǒng)允許多個(gè)用戶或多個(gè)應(yīng)用程序同時(shí)訪問數(shù)據(jù)庫中的相同數(shù)據(jù),數(shù)據(jù)不再面向某個(gè)應(yīng)用,而是面向整個(gè)系統(tǒng),從而實(shí)現(xiàn)了數(shù)據(jù)的共享,節(jié)省了存儲(chǔ)空間,大大減少了數(shù)據(jù)冗余,避免了數(shù)據(jù)之間的不相容性與不一致性。(4)為用戶提供了方便的用戶接口用戶可以使用查詢語言(如SQL)或終端命令對(duì)數(shù)據(jù)庫進(jìn)行訪問,也可以借助高級(jí)語言(如C、Java)采用程序方式對(duì)數(shù)據(jù)庫進(jìn)行操作。數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)(5)統(tǒng)一的數(shù)據(jù)控制數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)由DBMS統(tǒng)一管理,而且管理的是有結(jié)構(gòu)的數(shù)據(jù),因此可靈活地使用數(shù)據(jù)。一個(gè)數(shù)據(jù)庫一般都要支持很多應(yīng)用程序和用戶。不同的應(yīng)用程序和不同的用戶對(duì)同一個(gè)數(shù)據(jù)庫可能有不同的理解,對(duì)同一數(shù)據(jù)庫的一種理解稱為這個(gè)數(shù)據(jù)庫的一個(gè)視圖。一個(gè)視圖可以是一個(gè)數(shù)據(jù)庫子集合,也可以是多個(gè)數(shù)據(jù)庫的子集按照某種方式構(gòu)成的虛擬數(shù)據(jù)庫。DBMS提供了定義、維護(hù)和操縱視圖的機(jī)制,使得多個(gè)用戶可以為他們的應(yīng)用定義、維護(hù)和使用自己的視圖。數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)為了適應(yīng)數(shù)據(jù)共享的環(huán)境,DBMS提供了數(shù)據(jù)控制功能:(1)數(shù)據(jù)的安全性控制。(2)數(shù)據(jù)的完整性控制。(3)并發(fā)控制并發(fā)控制是用來控制多個(gè)事務(wù)的并發(fā)運(yùn)行,避免事務(wù)之間的相互干擾,保證每個(gè)事務(wù)都能產(chǎn)生正確的結(jié)果。(4)數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫恢復(fù)是指在發(fā)生某種故障而使數(shù)據(jù)庫當(dāng)前狀態(tài)已經(jīng)不再正確時(shí),能把數(shù)據(jù)庫恢復(fù)到已知為正確的某種狀態(tài)。1.3數(shù)據(jù)庫應(yīng)用系統(tǒng)的生存期模型1.3.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的生存期數(shù)據(jù)庫應(yīng)用系統(tǒng)同世間萬物一樣,經(jīng)歷著孕育、誕生、成長、成熟、衰亡的生存過程,這一過程稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)的生存期?;谏嫫诘臄?shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型、智能模型等,這些模型實(shí)質(zhì)上是計(jì)算機(jī)軟件的一種開發(fā)模式或方法。其中瀑布模型最為著名。1.3.2瀑布模型1.3.2瀑布模型數(shù)據(jù)庫應(yīng)用系統(tǒng)的生存期模型是從系統(tǒng)的需求定義直至系統(tǒng)經(jīng)使用后廢止為止,跨越整個(gè)生存期的系統(tǒng)開發(fā)、運(yùn)行和維護(hù)的相關(guān)事務(wù)管理的一種模式。數(shù)據(jù)庫應(yīng)用系統(tǒng)生存期模型主要有瀑布模型、螺旋模型、演化模型等。下面簡(jiǎn)要介紹瀑布模型。瀑布模型把數(shù)據(jù)庫應(yīng)用系統(tǒng)生存期劃分為規(guī)劃、需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)行與維護(hù)6個(gè)階段,并且規(guī)定了它們自上而下、相互銜接的次序,如同瀑布流水、逐級(jí)下落,如圖1-6所示。數(shù)據(jù)庫應(yīng)用系統(tǒng)生存期的瀑布模型圖1-6數(shù)據(jù)庫應(yīng)用系統(tǒng)生存期的瀑布模型規(guī)劃需求分析設(shè)計(jì)實(shí)現(xiàn)測(cè)試運(yùn)行和維護(hù)瀑布模型1.規(guī)劃階段規(guī)劃階段主要有兩個(gè)任務(wù):第一個(gè)任務(wù)是確定系統(tǒng)的總目標(biāo)和限制條件,分析現(xiàn)有系統(tǒng)的工作流程、費(fèi)用、人員、設(shè)備、存在的問題等,提出多個(gè)系統(tǒng)方案,對(duì)所建議的各系統(tǒng)方案進(jìn)行可行性分析,包括技術(shù)可行性、經(jīng)濟(jì)可行性、法律可行性分析,分析所建議的各系統(tǒng)方案的優(yōu)點(diǎn)和缺點(diǎn),提出決策建議,最終形成可行性研究報(bào)告;第二個(gè)任務(wù)是制定系統(tǒng)開發(fā)計(jì)劃,包括工作分解及其負(fù)責(zé)人指定、開工時(shí)間與交付時(shí)間、階段進(jìn)度、開發(fā)與維護(hù)費(fèi)用預(yù)算、人員組織及分工、設(shè)備與軟件資源配置、關(guān)鍵問題(如技術(shù)難點(diǎn))、專題計(jì)劃要點(diǎn)(如測(cè)試計(jì)劃、質(zhì)量保證計(jì)劃、人員培訓(xùn)計(jì)劃、系統(tǒng)安裝計(jì)劃)??尚行匝芯繄?bào)告和項(xiàng)目開發(fā)計(jì)劃提供給決策部門作為項(xiàng)目是否上馬的決策參考,并且如果項(xiàng)目獲得立項(xiàng),它們還是后續(xù)工作展開的綱領(lǐng)性文件。瀑布模型2.需求分析階段需求分析階段的主要任務(wù)是調(diào)查和分析用戶的需求,編寫需求規(guī)格說明書,組織開發(fā)人員、專家和用戶進(jìn)行需求分析評(píng)審。需求規(guī)格說明書是系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等工作的主要依據(jù)。3.設(shè)計(jì)階段設(shè)計(jì)階段的任務(wù)是把軟件需求轉(zhuǎn)化為軟件表示,分為概要設(shè)計(jì)(包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì))和詳細(xì)設(shè)計(jì)(即過程設(shè)計(jì))兩個(gè)步驟,分別編寫概要設(shè)計(jì)說明書和詳細(xì)設(shè)計(jì)說明書,并組織開發(fā)人員、專家和用戶進(jìn)行設(shè)計(jì)評(píng)審。瀑布模型4.實(shí)現(xiàn)階段實(shí)現(xiàn)階段的任務(wù)是把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)程序代碼。5.測(cè)試階段測(cè)試階段的任務(wù)是根據(jù)需求規(guī)格說明書、設(shè)計(jì)說明書和程序的內(nèi)部結(jié)構(gòu)設(shè)計(jì)一批測(cè)試用例,通過這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)軟件的錯(cuò)誤。軟件測(cè)試完成后,方可投入正式運(yùn)行。6.運(yùn)行與維護(hù)階段軟件投入正式運(yùn)行后,為了保證其正常工作,必須做一些必要的維護(hù)工作。維護(hù)階段的主要任務(wù)有數(shù)據(jù)更新、數(shù)據(jù)備份、狀態(tài)監(jiān)控、故障排除、系統(tǒng)升級(jí)。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)隨著計(jì)算機(jī)技術(shù)特別是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,傳統(tǒng)的數(shù)據(jù)庫技術(shù)面臨挑戰(zhàn)。主要表現(xiàn)在以下幾個(gè)方面:(1)環(huán)境的變化數(shù)據(jù)庫的應(yīng)用環(huán)境由可控制的環(huán)境變成多變的異構(gòu)信息集成環(huán)境和Internet環(huán)境。(2)數(shù)據(jù)類型的變化數(shù)據(jù)庫中的數(shù)據(jù)類型由結(jié)構(gòu)化擴(kuò)大至半結(jié)構(gòu)化、非結(jié)構(gòu)化和多媒體數(shù)據(jù)類型。(3)數(shù)據(jù)來源的變化大量數(shù)據(jù)將來源于實(shí)時(shí)和動(dòng)態(tài)的傳感器或監(jiān)測(cè)設(shè)備,需要處理的數(shù)據(jù)量劇增。(4)數(shù)據(jù)管理要求的變化許多新型應(yīng)用需要支持協(xié)同設(shè)計(jì)和工作流管理。為了迎接這些挑戰(zhàn),許多數(shù)據(jù)庫技術(shù)研究和實(shí)踐人員提出新的數(shù)據(jù)庫概念,并開始在實(shí)際中使用。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)1.面向?qū)ο髷?shù)據(jù)庫把面向?qū)ο蟮募夹g(shù)與數(shù)據(jù)庫技術(shù)相結(jié)合,便產(chǎn)生了面向?qū)ο髷?shù)據(jù)庫。目前,面向?qū)ο髷?shù)據(jù)庫是數(shù)據(jù)庫技術(shù)的一個(gè)重要發(fā)展方向,國外已經(jīng)推出一些面向?qū)ο髷?shù)據(jù)庫產(chǎn)品,如美國ItascaSystem公司的Itascs、ObjectDesign公司的ObjectStore。這些面向?qū)ο髷?shù)據(jù)庫一般采用的是“純”的面向?qū)ο竽P?。另外,還有一類面向?qū)ο髷?shù)據(jù)庫基于原有的關(guān)系數(shù)據(jù)庫擴(kuò)展而來的,即在關(guān)系數(shù)據(jù)庫上引進(jìn)封裝、繼承、隨機(jī)數(shù)據(jù)類型等概念。一些著名的數(shù)據(jù)庫廠商及第三方廠商在關(guān)系數(shù)據(jù)庫上開發(fā)了大量的面向?qū)ο箝_發(fā)工具及環(huán)境。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)2.分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫系統(tǒng)由多臺(tái)計(jì)算機(jī)組成,每臺(tái)計(jì)算機(jī)上配有各自的本地?cái)?shù)據(jù)庫,各計(jì)算機(jī)之間通過通信網(wǎng)絡(luò)連接。在這種系統(tǒng)中,大多數(shù)處理任務(wù)由本地計(jì)算機(jī)訪問本地?cái)?shù)據(jù)庫來完成,對(duì)于少量本地計(jì)算機(jī)不能單獨(dú)勝任的處理任務(wù),則通過通信網(wǎng)絡(luò)與其他計(jì)算機(jī)相聯(lián)系,并獲得其他數(shù)據(jù)庫中的數(shù)據(jù)。分布式數(shù)據(jù)庫的數(shù)據(jù)在地理上分散、邏輯上集中,數(shù)據(jù)由系統(tǒng)統(tǒng)一管理,使用戶感覺不到數(shù)據(jù)的分散,用戶看到的似乎是一個(gè)集中式數(shù)據(jù)庫。與集中式數(shù)據(jù)庫比較,分布式數(shù)據(jù)庫具有體系結(jié)構(gòu)靈活性大、可靠性高、可用性好、可擴(kuò)充性好等優(yōu)點(diǎn)。同時(shí),也存在一些不足:分布式數(shù)據(jù)庫雖然有利于改善性能,但如果數(shù)據(jù)庫設(shè)計(jì)不好,數(shù)據(jù)分布不合理,使遠(yuǎn)距離訪問過多,特別是當(dāng)分布連接操作過多時(shí),會(huì)降低系統(tǒng)的性能。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)3.聯(lián)邦數(shù)據(jù)庫人類在其文明形成和發(fā)展過程中已經(jīng)積累了浩瀚的數(shù)據(jù),并且采用已有的各種DBMS分別進(jìn)行著管理。即使以后數(shù)據(jù)庫技術(shù)大大進(jìn)步了,人類不可能也不應(yīng)該放棄這筆巨大的財(cái)富。相反,應(yīng)充分地發(fā)揮其作用。顯然,完全用一種統(tǒng)一的數(shù)據(jù)庫來改造它們幾乎是不可能的。因此必須承認(rèn)現(xiàn)實(shí),在已有的數(shù)據(jù)庫基礎(chǔ)上實(shí)現(xiàn)一定程度的聯(lián)合(或綜合)使用。我們把數(shù)據(jù)庫的聯(lián)合或綜合稱為聯(lián)邦數(shù)據(jù)庫。聯(lián)邦數(shù)據(jù)庫主要是在分布的環(huán)境下實(shí)現(xiàn)數(shù)據(jù)的集成。由于各個(gè)數(shù)據(jù)庫的數(shù)據(jù)模型、DBMS和計(jì)算機(jī)機(jī)型有很大的差別,因此聯(lián)邦數(shù)據(jù)庫實(shí)際上是結(jié)點(diǎn)異構(gòu)型分布數(shù)據(jù)庫的推廣。聯(lián)邦數(shù)據(jù)庫不但要解決分布環(huán)境下的并發(fā)控制和數(shù)據(jù)一致性等問題,而且要解決由于數(shù)據(jù)模型、語言和語義解釋的不同以及操作系統(tǒng)的異構(gòu)帶來的各種困難。另外,在數(shù)據(jù)共享時(shí),還需處理各個(gè)數(shù)據(jù)庫原始數(shù)據(jù)的不完全性和不一致性等問題。雖然聯(lián)邦數(shù)據(jù)庫的實(shí)現(xiàn)較困難,但人們還是在向這方面作努力。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)4.數(shù)據(jù)倉庫數(shù)據(jù)倉庫是指這樣一種數(shù)據(jù)的存儲(chǔ)地,來自于異地、異構(gòu)的數(shù)據(jù)源或數(shù)據(jù)庫的數(shù)據(jù),經(jīng)加工后在數(shù)據(jù)倉庫中進(jìn)行存儲(chǔ)、存取和維護(hù)。數(shù)據(jù)倉庫提供來自種類不同的應(yīng)用系統(tǒng)集成的和反映歷史變化的數(shù)據(jù),使用戶擁有任意存取數(shù)據(jù)的自由,而不干擾業(yè)務(wù)數(shù)據(jù)的正常運(yùn)行。數(shù)據(jù)倉庫不是單一的產(chǎn)品,而是由軟、硬件技術(shù)組成的環(huán)境。它把各種數(shù)據(jù)源(源數(shù)據(jù)庫)集成為一個(gè)統(tǒng)一的數(shù)據(jù)倉庫,便于用戶訪問并能從歷史的角度進(jìn)行分析,最后做出決策。目前,數(shù)據(jù)挖掘已和數(shù)據(jù)倉庫結(jié)合起來,研究重點(diǎn)放在數(shù)據(jù)倉庫的有效應(yīng)用上。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)5.實(shí)時(shí)數(shù)據(jù)庫在現(xiàn)實(shí)世界中,不少應(yīng)用活動(dòng)有很強(qiáng)的時(shí)間性,即要求在規(guī)定的時(shí)間內(nèi)完成事務(wù)處理。例如,電話交換、工廠生產(chǎn)過程控制、導(dǎo)彈飛行控制。實(shí)時(shí)數(shù)據(jù)庫就是數(shù)據(jù)和事務(wù)都有時(shí)間限制的數(shù)據(jù)庫。在實(shí)時(shí)數(shù)據(jù)庫中,系統(tǒng)的正確性不僅依賴于事務(wù)的邏輯結(jié)果,而且依賴于該邏輯結(jié)果所產(chǎn)生的時(shí)間。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)6.時(shí)態(tài)數(shù)據(jù)庫我們知道,時(shí)間是自然界的客觀屬性,所有信息都具有相應(yīng)的時(shí)態(tài)屬性。常規(guī)數(shù)據(jù)庫描述系統(tǒng)的當(dāng)前狀態(tài)。隨著時(shí)間的推移,系統(tǒng)的狀態(tài)不斷地變化,數(shù)據(jù)庫也不斷地更新。數(shù)據(jù)庫更新就是以新的狀態(tài)取代舊的狀態(tài),舊的狀態(tài)一般不再保留。實(shí)質(zhì)上,常規(guī)數(shù)據(jù)庫僅僅在時(shí)間維上保留當(dāng)前的一個(gè)快照。在相當(dāng)多的應(yīng)用中,不但要查詢事物的當(dāng)前狀態(tài),有時(shí)還要查詢過去的情況,甚至未來的預(yù)測(cè)或計(jì)劃的情況。這種能夠表示和處理時(shí)態(tài)數(shù)據(jù)的數(shù)據(jù)庫稱為時(shí)態(tài)數(shù)據(jù)庫。按表示時(shí)態(tài)信息的方式,可以將數(shù)據(jù)庫分成基本的4個(gè)類型:快照數(shù)據(jù)庫、回滾數(shù)據(jù)庫、歷史數(shù)據(jù)庫和雙時(shí)態(tài)數(shù)據(jù)庫。通常將后三種都稱為時(shí)態(tài)數(shù)據(jù)庫。但是,從廣義的角度,這4種數(shù)據(jù)庫都可以稱作時(shí)態(tài)數(shù)據(jù)庫。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)7.空間數(shù)據(jù)庫在許多應(yīng)用中,事物的空間關(guān)系往往成為其主要查詢或處理的內(nèi)容。例如,天文、地理、城市規(guī)劃、管道網(wǎng)絡(luò)、交通圖、大規(guī)模集成電路、分子結(jié)構(gòu)圖、醫(yī)學(xué)圖片。面向這類應(yīng)用的數(shù)據(jù)庫必須在常規(guī)數(shù)據(jù)庫的基礎(chǔ)上,增加空間數(shù)據(jù)類型及其相關(guān)的操作,提供空間索引以及面向空間應(yīng)用的交互式圖形用戶界面。經(jīng)過這樣擴(kuò)充的數(shù)據(jù)庫稱為空間數(shù)據(jù)庫。此外,一些數(shù)據(jù)庫的數(shù)據(jù)盡管不屬于空間數(shù)據(jù)類型,但也可以被當(dāng)作多維空間問題處理。例如,在關(guān)系數(shù)據(jù)庫中,隨著普遍使用多屬性查詢,如果將每個(gè)被查詢的屬性看作查詢空間的一個(gè)維度,則多屬性查詢便可歸結(jié)為多維空間的搜索1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)8.多媒體數(shù)據(jù)庫通常,把能夠管理數(shù)值、文字、表格、圖形、圖像、聲音等多種媒體的數(shù)據(jù)庫稱為多媒體數(shù)據(jù)庫。由于不同媒體上的信息具有不同的性質(zhì)與特性,如何組織不同媒體上的信息,將不同媒體上的數(shù)據(jù)一體化,是多媒體數(shù)據(jù)庫要解決的問題。與傳統(tǒng)DBMS一樣,多媒體DBMS也要進(jìn)行數(shù)據(jù)處理、查詢和事務(wù)處理。在多媒體DBMS中特別強(qiáng)調(diào)“媒體獨(dú)立性”。所謂媒體獨(dú)立性是指不論管理的多媒體數(shù)據(jù)庫的媒體如何變化,都不需改變DBMS。因此多媒體應(yīng)能支持:①媒體的混合。在DBMS中,當(dāng)遇到各種混合在一起的媒體,需對(duì)它們進(jìn)行統(tǒng)一管理;②媒體的擴(kuò)充。DBMS能處理圖形、圖像、聲音等信息,此外,它應(yīng)該能根據(jù)要求處理新的媒體;③媒體的轉(zhuǎn)換。DBMS能對(duì)所遇到的各種媒體進(jìn)行相互轉(zhuǎn)換,以保障媒體的互換性。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)9.工作流數(shù)據(jù)庫雖然信息技術(shù)的發(fā)展推動(dòng)了社會(huì)的迅速前進(jìn),但是許多企業(yè)的生產(chǎn)效率由于受到傳統(tǒng)組織結(jié)構(gòu)的阻礙而未能大幅度地提高。許多研究人員提出了很多解決思想和方法。例如,業(yè)務(wù)流程重組(BusinessProcessReengineering,BPR)就是這樣一種要求對(duì)傳統(tǒng)管理思想進(jìn)行重新思考,重新設(shè)計(jì)業(yè)務(wù)流程以便極大地提高企業(yè)生產(chǎn)效率的理論。工作流DBMS就是為了適應(yīng)這類業(yè)務(wù)處理需求而產(chǎn)生的。這類業(yè)務(wù)處理需求注重提高企業(yè)中員工的工作協(xié)調(diào)性,它包括處理工作請(qǐng)求、何人何時(shí)做何工作,以及匯報(bào)工作完成情況、評(píng)價(jià)工作的滿意程度。工作流DBMS是在數(shù)據(jù)庫的基礎(chǔ)上完成的,它對(duì)傳統(tǒng)的數(shù)據(jù)庫技術(shù)提出了一些特殊的要求。例如,長事務(wù)支持、協(xié)調(diào)多個(gè)活動(dòng)對(duì)共享數(shù)據(jù)庫的訪問、對(duì)事件的支持等。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)10.嵌入式數(shù)據(jù)庫運(yùn)行在嵌入式系統(tǒng)的數(shù)據(jù)庫稱為嵌入式數(shù)據(jù)庫,比如IBMDB2的衛(wèi)星版及漫游版可用于PalmOS或WindowsCE等。隨著嵌入式系統(tǒng)廣泛應(yīng)用,嵌入式數(shù)據(jù)庫具有廣闊的應(yīng)用前景。1.4數(shù)據(jù)庫技術(shù)的發(fā)展趨勢(shì)11.移動(dòng)數(shù)據(jù)庫移動(dòng)計(jì)算的興起引發(fā)了數(shù)據(jù)庫技術(shù)的又一次突破,數(shù)據(jù)庫的移動(dòng)計(jì)算版本即移動(dòng)數(shù)據(jù)庫也應(yīng)運(yùn)而生。移動(dòng)數(shù)據(jù)庫是指支持移動(dòng)計(jì)算環(huán)境的分布式數(shù)據(jù)庫。目前

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論