版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、普通高等教育普通高等教育“十一五十一五”規(guī)劃教材規(guī)劃教材主編主編 蔡延光蔡延光參編參編 黃永慧黃永慧 邢延邢延 張鋼張鋼機(jī)械工業(yè)出版社機(jī)械工業(yè)出版社第第1章章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述內(nèi)容提要內(nèi)容提要v數(shù)據(jù)庫(kù)技術(shù)是研究數(shù)據(jù)的組織、存儲(chǔ)、管理和使用的一門(mén)計(jì)算機(jī)科學(xué)分支,其應(yīng)用非常廣泛。要掌握好數(shù)據(jù)庫(kù)技術(shù),首先必須掌握數(shù)據(jù)庫(kù)系統(tǒng)的基本概念,了解數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程。本章介紹信息、數(shù)據(jù)、數(shù)據(jù)類(lèi)型、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)等基本概念,介紹數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生存期及瀑布模型、數(shù)據(jù)庫(kù)技術(shù)的發(fā)展歷程和發(fā)展趨勢(shì)。 1.1 數(shù)據(jù)庫(kù)系統(tǒng)的基本概念數(shù)據(jù)庫(kù)系統(tǒng)的基本概念v 1.1.1
2、信息的定義與特征v 1. 信息的定義v 信息就是新的、有用的事實(shí)和知識(shí)。它具有時(shí)效性、有用性和知識(shí)性,是客觀世界的反映。v 信息論的創(chuàng)始人香農(nóng)(C. E. Shannon)1948年在通信的數(shù)學(xué)理論一書(shū)中指出:“凡是在一種情況下能減少不確定性的任何事物都叫做信息?!?v 控制論的創(chuàng)始人維納(N. Wiener)在人有人的用處控制論和社會(huì)中說(shuō):“信息這個(gè)術(shù)語(yǔ)的內(nèi)容就是我們對(duì)外界進(jìn)行調(diào)節(jié)并使我們的調(diào)節(jié)為外界所了解時(shí)而與外界交換來(lái)的東西。”v 我國(guó)國(guó)家標(biāo)準(zhǔn)GB489885情報(bào)與文獻(xiàn)工作詞匯基本術(shù)語(yǔ)中,關(guān)于“信息”的解釋是:“信息是物質(zhì)存在的一種方式、形態(tài)或運(yùn)動(dòng)狀態(tài),也是事物的一種普遍屬性,一般指數(shù)據(jù)
3、、消息中所包含的意義,可以使消息中所描述事件的不定性減少。信息的特征信息的特征v2. 信息的特征v(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í)際。信息的特征信息的特征v(2)信息是有用的 信息的有用性是指利用信息可以創(chuàng)造價(jià)值,如提高決策的科學(xué)性、提高生產(chǎn)效率、提高產(chǎn)品銷(xiāo)售量。v(3)信息的依附性 信息的依附性是指信息總是依附于某種載體表現(xiàn)的,信息不能脫離載
4、體而獨(dú)立存在。信息的載體(或信息的表現(xiàn)形式)包括語(yǔ)言、文字、數(shù)據(jù)、符號(hào)、圖像、聲音、情景、表情、動(dòng)作、狀態(tài)等。信息的特征信息的特征v(4)信息的共享性 信息的共享性是指同一信息可被許多人分享,且信息不會(huì)因?yàn)榉窒矶鴾p少或喪失。信息的共享性有兩層含義:一是信息交換的雙方,即傳播者和接受者都可以享有被交換的同一信息。二是信息在交換或交流中,可以同時(shí)為眾多的接受者接收和利用。v信息的共享性是相對(duì)而言的,信息的共享范圍往往是受限制的。例如,某超市的銷(xiāo)售信息對(duì)其管理人員來(lái)說(shuō)是共享的,而對(duì)其競(jìng)爭(zhēng)對(duì)手來(lái)說(shuō)是不共享的。v值得注意的是,信息的共享性特征也引起了信息的安全性和保密性等一系列問(wèn)題。信息的特征信息的特征
5、v(5)信息的可傳輸性 把信息從時(shí)間或空間的某一點(diǎn)向其他點(diǎn)移動(dòng)的過(guò)程稱為信息傳輸。信息的可傳輸性是指信息可以通過(guò)一定的傳輸工具和載體進(jìn)行傳輸。信息可以通過(guò)多種渠道、采用多種方式進(jìn)行傳輸。語(yǔ)言、表情、動(dòng)作、報(bào)刊、書(shū)籍、廣播、電視、電話、電報(bào)、通信衛(wèi)星等是常用的信息傳輸方式。信息的特征信息的特征v(6)信息的可識(shí)別性 信息的可識(shí)別性是指人們不僅可以通過(guò)眼、鼻、耳等感覺(jué)器官去感知信息,而且可以通過(guò)各種儀表器械去檢測(cè)、識(shí)別和處理。v信息的識(shí)別方式分為直接認(rèn)別和間接識(shí)別。直接認(rèn)別是指通過(guò)感官的識(shí)別,間接識(shí)別是指通過(guò)各種測(cè)試手段的識(shí)別。不同的信息源有不同的識(shí)別方法。信息的特征信息的特征v(7)信息的可壓縮
6、性 信息的可壓縮性是指人們通過(guò)對(duì)信息進(jìn)行加工、整理、概括、歸納等手段而使之精練、濃縮,用較少的信息量描述一件事物主要特征。信息壓縮在實(shí)際中很有必要,因?yàn)槲覀兛赡軟](méi)有能力也沒(méi)有必要收集、存儲(chǔ)一個(gè)事物的全部信息。v(8)信息的可轉(zhuǎn)換性 信息的可轉(zhuǎn)換性是指信息可以從一種表現(xiàn)形式轉(zhuǎn)換為另一種表現(xiàn)形式。如自然信息可轉(zhuǎn)換為語(yǔ)言、文字和圖像等形式,也可轉(zhuǎn)換為電磁波信號(hào)和計(jì)算機(jī)代碼。1.1.2 數(shù)據(jù)的定義與特征數(shù)據(jù)的定義與特征v1.1.2 數(shù)據(jù)的定義與特征v1. 數(shù)據(jù)的定義v數(shù)據(jù)是信息的最佳表現(xiàn)形式之一,它通過(guò)可書(shū)寫(xiě)的信息編碼表示信息。數(shù)據(jù)的特征數(shù)據(jù)的特征v2. 數(shù)據(jù)的特征v數(shù)據(jù)除了具有信息的所有特征外,還具
7、有以下一些特征。v(1)數(shù)據(jù)有“型”和“值” 數(shù)據(jù)的型指數(shù)據(jù)的結(jié)構(gòu),即數(shù)據(jù)的形式架構(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ù)的特征數(shù)據(jù)的特征v(2)數(shù)據(jù)受數(shù)據(jù)類(lèi)型和取值范圍的約束 數(shù)據(jù)的類(lèi)型包括字符型、數(shù)值型、日期型等簡(jiǎn)單數(shù)據(jù)類(lèi)型,也包括由若干數(shù)據(jù)類(lèi)型構(gòu)造出的復(fù)雜數(shù)據(jù)類(lèi)型。例如,“姓名”的數(shù)據(jù)類(lèi)型為字符型,“年齡”的數(shù)據(jù)類(lèi)型為數(shù)值型。數(shù)據(jù)類(lèi)型不同,其表示形式、存儲(chǔ)方式、操作運(yùn)算一般也是不同的。例如,數(shù)值型數(shù)據(jù)可以進(jìn)行加、減、乘、除等算術(shù)運(yùn)算,
8、而字符型數(shù)據(jù)可以進(jìn)行連接、取子串、查子串等運(yùn)算。v數(shù)據(jù)是有取值范圍約束的。例如,“年齡”不可能取值負(fù)數(shù),也不可能太大,其取值范圍一般為0150。數(shù)據(jù)的特征數(shù)據(jù)的特征v(3)數(shù)據(jù)有定性表示和定量表示 例如,職工的年齡可以定性地表示為“老”、“中”、“青”,也可以用具體歲數(shù)定量地表示。1.1.3 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型v1.1.3 數(shù)據(jù)類(lèi)型v常見(jiàn)的數(shù)據(jù)類(lèi)型有字符型、數(shù)值型、日期型、邏輯型、備注型。v1. 字符型v字符型數(shù)據(jù)由中文字符、英文字符、數(shù)值字符、空格和其他專用符號(hào)組成。字符型數(shù)據(jù)一般有寬度限制,最大寬度不超過(guò)254B(Byte,字節(jié))。例如,姓名、公司名稱屬于字符型數(shù)據(jù)。數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型v2.
9、數(shù)值型v數(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ù)。v3. 日期型v日期型數(shù)據(jù)是用來(lái)表示日期的特殊數(shù)據(jù),有固定的格式。日期型數(shù)據(jù)長(zhǎng)度固定為8位。一般日期格式“yyyy-mm-dd”表示“年-月-日”,美國(guó)日期格式“mm/dd/yyyy”表示“月/日/年”。例如,2008年10月1日的一般日期格式表示為“2008-10-1”、美國(guó)日期格式表示為“10/01/2008”。數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型v4. 邏輯型v邏輯型數(shù)據(jù)是表示邏輯判斷結(jié)果的值,
10、只能取真(T,Y)或假(F,N)。邏輯型數(shù)據(jù)的長(zhǎng)度固定為1bit(位)。v5. 備注型v備注型也稱為記憶型、文本型。v當(dāng)需要存儲(chǔ)大量的字符時(shí),應(yīng)該使用備注型數(shù)據(jù)。注意,備注型數(shù)據(jù)一般長(zhǎng)度較大,而字符型數(shù)據(jù)長(zhǎng)度較小。1.1.4 數(shù)據(jù)庫(kù)及其特點(diǎn)數(shù)據(jù)庫(kù)及其特點(diǎn)v1.1.4 數(shù)據(jù)庫(kù)及其特點(diǎn)v數(shù)據(jù)庫(kù)已經(jīng)與我們的日常工作、學(xué)習(xí)和生活密切相關(guān),如學(xué)生成績(jī)數(shù)據(jù)庫(kù)、員工檔案數(shù)據(jù)庫(kù)、庫(kù)存商品數(shù)據(jù)庫(kù)、圖書(shū)數(shù)據(jù)庫(kù)、銀行數(shù)據(jù)庫(kù)、手機(jī)短信數(shù)據(jù)庫(kù)。v1. 數(shù)據(jù)庫(kù)的定義v數(shù)據(jù)庫(kù)(Database,DB)是一個(gè)按一定數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v2. 數(shù)據(jù)庫(kù)的特點(diǎn)v(1)數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)結(jié)構(gòu)化
11、是指數(shù)據(jù)庫(kù)按照一定的數(shù)據(jù)模型來(lái)組織和存放數(shù)據(jù)。這種結(jié)構(gòu)化了的數(shù)據(jù)能反映數(shù)據(jù)之間的自然聯(lián)系。而傳統(tǒng)的文件是無(wú)模型的,結(jié)構(gòu)非常簡(jiǎn)單,因此不能反映數(shù)據(jù)之間的自然聯(lián)系。數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫(kù)和文件之間的一個(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ù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v (2)數(shù)據(jù)獨(dú)立性 數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)庫(kù)的數(shù)據(jù)與應(yīng)用程序之間不存在相互依賴關(guān)系,也就是數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和存取方法等不因應(yīng)用程序的修改而修改,反之亦然。這是數(shù)據(jù)庫(kù)與文件之間的另一個(gè)重要區(qū)別。數(shù)據(jù)獨(dú)立性分為物理獨(dú)立性和邏輯獨(dú)立性兩級(jí)。v 1
12、)數(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)用程序不需要修改仍能正常工作,反之亦然。v 2)數(shù)據(jù)邏輯獨(dú)立性 數(shù)據(jù)邏輯獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),如修改數(shù)據(jù)結(jié)構(gòu)、增加新的數(shù)據(jù)類(lèi)型、改變數(shù)據(jù)間的聯(lián)系等,無(wú)需修改原來(lái)的應(yīng)用程序。v 一個(gè)具有數(shù)據(jù)獨(dú)立性的系統(tǒng)稱之為以數(shù)據(jù)為中心的系統(tǒng),或面向數(shù)據(jù)的系統(tǒng)。數(shù)據(jù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v(3)實(shí)現(xiàn)數(shù)據(jù)共享 數(shù)據(jù)共享是指多個(gè)用戶、多種程序語(yǔ)言、多個(gè)應(yīng)用程序使用一些共同的數(shù)據(jù)。數(shù)據(jù)共享是促成發(fā)展數(shù)據(jù)庫(kù)技術(shù)的重要原因之一,也
13、是數(shù)據(jù)庫(kù)技術(shù)先進(jìn)性的一個(gè)重要體現(xiàn)。數(shù)據(jù)庫(kù)中的數(shù)據(jù)可供多個(gè)應(yīng)用程序、多個(gè)用戶共同使用,這些應(yīng)用程序可以用不同的程序設(shè)計(jì)語(yǔ)言編寫(xiě),用戶可以處于不同的業(yè)務(wù)部門(mén)、不同的物理位置。數(shù)據(jù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v(4)數(shù)據(jù)的冗余度小 在數(shù)據(jù)庫(kù)產(chǎn)生以前,每個(gè)應(yīng)用都需要建立自己的數(shù)據(jù)文件,從而造成了數(shù)據(jù)冗余。數(shù)據(jù)冗余帶來(lái)的弊病有:v1)浪費(fèi)存儲(chǔ)空間。v2)為了更新某些冗余副本,保持?jǐn)?shù)據(jù)的一致性,必須執(zhí)行多次更新操作,從而增加不必要的機(jī)器時(shí)間。v3)由于數(shù)據(jù)的不同副本可能處于不同的更新階段,從而可能給出不一致的信息。v數(shù)據(jù)庫(kù)則是以整體觀點(diǎn)來(lái)組織和存儲(chǔ)數(shù)據(jù)的,數(shù)據(jù)是集成化、結(jié)構(gòu)化的。它是為多種應(yīng)用所共享的,從而大大減
14、少了數(shù)據(jù)冗余。數(shù)據(jù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v(5)避免了數(shù)據(jù)的不一致性 當(dāng)本應(yīng)相同的數(shù)據(jù)在不同的應(yīng)用中出現(xiàn)不同的值時(shí),我們就說(shuō)數(shù)據(jù)出現(xiàn)了不一致。例如,同一職工的工資,如果在工資單上和人事檔案中具有不同的值就出現(xiàn)了不一致。數(shù)據(jù)的不一致性主要是由數(shù)據(jù)冗余引起的。數(shù)據(jù)庫(kù)在理論上消除了數(shù)據(jù)冗余,因而可以避免數(shù)據(jù)的不一致性。即使存在某些冗余,數(shù)據(jù)庫(kù)也提供了對(duì)數(shù)據(jù)的控制和檢查機(jī)制,保證在更新數(shù)據(jù)的同時(shí)更新其所有副本,從而保證了數(shù)據(jù)的一致性。數(shù)據(jù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v(6)有利于數(shù)據(jù)的安全性 數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù),防止不合法使用數(shù)據(jù)造成數(shù)據(jù)的泄密和破壞,使每個(gè)用戶只能按規(guī)定對(duì)某些數(shù)據(jù)以某些方式進(jìn)行訪問(wèn)和處理
15、。只有DBA(Database Administrator,數(shù)據(jù)庫(kù)管理員)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)擁有完全的操作權(quán)限,DBA可以規(guī)定各用戶的權(quán)限。每當(dāng)用戶企圖存取敏感數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)就進(jìn)行安全性檢查。對(duì)于致?lián)?kù)中數(shù)據(jù)的各種操作(查詢、修改、刪除等)數(shù)據(jù)庫(kù)都可以實(shí)施不同級(jí)別的安全檢查。數(shù)據(jù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v(7)有利于保證數(shù)據(jù)的完整性 數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性,即將數(shù)據(jù)控制在有效的范圍內(nèi),或要求數(shù)據(jù)之間滿足一定的關(guān)系。數(shù)據(jù)的不一致性是失去完整性的例子。當(dāng)然,數(shù)據(jù)冗余可能引起數(shù)據(jù)的不完整性,但是沒(méi)有數(shù)據(jù)冗余同樣可能出現(xiàn)不正確的數(shù)據(jù)而使數(shù)據(jù)庫(kù)失去數(shù)據(jù)完整性。例如,在一個(gè)數(shù)值型數(shù)據(jù)中出現(xiàn)
16、了字母、特殊符號(hào)等,或一個(gè)工人一周的工作時(shí)間超過(guò)200h等都是失去完整性的例子,它們與是否存在數(shù)據(jù)冗余無(wú)關(guān)。數(shù)據(jù)庫(kù)的集中控制可以避免這些情況的出現(xiàn)。它通過(guò)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ù)庫(kù)的特點(diǎn)數(shù)據(jù)庫(kù)的特點(diǎn)v(8)可以發(fā)現(xiàn)故障和恢復(fù)正常狀態(tài) 實(shí)際工作中,人們很難保證數(shù)據(jù)庫(kù)在運(yùn)行過(guò)程中不受到破壞。實(shí)際上,硬件、軟件故障及用戶操作的失誤,隨時(shí)有可能使數(shù)據(jù)庫(kù)遭到局部性的或全局性的破壞。數(shù)據(jù)庫(kù)有一套及時(shí)發(fā)現(xiàn)故障,并迅速地把數(shù)據(jù)庫(kù)恢復(fù)到
17、故障以前的正確狀態(tài)的措施,如轉(zhuǎn)儲(chǔ)、日志、檢查點(diǎn)等方法。1.1.5 數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)v1.1.5 數(shù)據(jù)庫(kù)管理系統(tǒng)v1. 數(shù)據(jù)庫(kù)管理系統(tǒng)的定義v數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System,DBMS)是對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的軟件系統(tǒng),它負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、數(shù)據(jù)控制及保護(hù)和數(shù)據(jù)服務(wù)等。vDBMS建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制?;跀?shù)據(jù)庫(kù)的實(shí)際應(yīng)用系統(tǒng)通過(guò)DBMS操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)庫(kù)管理系統(tǒng)的功能數(shù)據(jù)庫(kù)管理系統(tǒng)的功能v2. 數(shù)據(jù)庫(kù)管理系統(tǒng)的功能v(1)數(shù)據(jù)定義 DBMS通過(guò)其數(shù)據(jù)定義語(yǔ)言(Data Definition L
18、anguage,DDL)定義數(shù)據(jù)庫(kù)及其組成元素的結(jié)構(gòu)。v(2)數(shù)據(jù)操縱 DBMS通過(guò)其數(shù)據(jù)操縱語(yǔ)言(Data Manipulation Language,DML)操縱數(shù)據(jù)庫(kù)中的數(shù)據(jù),即對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行插入、修改、刪除、查詢、統(tǒng)計(jì)和排序等操作。v(3)數(shù)據(jù)控制 DBMS通過(guò)其數(shù)據(jù)控制語(yǔ)言(Data Control Language,DCL)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行安全性控制,以保證數(shù)據(jù)的安全。數(shù)據(jù)庫(kù)管理系統(tǒng)的功能數(shù)據(jù)庫(kù)管理系統(tǒng)的功能v(4)數(shù)據(jù)組織與存取 DBMS提供數(shù)據(jù)在外圍存儲(chǔ)設(shè)備上的物理組織與存取方法。v(5)數(shù)據(jù)庫(kù)建立與維護(hù) 數(shù)據(jù)庫(kù)的建立是指數(shù)據(jù)的載入、轉(zhuǎn)儲(chǔ)、重組與恢復(fù)等。數(shù)據(jù)庫(kù)的維護(hù)是
19、指數(shù)據(jù)庫(kù)及其組成元素的結(jié)構(gòu)修改、數(shù)據(jù)備份等。v(6)運(yùn)行管理 DBMS 提供并發(fā)控制、數(shù)據(jù)存取控制、完整性控制、運(yùn)行日志,以保證所有的數(shù)據(jù)庫(kù)操作正確有效。1.1.6 數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)v1.1.6 數(shù)據(jù)庫(kù)系統(tǒng)v數(shù)據(jù)庫(kù)系統(tǒng)(Database System,DBS)是一個(gè)帶有數(shù)據(jù)庫(kù)的計(jì)算機(jī)應(yīng)用系統(tǒng),它由支持該系統(tǒng)開(kāi)發(fā)、使用與運(yùn)行維護(hù)的硬件、軟件和人員組成。簡(jiǎn)單地說(shuō),數(shù)據(jù)庫(kù)系統(tǒng)由硬件、軟件和人員三部分組成。v數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)如圖1-1所示。數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)圖1-1 數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的硬件數(shù)據(jù)庫(kù)系統(tǒng)的硬件v1. 數(shù)據(jù)庫(kù)系統(tǒng)的硬件v數(shù)據(jù)庫(kù)系統(tǒng)是在其硬件的支持下
20、運(yùn)行的。數(shù)據(jù)庫(kù)系統(tǒng)的硬件包括計(jì)算機(jī)及外圍設(shè)備。數(shù)據(jù)庫(kù)系統(tǒng)的計(jì)算機(jī)用于數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理與數(shù)據(jù)管理,它包括客戶機(jī)、網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)系統(tǒng)的外圍設(shè)備包括通信設(shè)備、輸入輸出設(shè)備。通信設(shè)備如計(jì)算機(jī)網(wǎng)絡(luò)、交換機(jī)、路由器,用于數(shù)據(jù)傳輸和數(shù)據(jù)共享。輸入輸出設(shè)備如條碼掃描儀、圖形掃描儀、攝像頭、數(shù)碼照相機(jī)、視頻采集卡、電影卡、激光打印機(jī)、數(shù)字印刷機(jī)等,用于一些特殊數(shù)據(jù)的輸入輸出。v數(shù)據(jù)庫(kù)系統(tǒng)一般數(shù)據(jù)量大、處理復(fù)雜、共享程度高。為了保證整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的正常運(yùn)行,在進(jìn)行數(shù)據(jù)庫(kù)系統(tǒng)的硬件配置時(shí),必須保證有足夠的計(jì)算機(jī)內(nèi)存和外存、良好的通信效率。數(shù)據(jù)庫(kù)系統(tǒng)的硬件數(shù)據(jù)庫(kù)系統(tǒng)的硬件v(1)計(jì)算機(jī)內(nèi)存 計(jì)算機(jī)
21、內(nèi)存用作操作系統(tǒng)、DBMS、開(kāi)發(fā)工具、應(yīng)用軟件等運(yùn)行時(shí)的程序工作區(qū)或數(shù)據(jù)緩沖區(qū)。一般地,內(nèi)存越大,處理速度越快。但內(nèi)存過(guò)大將造成浪費(fèi)。v(2)計(jì)算機(jī)外存 計(jì)算機(jī)外存用來(lái)存放操作系統(tǒng)、DBMS、開(kāi)發(fā)工具、應(yīng)用軟件等。計(jì)算機(jī)外存主要有軟盤(pán)、硬盤(pán)、磁帶、光盤(pán)、閃存盤(pán)。實(shí)際應(yīng)用中,硬盤(pán)是數(shù)據(jù)庫(kù)系統(tǒng)的主要存儲(chǔ)設(shè)備。v(3)通信效率 目前,大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都是基于計(jì)算機(jī)網(wǎng)絡(luò)的系統(tǒng)。計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)該具有良好的通信效率,否則將無(wú)法保證數(shù)據(jù)傳輸和數(shù)據(jù)共享的需要。數(shù)據(jù)庫(kù)系統(tǒng)的軟件數(shù)據(jù)庫(kù)系統(tǒng)的軟件v2. 數(shù)據(jù)庫(kù)系統(tǒng)的軟件v數(shù)據(jù)庫(kù)系統(tǒng)軟件包括操作系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)、DBMS、主語(yǔ)言編譯系統(tǒng)、應(yīng)用系統(tǒng)開(kāi)發(fā)工具。v(1)
22、操作系統(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)行并為其開(kāi)發(fā)、運(yùn)行與管理提供支持,提供方便、有效和友好的用戶界面。常見(jiàn)操作系統(tǒng)有DOS、Windows、Unix、Linux。數(shù)據(jù)庫(kù)系統(tǒng)的軟件數(shù)據(jù)庫(kù)系統(tǒng)的軟件v(2)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(Database Application System,DBAS)是一個(gè)帶有數(shù)據(jù)庫(kù)的計(jì)算機(jī)軟件系統(tǒng),它是包括應(yīng)用程序、數(shù)據(jù)、數(shù)據(jù)庫(kù)以及與該系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用有關(guān)的文檔的完整集合。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)在操作系統(tǒng)、DBMS、數(shù)據(jù)庫(kù)的支持下運(yùn)行。數(shù)據(jù)庫(kù)系統(tǒng)的軟件數(shù)
23、據(jù)庫(kù)系統(tǒng)的軟件v(3)DBMS與主語(yǔ)言編譯系統(tǒng) DBMS主要負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、數(shù)據(jù)控制及保護(hù),它的程序控制、人機(jī)接口、硬件接口以及與其他應(yīng)用系統(tǒng)接口的能力較弱,基本不提供復(fù)雜的數(shù)據(jù)處理功能。因此為了開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),就需要主語(yǔ)言系統(tǒng)的配合。主語(yǔ)言系統(tǒng)主要用于程序控制、人機(jī)接口、硬件接口以及與其他應(yīng)用系統(tǒng)接口,提供復(fù)雜的數(shù)據(jù)處理和數(shù)據(jù)展現(xiàn)功能。常見(jiàn)的主語(yǔ)言系統(tǒng)有C、C+、Java、Delphi、Fortran。主語(yǔ)言編譯器是主語(yǔ)言的核心,它負(fù)責(zé)把用主語(yǔ)言所編寫(xiě)的應(yīng)用程序源代碼翻譯為計(jì)算機(jī)能解讀、運(yùn)行的機(jī)器語(yǔ)言程序。數(shù)據(jù)庫(kù)系統(tǒng)的軟件數(shù)據(jù)庫(kù)系統(tǒng)的軟件v(4)應(yīng)用系統(tǒng)開(kāi)發(fā)工
24、具 應(yīng)用系統(tǒng)開(kāi)發(fā)工具即軟件開(kāi)發(fā)工具,是輔助開(kāi)發(fā)人員和用戶開(kāi)發(fā)應(yīng)用系統(tǒng)的工具性軟件,包括軟件需求分析工具、軟件設(shè)計(jì)工具、軟件測(cè)試工具、軟件集成開(kāi)發(fā)環(huán)境、報(bào)表生成器等。常見(jiàn)的應(yīng)用系統(tǒng)開(kāi)發(fā)工具有Visual Studio、Delphi、C+ Builder、Rational Rose。v數(shù)據(jù)應(yīng)用系統(tǒng)的開(kāi)發(fā)需要應(yīng)用系統(tǒng)開(kāi)發(fā)工具作為支持。數(shù)據(jù)庫(kù)系統(tǒng)的人員數(shù)據(jù)庫(kù)系統(tǒng)的人員v3. 數(shù)據(jù)庫(kù)系統(tǒng)的人員v數(shù)據(jù)庫(kù)系統(tǒng)的人員是指數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)人員、用戶和運(yùn)行維護(hù)人員。他們?cè)跀?shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)、應(yīng)用和維護(hù)中起重要作用,相應(yīng)的角色有系統(tǒng)分析員、程序員、用戶、DBA。v(1)DBA 數(shù)據(jù)庫(kù)在企業(yè)或組織的數(shù)據(jù)資源管理中處于核
25、心地位,因此企業(yè)或組織應(yīng)該設(shè)立專門(mén)的數(shù)據(jù)資源管理機(jī)構(gòu)來(lái)管理數(shù)據(jù)庫(kù)。DBA則是這個(gè)機(jī)構(gòu)的一組人員,全面負(fù)責(zé)數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行管理和控制。DBA的具體職責(zé)包括:數(shù)據(jù)庫(kù)系統(tǒng)的人員數(shù)據(jù)庫(kù)系統(tǒng)的人員v1)參與數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì) 數(shù)據(jù)庫(kù)中要存放哪些數(shù)據(jù)和怎樣存取數(shù)據(jù)是由數(shù)據(jù)庫(kù)系統(tǒng)需求決定的。為了更好地對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行有效的管理和維護(hù),DBA應(yīng)該與系統(tǒng)分析員、程序員、用戶密切合作,搞好數(shù)據(jù)庫(kù)設(shè)計(jì)。v2)參與決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略 DBA應(yīng)和系統(tǒng)分析員、程序員、用戶一道,根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)需求共同決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略,以獲得較高的存取速度和存儲(chǔ)空間利用率。數(shù)據(jù)庫(kù)系統(tǒng)的人員數(shù)據(jù)庫(kù)系統(tǒng)的人員v3)參與定義
26、數(shù)據(jù)的安全性要求和完整性約束條件 DBA要保證數(shù)據(jù)庫(kù)的安全性和完整性,即數(shù)據(jù)不被非法用戶所獲取,且保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和數(shù)據(jù)間的相容性。因此DBA應(yīng)和系統(tǒng)分析員、程序員、用戶一道,確定各個(gè)用戶對(duì)數(shù)據(jù)庫(kù)的存取權(quán)限、數(shù)據(jù)的保密級(jí)別和完整性約束條件。數(shù)據(jù)庫(kù)系統(tǒng)的人員數(shù)據(jù)庫(kù)系統(tǒng)的人員v4)監(jiān)控?cái)?shù)據(jù)庫(kù)的使用和運(yùn)行 DBA要監(jiān)視數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行情況,及時(shí)處理運(yùn)行過(guò)程中出現(xiàn)的問(wèn)題。當(dāng)系統(tǒng)發(fā)生某些故障時(shí),數(shù)據(jù)庫(kù)中的數(shù)據(jù)會(huì)因此遭到不同程度的破壞,DBA必須在最短時(shí)間內(nèi)將數(shù)據(jù)庫(kù)恢復(fù)到某種一致?tīng)顟B(tài),并盡可能不影響或少影響計(jì)算機(jī)系統(tǒng)其他部分的正常運(yùn)行。為此,DBA要定義和實(shí)施適當(dāng)?shù)暮笤突謴?fù)策略,如采用周期性轉(zhuǎn)儲(chǔ)
27、數(shù)據(jù)和維護(hù)日志文件等方法。數(shù)據(jù)庫(kù)系統(tǒng)的人員數(shù)據(jù)庫(kù)系統(tǒng)的人員v5)數(shù)據(jù)庫(kù)的改進(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ù)庫(kù)設(shè)計(jì)。不少數(shù)據(jù)庫(kù)產(chǎn)品都提供了對(duì)數(shù)據(jù)庫(kù)運(yùn)行情況進(jìn)行監(jiān)視和分析的實(shí)用程序,DBA可以方便地使用這些實(shí)用程序來(lái)完成這些工作。v另外,在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中,大量數(shù)據(jù)不斷插入、刪除、修改,隨著運(yùn)行時(shí)間的延長(zhǎng),在一定程度上要會(huì)影響系統(tǒng)的性能。因此DBA要定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行重新組織,以提高系統(tǒng)的性能。數(shù)據(jù)庫(kù)系統(tǒng)的人員數(shù)據(jù)庫(kù)系統(tǒng)的人員v(2)系統(tǒng)分析員與程序員 系統(tǒng)分析員是數(shù)據(jù)庫(kù)系統(tǒng)建設(shè)初期的主要人員,負(fù)
28、責(zé)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)需求分析。他們要和用戶密切配合,確定系統(tǒng)的基本功能、數(shù)據(jù)庫(kù)結(jié)構(gòu)和軟硬件配置等,并組織整個(gè)系統(tǒng)的開(kāi)發(fā)。因此系統(tǒng)分析員是一類(lèi)具有領(lǐng)域業(yè)務(wù)知識(shí)和計(jì)算機(jī)知識(shí)的專家,他們?cè)诤艽蟪潭壬嫌绊憯?shù)據(jù)庫(kù)系統(tǒng)的質(zhì)量和成敗。v程序員的主要職責(zé)是根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)需求設(shè)計(jì)、實(shí)現(xiàn)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的數(shù)據(jù)庫(kù)和程序模塊,并參與對(duì)數(shù)據(jù)庫(kù)和程序模塊的測(cè)試。數(shù)據(jù)庫(kù)系統(tǒng)的人員數(shù)據(jù)庫(kù)系統(tǒng)的人員v(3) 用戶 這里指最終用戶。數(shù)據(jù)庫(kù)系統(tǒng)的用戶是有不同層次的,不同層次的用戶對(duì)信息的需求及獲取方式也是不同的。用戶通過(guò)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的用戶接口使用數(shù)據(jù)庫(kù),進(jìn)行業(yè)務(wù)管理。常用的接口方式有菜單、圖標(biāo)、窗口、圖形、對(duì)話、表格。數(shù)據(jù)庫(kù)的三級(jí)模式
29、結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v4. 數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v為了有效地組織、管理數(shù)據(jù)庫(kù)中的數(shù)據(jù),提高數(shù)據(jù)庫(kù)的邏輯獨(dú)立性和物理獨(dú)立性,人們?yōu)閿?shù)據(jù)庫(kù)設(shè)計(jì)了三級(jí)模式結(jié)構(gòu),即外模式(External Schema)、模式(Schema)和內(nèi)模式(Internal Schema)。如圖1-2所示。v數(shù)據(jù)庫(kù)三級(jí)模式的劃分使不同類(lèi)型的數(shù)據(jù)庫(kù)系統(tǒng)人員以不同的視圖看待數(shù)據(jù)庫(kù)中的數(shù)據(jù)。這里,視圖是指觀察、認(rèn)識(shí)和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫(kù)在數(shù)據(jù)庫(kù)系統(tǒng)人員“眼中”的反映。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)模式圖1-2 數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)外模式應(yīng)用應(yīng)用外模式應(yīng)用應(yīng)用外模式應(yīng)用應(yīng)用內(nèi)模式數(shù)據(jù)庫(kù)外模式/模式映像
30、模式/內(nèi)模式映像數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v(1)模式 模式也稱為邏輯模式(Logic Schema),它是由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有的數(shù)據(jù)需求,從全局的角度對(duì)數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖即全局視圖。它是數(shù)據(jù)庫(kù)模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、所使用的應(yīng)用開(kāi)發(fā)工具及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)。v模式通過(guò)模式DDL定義。定義模式時(shí)不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu)(如數(shù)據(jù)的型、數(shù)據(jù)類(lèi)型、取值范圍等),而且要定義與數(shù)據(jù)有關(guān)的安全性、完整性要求,定義這些數(shù)據(jù)之間的聯(lián)系。v以邏輯模式為框架的數(shù)據(jù)庫(kù)稱為概念數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)的三級(jí)模
31、式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v(2) 外模式(External Schema) 外模式也稱為子模式(Subschema)或用戶模式(User Schema),是程序員和最終用戶能看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式通常是模式的子集。v外模式完全按照用戶對(duì)數(shù)據(jù)的需要、站在局部的角度進(jìn)行設(shè)計(jì)的。由于一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)有多個(gè)應(yīng)用,因此可以有多個(gè)外模式。由于外模式是面向程序員和最終用戶的,因此又稱為用戶數(shù)據(jù)視圖。另一方面,同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用,但一個(gè)應(yīng)用程序只能使用一個(gè)外模式。v外模式主要通過(guò)外模式DDL定義,也有一些外模式通過(guò)D
32、ML描述。v以用戶模式為框架的數(shù)據(jù)庫(kù)稱為用戶數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v使用外模式可以帶來(lái)幾點(diǎn)好處:v1)由于使用外模式,數(shù)據(jù)庫(kù)設(shè)計(jì)者和用戶不必關(guān)心整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù),而只關(guān)心與自己的局部應(yīng)用有關(guān)的一部分?jǐn)?shù)據(jù),并且不需了解它們的物理存儲(chǔ)結(jié)構(gòu),這就使得程序設(shè)計(jì)和數(shù)據(jù)使用工作都得到了簡(jiǎn)化。v2)由于使用外模式,用戶只能操作與其有關(guān)的數(shù)據(jù),而不能操作與其無(wú)關(guān)的數(shù)據(jù),這有利于數(shù)據(jù)的安全保密。v3)由于同一模式可以派生出多個(gè)外模式,故有利于數(shù)據(jù)獨(dú)立性和數(shù)據(jù)共享。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v(3)內(nèi)模式(Internal Schema) 內(nèi)模式也稱為存儲(chǔ)模式(Storag
33、e Schema)或物理模式(Physical Schema),它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的底層描述,包括記錄的存儲(chǔ)方式、索引組織方式、數(shù)據(jù)是否壓縮和加密。v比內(nèi)模式更接近物理存儲(chǔ)和訪問(wèn)的那些軟件機(jī)制,即文件系統(tǒng),是操作系統(tǒng)的一部分。例如,從磁盤(pán)讀數(shù)據(jù)或?qū)憯?shù)據(jù)到磁盤(pán)上。v一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式,內(nèi)模式通過(guò)內(nèi)模式DDL定義。v以物理模式為框架的數(shù)據(jù)庫(kù)稱為物理數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v(4)概念數(shù)據(jù)庫(kù)、用戶數(shù)據(jù)庫(kù)與物理數(shù)據(jù)庫(kù)的相互關(guān)系 在數(shù)據(jù)庫(kù)系統(tǒng)中,只有物理數(shù)據(jù)庫(kù)才是真正存在的,它是存放在計(jì)算機(jī)外存上的數(shù)據(jù)文件。概念數(shù)據(jù)庫(kù)、用戶數(shù)據(jù)庫(kù)在計(jì)算機(jī)外存上是不存在的。概念數(shù)據(jù)庫(kù)
34、是物理數(shù)據(jù)庫(kù)的邏輯抽象形式,物理數(shù)據(jù)庫(kù)是概念數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)。用戶數(shù)據(jù)庫(kù)是概念數(shù)據(jù)庫(kù)的子集,即是物理數(shù)據(jù)庫(kù)子集的邏輯抽象形式。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v(5)數(shù)據(jù)庫(kù)的二級(jí)映像技術(shù) 數(shù)據(jù)庫(kù)的二級(jí)映像技術(shù)是指外模式與模式映像、模式與內(nèi)模式映像技術(shù)。二級(jí)映像技術(shù)不僅在三級(jí)模式之間建立聯(lián)系,同時(shí)保證了數(shù)據(jù)獨(dú)立性。v1)外模式/模式映像 外模式/模式映像定義并保證了外模式與模式之間的對(duì)應(yīng)關(guān)系。外模式/模式映像定義通常保存在外模式中。v外模式/模式映像保證了數(shù)據(jù)的邏輯獨(dú)立性。即當(dāng)模式改變時(shí),DBA可以通過(guò)修改外模式/模式映像的手段使外模式不變。由于應(yīng)用程序是根據(jù)外模式設(shè)計(jì)的,即使模式改變了
35、,只要外模式不變,應(yīng)用程序不必修改仍可照常運(yùn)行。因此外模式/模式映像保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨(dú)立性。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)v2)模式/內(nèi)模式映像 模式/內(nèi)模式映像定義并保證了模式與內(nèi)模式之間的對(duì)應(yīng)關(guān)系。它描述了數(shù)據(jù)的記錄、數(shù)據(jù)項(xiàng)在計(jì)算機(jī)內(nèi)部是如何組織和表示的。v模式/內(nèi)模式映像保證了數(shù)據(jù)的物理獨(dú)立性。即當(dāng)數(shù)據(jù)庫(kù)的物理模式改變了,通過(guò)修改模式/內(nèi)模式映像的手段使模式不變。由于應(yīng)用程序和用戶是根據(jù)模式訪問(wèn)數(shù)據(jù)的,即使物理模式改變了,只要模式不變,應(yīng)用程序或用戶的訪問(wèn)方式不必修改仍可照常訪問(wèn)數(shù)據(jù)。因此模式/內(nèi)模式映像保證了數(shù)據(jù)與應(yīng)用程序的物理獨(dú)立性。1.2 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展歷程數(shù)
36、據(jù)庫(kù)技術(shù)的發(fā)展歷程v1.2.1 人工管理階段v人工管理階段是指20世紀(jì)50年代中期以前。在這一階段中,從應(yīng)用上看,計(jì)算機(jī)的主要應(yīng)用領(lǐng)域是科學(xué)計(jì)算。從硬件上看,這個(gè)時(shí)期計(jì)算機(jī)內(nèi)存空間小,計(jì)算速度低,外存只有磁帶、卡片和紙帶,沒(méi)有像磁盤(pán)這樣快速的直接存取存儲(chǔ)設(shè)備。從軟件上看,計(jì)算機(jī)沒(méi)有操作系統(tǒng),更沒(méi)有數(shù)據(jù)管理軟件,數(shù)據(jù)處理是以批處理方式進(jìn)行的。人工管理階段數(shù)據(jù)管理的特點(diǎn)人工管理階段數(shù)據(jù)管理的特點(diǎn)v1. 人工管理階段數(shù)據(jù)管理的特點(diǎn)v(1)數(shù)據(jù)不保存 由于當(dāng)時(shí)計(jì)算機(jī)主要用于科學(xué)計(jì)算,強(qiáng)調(diào)提高計(jì)算速度和精度,數(shù)據(jù)量較少,一般不需要將數(shù)據(jù)長(zhǎng)期保存。此外,由于內(nèi)存和外存的空間有限,數(shù)據(jù)也不便于長(zhǎng)期保存。因此
37、只是在求解某個(gè)問(wèn)題時(shí)才將數(shù)據(jù)輸入到計(jì)算機(jī),數(shù)據(jù)用完后就從內(nèi)存中撤走。不僅對(duì)用戶數(shù)據(jù)如此處置,對(duì)系統(tǒng)軟件涉及的數(shù)據(jù)有時(shí)也是這樣。v(2)程序員管理數(shù)據(jù) 由于當(dāng)時(shí)沒(méi)有相應(yīng)的軟件系統(tǒng)負(fù)責(zé)數(shù)據(jù)的管理工作,應(yīng)用程序中涉及的數(shù)據(jù)需要由程序員自己管理,即程序員在程序中不僅要編寫(xiě)數(shù)據(jù)邏輯結(jié)構(gòu)的代碼,而且還要編寫(xiě)數(shù)據(jù)物理結(jié)構(gòu)的代碼,包括數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、存取方法和輸入方式的代碼。人工管理階段數(shù)據(jù)管理的特點(diǎn)人工管理階段數(shù)據(jù)管理的特點(diǎn)v(3)數(shù)據(jù)不能共享 在人工管理階段,由于數(shù)據(jù)是在程序中定義的,一組數(shù)據(jù)只能對(duì)應(yīng)一個(gè)程序。當(dāng)多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),由于必須在各自的程序中定義,無(wú)法或很難互相利用、互相參照,因此
38、程序與程序之間的相同數(shù)據(jù)無(wú)法共享。數(shù)據(jù)均由應(yīng)用程序自己管理,沒(méi)有統(tǒng)一的負(fù)責(zé)管理數(shù)據(jù)的專門(mén)軟件系統(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)人工管理階段數(shù)據(jù)管理的特點(diǎn)v(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),且使用起來(lái)也很不方便、費(fèi)時(shí)費(fèi)力。v在人工管理階段,應(yīng)用程序與數(shù)據(jù)
39、之間的一一對(duì)應(yīng)關(guān)系可用圖1-3表示。其中,圖1-3(a)表示數(shù)據(jù)從程序外部通過(guò)鍵盤(pán)等設(shè)備進(jìn)入程序的情形,圖1-3(b)表示數(shù)據(jù)集成在程序中的情形。人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系人工管理階段應(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)人工管理階段數(shù)據(jù)管理的缺點(diǎn)v2. 人工管理階段數(shù)據(jù)管理的缺點(diǎn)v(1)數(shù)據(jù)管理中沒(méi)有直接存取的存儲(chǔ)設(shè)備存儲(chǔ)數(shù)據(jù),導(dǎo)致應(yīng)用程序中的數(shù)據(jù)無(wú)法被其他程序利用。v(2)由于人工管理階段的
40、數(shù)據(jù)是面向應(yīng)用的,即使兩個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù),也必須各自定義,所以程序與程序之間有大量重復(fù)數(shù)據(jù),導(dǎo)致數(shù)據(jù)冗余。v(3)由于沒(méi)有專門(mén)的軟件管理數(shù)據(jù),程序員不僅要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且還要在程序中設(shè)計(jì)物理結(jié)構(gòu),使數(shù)據(jù)和程序之間不具有相對(duì)獨(dú)立性,這樣就會(huì)造成數(shù)據(jù)獨(dú)立性、結(jié)構(gòu)性差。v(4)人工管理階段的軟硬件條件很差,在需要時(shí)將數(shù)據(jù)輸入,用完就撤走,導(dǎo)致了數(shù)據(jù)不能長(zhǎng)期保存。1.2.2 文件系統(tǒng)階段文件系統(tǒng)階段v文件系統(tǒng)階段是指從20世紀(jì)50年代后期到60年代中期。該時(shí)期的計(jì)算機(jī)應(yīng)用范圍逐漸擴(kuò)大,計(jì)算機(jī)不僅用于科學(xué)計(jì)算,而且還大量用于信息管理。計(jì)算機(jī)硬件有了進(jìn)一步的發(fā)展,出現(xiàn)了磁盤(pán)、磁鼓等能直
41、接存取的外存儲(chǔ)設(shè)備。在軟件方面,高級(jí)語(yǔ)言和操作系統(tǒng)已經(jīng)有了完善的產(chǎn)品,并且操作系統(tǒng)中有專門(mén)負(fù)責(zé)管理數(shù)據(jù)的文件系統(tǒng)功能。數(shù)據(jù)處理的方式有批處理,也有聯(lián)機(jī)實(shí)時(shí)處理。文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v1. 文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v(1)數(shù)據(jù)可以長(zhǎng)期保存 由于計(jì)算機(jī)大量用于數(shù)據(jù)處理,數(shù)據(jù)需要長(zhǎng)期保存以便反復(fù)使用。把數(shù)據(jù)以文件的形式保存在磁盤(pán)等外存儲(chǔ)器上,為數(shù)據(jù)的長(zhǎng)期保存和反復(fù)使用提供了保證。v(2)文件的多樣化和結(jié)構(gòu)化 由于有了直接存取設(shè)備,也就出現(xiàn)了順序文件、索引文件、隨機(jī)文件等多種文件組織形式。數(shù)據(jù)文件的存取基本上以記錄為單位,而記錄則是由一些字段按特定的結(jié)構(gòu)組成的,每個(gè)記
42、錄的長(zhǎng)度是相等的。因此文件是記錄的集合,文件系統(tǒng)實(shí)現(xiàn)了記錄內(nèi)部的有結(jié)構(gòu)、但在整體上數(shù)據(jù)仍然是無(wú)結(jié)構(gòu)。文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v(3)文件系統(tǒng)管理數(shù)據(jù) 操作系統(tǒng)提供的文件管理系統(tǒng)是應(yīng)用程序與數(shù)據(jù)文件的專門(mén)接口。程序和數(shù)據(jù)文件之間的存取操作由文件系統(tǒng)根據(jù)“按文件名訪問(wèn),按記錄進(jìn)行存取”的管理技術(shù)自動(dòng)完成。文件的邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換由文件系統(tǒng)來(lái)自動(dòng)完成,而不必由程序員設(shè)計(jì)考慮,從而使得程序和數(shù)據(jù)分開(kāi),數(shù)據(jù)與程序之間有了一定的獨(dú)立性。這樣,程序員可以集中精力于數(shù)據(jù)的邏輯結(jié)構(gòu),而不必或者很少考慮其物理結(jié)構(gòu)。數(shù)據(jù)在物理結(jié)構(gòu)上的改變,通常不會(huì)反映在程序上,從而可以大大地節(jié)省維
43、護(hù)程序的工作量。v在文件系統(tǒng)階段,應(yīng)用程序與數(shù)據(jù)文件之間的關(guān)系如圖1-4所示。應(yīng)用程序與數(shù)據(jù)文件的對(duì)應(yīng)關(guān)系是通過(guò)文件管理系統(tǒng)實(shí)現(xiàn)的。文件系統(tǒng)階段數(shù)據(jù)管理的特點(diǎ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)文件系統(tǒng)階段數(shù)據(jù)管理的缺點(diǎn)v2. 文件系統(tǒng)階段數(shù)據(jù)管理的缺點(diǎn)v文件系統(tǒng)階段數(shù)據(jù)管理水平比人工管理階段有了很大的改進(jìn),但仍存在如下缺點(diǎn):v(1)數(shù)據(jù)冗余度大 在文件系統(tǒng)中,一個(gè)文件基本上對(duì)應(yīng)于一個(gè)應(yīng)用程序,即文件系統(tǒng)中文件仍由應(yīng)用程序
44、來(lái)定義。當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時(shí),也必須建立各自的數(shù)據(jù)文件,而不能共享相同的數(shù)據(jù)。例如,在人事文件中包含了企業(yè)所有雇員的信息,而銷(xiāo)售文件中又包含了屬于銷(xiāo)售人員的雇員信息。此外,由于相同的數(shù)據(jù)在不同的文件中重復(fù)存儲(chǔ)、并由各自的程序管理,容易造成數(shù)據(jù)的不一致性,給數(shù)據(jù)的修改和維護(hù)帶來(lái)困難。文件系統(tǒng)階段數(shù)據(jù)管理的缺點(diǎn)文件系統(tǒng)階段數(shù)據(jù)管理的缺點(diǎn)v(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)的定義。反過(guò)來(lái),應(yīng)用程序的改變(例如,應(yīng)用程序改用其他的高級(jí)語(yǔ)言編寫(xiě))也將引起數(shù)據(jù)文件結(jié)
45、構(gòu)的改變。因此數(shù)據(jù)與程序之間獨(dú)立性較差。v(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ù)庫(kù)系統(tǒng)階段數(shù)據(jù)庫(kù)系統(tǒng)階段v1.2.3 數(shù)據(jù)庫(kù)系統(tǒng)階段v1. 數(shù)據(jù)庫(kù)系統(tǒng)的形成與發(fā)展v數(shù)據(jù)庫(kù)系統(tǒng)階段是指從20世紀(jì)60年代后期至今。數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫(kù)系統(tǒng)階段的標(biāo)志是20世紀(jì)60年代末期的三件大事: 1968年美國(guó)IBM公司推
46、出層次模型的IMS(Information Management System)系統(tǒng)。1969年美國(guó)CODASYL(Conference On Data System Language)組織頒布了DBTG(Data Base Task Group,數(shù)據(jù)庫(kù)任務(wù)組)報(bào)告。提出網(wǎng)狀模型。1970年美國(guó)IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫(kù)的理論基礎(chǔ)。特別是20世紀(jì)70年代以來(lái),多種應(yīng)用、多種語(yǔ)言共享數(shù)據(jù)的要求越來(lái)越強(qiáng)烈。數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v2. 數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v(1)采用特定的數(shù)據(jù)模型,使數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)結(jié)構(gòu)化是數(shù)
47、據(jù)庫(kù)和文件系統(tǒng)的本質(zhì)區(qū)別。在文件系統(tǒng)中,相互獨(dú)立的文件的記錄內(nèi)部是有結(jié)構(gòu)的,通常采取的是等長(zhǎng)或變長(zhǎng)的記錄格式,但記錄之間沒(méi)有聯(lián)系,這種數(shù)據(jù)的獨(dú)立性只對(duì)一個(gè)應(yīng)用而言,仍有局限性,不適應(yīng)多用戶、多應(yīng)用共享數(shù)據(jù)的需求。而數(shù)據(jù)庫(kù)系統(tǒng)為用戶提供一個(gè)數(shù)據(jù)的抽象視圖,它能隱藏?cái)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法等細(xì)節(jié),并通過(guò)數(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ù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v(2)數(shù)據(jù)的獨(dú)立性高 數(shù)據(jù)庫(kù)系統(tǒng)提供了三級(jí)數(shù)據(jù)抽象(視圖級(jí)抽象、概念級(jí)抽象和物理級(jí)抽象)能力和三種數(shù)據(jù)庫(kù)模式(外模式、
48、模式和內(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ù)和修改。v在數(shù)據(jù)庫(kù)系統(tǒng)階段,應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系如圖1-5所示。應(yīng)用程序與數(shù)據(jù)的聯(lián)系是通過(guò)DBMS實(shí)現(xiàn)的。數(shù)據(jù)庫(kù)系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系圖1-5 數(shù)據(jù)庫(kù)系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系教務(wù)管理應(yīng)用程序人事管理應(yīng)用程序?qū)W籍管理應(yīng)用程序數(shù)據(jù)庫(kù)管理系統(tǒng)教務(wù)管理數(shù)據(jù)人事管理數(shù)據(jù)學(xué)籍管理數(shù)據(jù)數(shù)據(jù)庫(kù)系統(tǒng)階
49、段數(shù)據(jù)管理的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v(3)數(shù)據(jù)的共享性好,數(shù)據(jù)冗余度低 數(shù)據(jù)庫(kù)系統(tǒng)允許多個(gè)用戶或多個(gè)應(yīng)用程序同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)中的相同數(shù)據(jù),數(shù)據(jù)不再面向某個(gè)應(yīng)用,而是面向整個(gè)系統(tǒng),從而實(shí)現(xiàn)了數(shù)據(jù)的共享,節(jié)省了存儲(chǔ)空間,大大減少了數(shù)據(jù)冗余,避免了數(shù)據(jù)之間的不相容性與不一致性。v(4)為用戶提供了方便的用戶接口 用戶可以使用查詢語(yǔ)言(如SQL)或終端命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),也可以借助高級(jí)語(yǔ)言(如C、Java)采用程序方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v(5)統(tǒng)一的數(shù)據(jù)控制 數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)由DBMS統(tǒng)一管理,而且管理的是有結(jié)構(gòu)的數(shù)據(jù),因此可靈活地使
50、用數(shù)據(jù)。一個(gè)數(shù)據(jù)庫(kù)一般都要支持很多應(yīng)用程序和用戶。不同的應(yīng)用程序和不同的用戶對(duì)同一個(gè)數(shù)據(jù)庫(kù)可能有不同的理解,對(duì)同一數(shù)據(jù)庫(kù)的一種理解稱為這個(gè)數(shù)據(jù)庫(kù)的一個(gè)視圖。一個(gè)視圖可以是一個(gè)數(shù)據(jù)庫(kù)子集合,也可以是多個(gè)數(shù)據(jù)庫(kù)的子集按照某種方式構(gòu)成的虛擬數(shù)據(jù)庫(kù)。DBMS提供了定義、維護(hù)和操縱視圖的機(jī)制,使得多個(gè)用戶可以為他們的應(yīng)用定義、維護(hù)和使用自己的視圖。數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理的特點(diǎn)v為了適應(yīng)數(shù)據(jù)共享的環(huán)境,DBMS提供了數(shù)據(jù)控制功能:v(1)數(shù)據(jù)的安全性控制。v(2)數(shù)據(jù)的完整性控制。v(3)并發(fā)控制 并發(fā)控制是用來(lái)控制多個(gè)事務(wù)的并發(fā)運(yùn)行,避免事務(wù)之間的相互干擾,保證每個(gè)事務(wù)都能產(chǎn)
51、生正確的結(jié)果。v(4)數(shù)據(jù)庫(kù)恢復(fù) 數(shù)據(jù)庫(kù)恢復(fù)是指在發(fā)生某種故障而使數(shù)據(jù)庫(kù)當(dāng)前狀態(tài)已經(jīng)不再正確時(shí),能把數(shù)據(jù)庫(kù)恢復(fù)到已知為正確的某種狀態(tài)。1.3 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生存期模型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生存期模型v1.3.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生存期v數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)同世間萬(wàn)物一樣,經(jīng)歷著孕育、誕生、成長(zhǎng)、成熟、衰亡的生存過(guò)程,這一過(guò)程稱為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生存期。v基于生存期的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型、智能模型等,這些模型實(shí)質(zhì)上是計(jì)算機(jī)軟件的一種開(kāi)發(fā)模式或方法。其中瀑布模型最為著名。1.3.2 瀑布模型瀑布模型v1.3.2 瀑布模型v數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生存期模型是從系統(tǒng)的需求定義
52、直至系統(tǒng)經(jīng)使用后廢止為止,跨越整個(gè)生存期的系統(tǒng)開(kāi)發(fā)、運(yùn)行和維護(hù)的相關(guān)事務(wù)管理的一種模式。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)生存期模型主要有瀑布模型、螺旋模型、演化模型等。下面簡(jiǎn)要介紹瀑布模型。v瀑布模型把數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)生存期劃分為規(guī)劃、需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)行與維護(hù)6個(gè)階段,并且規(guī)定了它們自上而下、相互銜接的次序,如同瀑布流水、逐級(jí)下落,如圖1-6所示。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)生存期的瀑布模型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)生存期的瀑布模型圖1-6 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)生存期的瀑布模型規(guī)劃需求分析設(shè)計(jì)實(shí)現(xiàn)測(cè)試運(yùn)行和維護(hù)瀑布模型瀑布模型v 1. 規(guī)劃階段v 規(guī)劃階段主要有兩個(gè)任務(wù):第一個(gè)任務(wù)是確定系統(tǒng)的總目標(biāo)和限制條件,分析現(xiàn)有系統(tǒng)的工作流
53、程、費(fèi)用、人員、設(shè)備、存在的問(wèn)題等,提出多個(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)開(kāi)發(fā)計(jì)劃,包括工作分解及其負(fù)責(zé)人指定、開(kāi)工時(shí)間與交付時(shí)間、階段進(jìn)度、開(kāi)發(fā)與維護(hù)費(fèi)用預(yù)算、人員組織及分工、設(shè)備與軟件資源配置、關(guān)鍵問(wèn)題(如技術(shù)難點(diǎn))、專題計(jì)劃要點(diǎn)(如測(cè)試計(jì)劃、質(zhì)量保證計(jì)劃、人員培訓(xùn)計(jì)劃、系統(tǒng)安裝計(jì)劃)??尚行匝芯繄?bào)告和項(xiàng)目開(kāi)發(fā)計(jì)劃提供給決策部門(mén)作為項(xiàng)目是否上馬的決策參考,并且如果項(xiàng)目獲得立項(xiàng),它們還是后續(xù)工作展開(kāi)的綱領(lǐng)性文件。瀑布模型瀑布模型v2. 需求
54、分析階段v需求分析階段的主要任務(wù)是調(diào)查和分析用戶的需求,編寫(xiě)需求規(guī)格說(shuō)明書(shū),組織開(kāi)發(fā)人員、專家和用戶進(jìn)行需求分析評(píng)審。需求規(guī)格說(shuō)明書(shū)是系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等工作的主要依據(jù)。v3. 設(shè)計(jì)階段v設(shè)計(jì)階段的任務(wù)是把軟件需求轉(zhuǎn)化為軟件表示,分為概要設(shè)計(jì)(包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì))和詳細(xì)設(shè)計(jì)(即過(guò)程設(shè)計(jì))兩個(gè)步驟,分別編寫(xiě)概要設(shè)計(jì)說(shuō)明書(shū)和詳細(xì)設(shè)計(jì)說(shuō)明書(shū),并組織開(kāi)發(fā)人員、專家和用戶進(jìn)行設(shè)計(jì)評(píng)審。瀑布模型瀑布模型v4. 實(shí)現(xiàn)階段v實(shí)現(xiàn)階段的任務(wù)是把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)程序代碼。v5. 測(cè)試階段v測(cè)試階段的任務(wù)是根據(jù)需求規(guī)格說(shuō)明書(shū)、設(shè)計(jì)說(shuō)明書(shū)和程序的內(nèi)部結(jié)構(gòu)設(shè)計(jì)一批測(cè)試用例,通過(guò)這些測(cè)試用例去運(yùn)行程序,以發(fā)
55、現(xiàn)軟件的錯(cuò)誤。軟件測(cè)試完成后,方可投入正式運(yùn)行。v6. 運(yùn)行與維護(hù)階段v軟件投入正式運(yùn)行后,為了保證其正常工作, 必須做一些必要的維護(hù)工作。維護(hù)階段的主要任務(wù)有數(shù)據(jù)更新、數(shù)據(jù)備份、狀態(tài)監(jiān)控、故障排除、系統(tǒng)升級(jí)。1.4 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)v隨著計(jì)算機(jī)技術(shù)特別是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù)面臨挑戰(zhàn)。主要表現(xiàn)在以下幾個(gè)方面:v(1)環(huán)境的變化 數(shù)據(jù)庫(kù)的應(yīng)用環(huán)境由可控制的環(huán)境變成多變的異構(gòu)信息集成環(huán)境和Internet環(huán)境。v(2)數(shù)據(jù)類(lèi)型的變化 數(shù)據(jù)庫(kù)中的數(shù)據(jù)類(lèi)型由結(jié)構(gòu)化擴(kuò)大至半結(jié)構(gòu)化、非結(jié)構(gòu)化和多媒體數(shù)據(jù)類(lèi)型。v(3)數(shù)據(jù)來(lái)源的變化 大量數(shù)據(jù)將來(lái)源于實(shí)時(shí)和動(dòng)態(tài)的傳感
56、器或監(jiān)測(cè)設(shè)備,需要處理的數(shù)據(jù)量劇增。v(4)數(shù)據(jù)管理要求的變化 許多新型應(yīng)用需要支持協(xié)同設(shè)計(jì)和工作流管理。v為了迎接這些挑戰(zhàn),許多數(shù)據(jù)庫(kù)技術(shù)研究和實(shí)踐人員提出新的數(shù)據(jù)庫(kù)概念,并開(kāi)始在實(shí)際中使用。1.4 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)v1. 面向?qū)ο髷?shù)據(jù)庫(kù)v把面向?qū)ο蟮募夹g(shù)與數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,便產(chǎn)生了面向?qū)ο髷?shù)據(jù)庫(kù)。目前,面向?qū)ο髷?shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)技術(shù)的一個(gè)重要發(fā)展方向,國(guó)外已經(jīng)推出一些面向?qū)ο髷?shù)據(jù)庫(kù)產(chǎn)品,如美國(guó)Itasca System 公司的Itascs、Object Design公司的ObjectStore。這些面向?qū)ο髷?shù)據(jù)庫(kù)一般采用的是“純”的面向?qū)ο竽P汀A硗?,還有一類(lèi)面向?qū)ο髷?shù)
57、據(jù)庫(kù)基于原有的關(guān)系數(shù)據(jù)庫(kù)擴(kuò)展而來(lái)的,即在關(guān)系數(shù)據(jù)庫(kù)上引進(jìn)封裝、繼承、隨機(jī)數(shù)據(jù)類(lèi)型等概念。一些著名的數(shù)據(jù)庫(kù)廠商及第三方廠商在關(guān)系數(shù)據(jù)庫(kù)上開(kāi)發(fā)了大量的面向?qū)ο箝_(kāi)發(fā)工具及環(huán)境。1.4 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)v 2. 分布式數(shù)據(jù)庫(kù)v 分布式數(shù)據(jù)庫(kù)系統(tǒng)由多臺(tái)計(jì)算機(jī)組成,每臺(tái)計(jì)算機(jī)上配有各自的本地?cái)?shù)據(jù)庫(kù),各計(jì)算機(jī)之間通過(guò)通信網(wǎng)絡(luò)連接。在這種系統(tǒng)中,大多數(shù)處理任務(wù)由本地計(jì)算機(jī)訪問(wèn)本地?cái)?shù)據(jù)庫(kù)來(lái)完成,對(duì)于少量本地計(jì)算機(jī)不能單獨(dú)勝任的處理任務(wù),則通過(guò)通信網(wǎng)絡(luò)與其他計(jì)算機(jī)相聯(lián)系,并獲得其他數(shù)據(jù)庫(kù)中的數(shù)據(jù)。v 分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)在地理上分散、邏輯上集中,數(shù)據(jù)由系統(tǒng)統(tǒng)一管理,使用戶感覺(jué)不到數(shù)據(jù)的分散,
58、用戶看到的似乎是一個(gè)集中式數(shù)據(jù)庫(kù)。與集中式數(shù)據(jù)庫(kù)比較,分布式數(shù)據(jù)庫(kù)具有體系結(jié)構(gòu)靈活性大、可靠性高、可用性好、可擴(kuò)充性好等優(yōu)點(diǎn)。同時(shí),也存在一些不足:分布式數(shù)據(jù)庫(kù)雖然有利于改善性能,但如果數(shù)據(jù)庫(kù)設(shè)計(jì)不好,數(shù)據(jù)分布不合理,使遠(yuǎn)距離訪問(wèn)過(guò)多,特別是當(dāng)分布連接操作過(guò)多時(shí),會(huì)降低系統(tǒng)的性能。1.4 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)v 3. 聯(lián)邦數(shù)據(jù)庫(kù)v 人類(lèi)在其文明形成和發(fā)展過(guò)程中已經(jīng)積累了浩瀚的數(shù)據(jù),并且采用已有的各種DBMS分別進(jìn)行著管理。即使以后數(shù)據(jù)庫(kù)技術(shù)大大進(jìn)步了,人類(lèi)不可能也不應(yīng)該放棄這筆巨大的財(cái)富。相反,應(yīng)充分地發(fā)揮其作用。顯然,完全用一種統(tǒng)一的數(shù)據(jù)庫(kù)來(lái)改造它們幾乎是不可能的。因此必
59、須承認(rèn)現(xiàn)實(shí),在已有的數(shù)據(jù)庫(kù)基礎(chǔ)上實(shí)現(xiàn)一定程度的聯(lián)合(或綜合)使用。我們把數(shù)據(jù)庫(kù)的聯(lián)合或綜合稱為聯(lián)邦數(shù)據(jù)庫(kù)。聯(lián)邦數(shù)據(jù)庫(kù)主要是在分布的環(huán)境下實(shí)現(xiàn)數(shù)據(jù)的集成。由于各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)模型、DBMS和計(jì)算機(jī)機(jī)型有很大的差別,因此聯(lián)邦數(shù)據(jù)庫(kù)實(shí)際上是結(jié)點(diǎn)異構(gòu)型分布數(shù)據(jù)庫(kù)的推廣。聯(lián)邦數(shù)據(jù)庫(kù)不但要解決分布環(huán)境下的并發(fā)控制和數(shù)據(jù)一致性等問(wèn)題,而且要解決由于數(shù)據(jù)模型、語(yǔ)言和語(yǔ)義解釋的不同以及操作系統(tǒng)的異構(gòu)帶來(lái)的各種困難。另外,在數(shù)據(jù)共享時(shí),還需處理各個(gè)數(shù)據(jù)庫(kù)原始數(shù)據(jù)的不完全性和不一致性等問(wèn)題。雖然聯(lián)邦數(shù)據(jù)庫(kù)的實(shí)現(xiàn)較困難,但人們還是在向這方面作努力。1.4 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)v4. 數(shù)據(jù)倉(cāng)庫(kù)v數(shù)據(jù)
60、倉(cāng)庫(kù)是指這樣一種數(shù)據(jù)的存儲(chǔ)地,來(lái)自于異地、異構(gòu)的數(shù)據(jù)源或數(shù)據(jù)庫(kù)的數(shù)據(jù),經(jīng)加工后在數(shù)據(jù)倉(cāng)庫(kù)中進(jìn)行存儲(chǔ)、存取和維護(hù)。數(shù)據(jù)倉(cāng)庫(kù)提供來(lái)自種類(lèi)不同的應(yīng)用系統(tǒng)集成的和反映歷史變化的數(shù)據(jù),使用戶擁有任意存取數(shù)據(jù)的自由,而不干擾業(yè)務(wù)數(shù)據(jù)的正常運(yùn)行。數(shù)據(jù)倉(cāng)庫(kù)不是單一的產(chǎn)品,而是由軟、硬件技術(shù)組成的環(huán)境。它把各種數(shù)據(jù)源(源數(shù)據(jù)庫(kù))集成為一個(gè)統(tǒng)一的數(shù)據(jù)倉(cāng)庫(kù),便于用戶訪問(wèn)并能從歷史的角度進(jìn)行分析,最后做出決策。v目前,數(shù)據(jù)挖掘已和數(shù)據(jù)倉(cāng)庫(kù)結(jié)合起來(lái),研究重點(diǎn)放在數(shù)據(jù)倉(cāng)庫(kù)的有效應(yīng)用上。1.4 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì)v5. 實(shí)時(shí)數(shù)據(jù)庫(kù)v在現(xiàn)實(shí)世界中,不少應(yīng)用活動(dòng)有很強(qiáng)的時(shí)間性,即要求在規(guī)定的時(shí)間內(nèi)完成事務(wù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中級(jí)注冊(cè)安全工程師(道路運(yùn)輸安全)真題及答案
- 橋梁支座施工技術(shù)要求
- 光纜測(cè)試知識(shí)試題及答案
- 三級(jí)(高級(jí))電子商務(wù)師理論測(cè)試題庫(kù)及答案
- 2025年癌癥放療科放射治療計(jì)劃審核考核模擬試題及答案解析
- 學(xué)校安全整改報(bào)告
- 建設(shè)工程施工合同糾紛要素式起訴狀模板拒絕無(wú)效格式
- 2026 年無(wú)財(cái)產(chǎn)離婚協(xié)議書(shū)規(guī)范模板
- 2026 年離婚協(xié)議書(shū)規(guī)范權(quán)威模板
- 物業(yè)公司員工培訓(xùn)管理制度
- 2026年公共部門(mén)人力資源管理試題含答案
- 2026年中國(guó)數(shù)聯(lián)物流備考題庫(kù)有限公司招聘?jìng)淇碱}庫(kù)有答案詳解
- 黑龍江省哈爾濱市師范大學(xué)附中2026屆數(shù)學(xué)高三第一學(xué)期期末質(zhì)量檢測(cè)模擬試題含解析
- DB32/T+5311-2025+港口與道路工程+固化土施工技術(shù)規(guī)范
- DB31T+1661-2025公共區(qū)域電子屏播控安全管理要求
- 神經(jīng)內(nèi)科護(hù)士長(zhǎng)述職報(bào)告,神經(jīng)內(nèi)科護(hù)士長(zhǎng)年終述職報(bào)告
- 某辦公樓室內(nèi)裝飾工程施工設(shè)計(jì)方案
- 高考復(fù)習(xí)反應(yīng)熱
- 小學(xué)生常用急救知識(shí)PPT
- 中考英語(yǔ)選詞填空專項(xiàng)訓(xùn)練
- TOC-李榮貴-XXXX1118
評(píng)論
0/150
提交評(píng)論