計(jì)算機(jī)軟件技術(shù)基礎(chǔ)第5章_數(shù)據(jù)庫技術(shù)課件_第1頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)第5章_數(shù)據(jù)庫技術(shù)課件_第2頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)第5章_數(shù)據(jù)庫技術(shù)課件_第3頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)第5章_數(shù)據(jù)庫技術(shù)課件_第4頁
計(jì)算機(jī)軟件技術(shù)基礎(chǔ)第5章_數(shù)據(jù)庫技術(shù)課件_第5頁
已閱讀5頁,還剩372頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程 5.4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù) 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程 5.4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù) 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro5.1 數(shù)據(jù)庫技術(shù)的重要性在現(xiàn)實(shí)生活

2、中,庫是隨處可見的,例如 書庫 金庫 倉庫 設(shè)立各種各樣庫的目的,一是存放東西,二是方便查找,所以存放的東西一定要按某種規(guī)則存放。數(shù)據(jù)庫顧名思義就是存放數(shù)據(jù)的倉庫,但數(shù)據(jù)庫對數(shù)據(jù)的存放不是簡單的堆積,而是經(jīng)過了科學(xué)的管理和組織,使其便于查找和處理。那么,為什么要發(fā)展數(shù)據(jù)庫技術(shù)呢? 從20世紀(jì)50年代開始,計(jì)算機(jī)的應(yīng)用由科學(xué)計(jì)算逐漸擴(kuò)展到企業(yè)、行政等社會各領(lǐng)域,數(shù)據(jù)及事務(wù)處理成為計(jì)算機(jī)的主要應(yīng)用。有人統(tǒng)計(jì),在科學(xué)計(jì)算、數(shù)據(jù)處理和過程控制這計(jì)算機(jī)三大應(yīng)用中,數(shù)據(jù)處理所占比例為70%左右。5.1 數(shù)據(jù)庫技術(shù)的重要性那么,為什么要發(fā)展數(shù)據(jù)庫技術(shù)呢? 計(jì)算機(jī)的作用已經(jīng)不再僅僅是進(jìn)行數(shù)值近似,更多的是用于

3、數(shù)據(jù)的加工和管理。例如, 圖書資料的管理 天文氣象觀測數(shù)據(jù)的管理 銀行帳目的管理 行政事務(wù)的管理等這些應(yīng)用的主要目的是對各種類型的數(shù)據(jù)進(jìn)行綜合、分析和加工,計(jì)算則居于次要位置。這些數(shù)據(jù)的特點(diǎn)是數(shù)據(jù)量龐大、結(jié)構(gòu)比較復(fù)雜,所以需要探求新的、更為有效的處理方法。5.1 數(shù)據(jù)庫技術(shù)的重要性數(shù)據(jù)庫是20世紀(jì)60年代末發(fā)展起來的計(jì)算機(jī)數(shù)據(jù)處理的最新技術(shù),它的產(chǎn)生使計(jì)算機(jī)應(yīng)用進(jìn)入到人類社會中的經(jīng)濟(jì)、貿(mào)易、生產(chǎn)、政務(wù)等各個(gè)領(lǐng)域,已經(jīng)成為各級政府、各個(gè)企業(yè)信息管理的重要手段。數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,也是計(jì)算機(jī)應(yīng)用領(lǐng)域中最成功的一個(gè)方面。5.1 數(shù)據(jù)庫技術(shù)的重要性當(dāng)前: 面向?qū)ο髷?shù)據(jù)庫、

4、多媒體數(shù)據(jù)庫、 并行數(shù)據(jù)庫、 有著廣泛的應(yīng)用 空間數(shù)據(jù)庫、 工程數(shù)據(jù)庫 未來社會是信息化社會,信息已經(jīng)變成經(jīng)濟(jì)發(fā)展的戰(zhàn)略資源,而數(shù)據(jù)庫是信息化社會資源管理與開發(fā)利用的基礎(chǔ)。因此,數(shù)據(jù)庫的建設(shè)規(guī)模和應(yīng)用水平已經(jīng)成為衡量一個(gè)國家信息化程度的重要標(biāo)志。5.1 數(shù)據(jù)庫技術(shù)的重要性第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程 5.4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù) 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro5.2 數(shù)據(jù)庫技術(shù)的基本概念5.2.1 信息5

5、.2.2 數(shù)據(jù)5.2.3 信息與數(shù)據(jù)的關(guān)系5.2.4 數(shù)據(jù)處理5.2.5 數(shù)據(jù)管理5.2 數(shù)據(jù)庫技術(shù)的基本概念5.2.1 信息5.2.2 數(shù)據(jù)5.2.3 信息與數(shù)據(jù)的關(guān)系5.2.4 數(shù)據(jù)處理5.2.5 數(shù)據(jù)管理5.2.1 信息一般來說,信息是客觀世界的事物在人們頭腦中的抽象反映,是通過人的感官感知并對客觀事物狀態(tài)、特性、特征的描述。 信息具有許多重要的特點(diǎn): 信息來源于現(xiàn)實(shí)世界;信息是可以被感知和理解的;信息是可以被加工、存儲、檢索、應(yīng)用、傳遞和再生的。 這些特點(diǎn)構(gòu)成了信息最重要的自然屬性。5.2 數(shù)據(jù)庫技術(shù)的基本概念5.2.1 信息5.2.2 數(shù)據(jù)5.2.3 信息與數(shù)據(jù)的關(guān)系5.2.4 數(shù)據(jù)

6、處理5.2.5 數(shù)據(jù)管理5.2.2 數(shù)據(jù)從本質(zhì)上說,數(shù)據(jù)是對客觀事物特征的一種抽象的、符號化的表示,即用一定的符號表示那些從觀察或測量中所收集到的基本事實(shí),是可以識別的信息。數(shù)據(jù)是數(shù)據(jù)庫系統(tǒng)研究和處理的對象。5.2.2 數(shù)據(jù)值得注意的是,不要把數(shù)據(jù)僅僅理解成“數(shù)字”。除了普通意義上的數(shù)字外,還包括: 字符圖形圖像聲音甚至是程序員編寫的源程序它是編譯程序所使用的數(shù)據(jù),只是數(shù)據(jù)類型不同。所以,從更廣泛意義上講,數(shù)據(jù)是所有能輸入到計(jì)算機(jī)中并被計(jì)算機(jī)程序處理的符號的集合。5.2 數(shù)據(jù)庫技術(shù)的基本概念5.2.1 信息5.2.2 數(shù)據(jù)5.2.3 信息與數(shù)據(jù)的關(guān)系5.2.4 數(shù)據(jù)處理5.2.5 數(shù)據(jù)管理5.

7、2.3 信息與數(shù)據(jù)的關(guān)系信息與數(shù)據(jù)是既有聯(lián)系又有區(qū)別的,二者密不可分。 未經(jīng)處理的信息只是基本素材,只有通過消化、解釋或處理的信息對人們來說才是有用的數(shù)據(jù)。數(shù)據(jù)是信息存在的一種形式。數(shù)據(jù)表示了信息,是信息的載體。信息是數(shù)據(jù)的內(nèi)涵,數(shù)據(jù)則是表示信息的一種手段。5.2.3 信息與數(shù)據(jù)的關(guān)系信息與數(shù)據(jù)是既有聯(lián)系又有區(qū)別的,二者密不可分。 同時(shí),信息是抽象的,不隨數(shù)據(jù)設(shè)備所決定的數(shù)據(jù)形式而改變,但數(shù)據(jù)的表示方式卻具有可選擇性。盡管信息與數(shù)據(jù)兩者在概念上不盡相同,但通常人們并不嚴(yán)格去區(qū)分它們,例如,數(shù)據(jù)處理一般也稱為信息處理。5.2 數(shù)據(jù)庫技術(shù)的基本概念5.2.1 信息5.2.2 數(shù)據(jù)5.2.3 信息與

8、數(shù)據(jù)的關(guān)系5.2.4 數(shù)據(jù)處理5.2.5 數(shù)據(jù)管理5.2.4 數(shù)據(jù)處理當(dāng)把客觀事物表示成數(shù)據(jù)后,這些數(shù)據(jù)便被人們賦予了特定的含義,從而為人們提供了不必直接觀察和度量事物就可以獲得有關(guān)信息的手段。數(shù)據(jù)處理基本含義是從某些已知的數(shù)據(jù)出發(fā),推導(dǎo)出一些新的數(shù)據(jù),這些新的數(shù)據(jù)又表示了新的信息。數(shù)據(jù)處理的目的就是根據(jù)人們的需要,從大量的數(shù)據(jù)中抽取出對人們來說是特定的、有意義有價(jià)值的數(shù)據(jù),并作為決策和行動的依據(jù),它是對數(shù)據(jù)進(jìn)行采集、整理、分類、存儲、檢索、統(tǒng)計(jì)、維護(hù)和傳輸?shù)纫幌盗谢顒拥目偡Q。5.2 數(shù)據(jù)庫技術(shù)的基本概念5.2.1 信息5.2.2 數(shù)據(jù)5.2.3 信息與數(shù)據(jù)的關(guān)系5.2.4 數(shù)據(jù)處理5.2.5

9、 數(shù)據(jù)管理5.2.5 數(shù)據(jù)管理數(shù)據(jù)管理指的是對數(shù)據(jù)的 分類 組織 編碼 定位 存儲 檢索 維護(hù)它是數(shù)據(jù)處理的中心問題,并且是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共同部分??梢姡瑪?shù)據(jù)管理技術(shù)的優(yōu)劣,直接影響數(shù)據(jù)處理的效率。第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程 5.4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù) 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程過去,各種數(shù)據(jù)都是以書面形式保存在紙上,這樣做的優(yōu)點(diǎn)是直觀,但也有諸如 占

10、用空間大 耗費(fèi)人力大 查找不方便 等缺點(diǎn)。 不安全、 保密性差自從電子數(shù)字計(jì)算機(jī)問世以來,數(shù)據(jù)管理隨著計(jì)算機(jī)軟件和硬件的發(fā)展而發(fā)展,大體上經(jīng)歷了3個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段。5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程5.3.1 人工管理階段5.3.2 文件系統(tǒng)階段5.3.3 數(shù)據(jù)庫系統(tǒng)階段5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程5.3.1 人工管理階段5.3.2 文件系統(tǒng)階段5.3.3 數(shù)據(jù)庫系統(tǒng)階段5.3.1 人工管理階段 人工管理階段是數(shù)據(jù)管理的初始階段,可以說是管理的最低級階段。這一階段主要在20世紀(jì)50年代中期以前。當(dāng)時(shí)計(jì)算機(jī)的發(fā)展剛剛起步,主要應(yīng)用領(lǐng)域是科學(xué)計(jì)算,數(shù)據(jù)量不大。

11、從硬件方面看,計(jì)算機(jī)內(nèi)存空間小,計(jì)算速度低;外存只有磁帶、卡片、紙帶等,沒有像磁盤等這樣的隨機(jī)存取的存儲設(shè)備。從軟件方面看,計(jì)算機(jī)沒有操作系統(tǒng),更沒有數(shù)據(jù)管理軟件,數(shù)據(jù)管理者是人。5.3.1 人工管理階段人工管理階段數(shù)據(jù)管理的特點(diǎn)是:(1)數(shù)據(jù)不保存 由于當(dāng)時(shí)計(jì)算機(jī)主要用于科學(xué)計(jì)算,側(cè)重于提高計(jì)算的速度和精度,相對而言,數(shù)據(jù)量較少,一般不需要將數(shù)據(jù)長期保存,數(shù)據(jù)一經(jīng)用完,立刻撤走。在進(jìn)行某一課題研究時(shí),將原始數(shù)據(jù)輸入計(jì)算機(jī),運(yùn)算處理完成后將結(jié)果輸出。隨著任務(wù)的完成,用戶作業(yè)退出計(jì)算機(jī)系統(tǒng),數(shù)據(jù)空間也隨之釋放。5.3.1 人工管理階段人工管理階段數(shù)據(jù)管理的特點(diǎn)是:(2)人工管理數(shù)據(jù) 由于當(dāng)時(shí)沒有

12、相應(yīng)的軟件系統(tǒng)對數(shù)據(jù)進(jìn)行管理,應(yīng)用程序中涉及的數(shù)據(jù)由程序員自己管理,即人工對數(shù)據(jù)進(jìn)行管理。這樣,程序員不僅需要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且在程序中還要設(shè)計(jì)其物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)、存取方法、輸入輸出方式等),并通過物理地址來存儲數(shù)據(jù)。5.3.1 人工管理階段人工管理階段數(shù)據(jù)管理的特點(diǎn)是:(3)數(shù)據(jù)與程序不具有獨(dú)立性程序往往是和數(shù)據(jù)結(jié)合從而成為一個(gè)有機(jī)的整體,這時(shí),數(shù)據(jù)作為程序不可缺少的一部分而存在,這就導(dǎo)致程序與數(shù)據(jù)密切相關(guān),即數(shù)據(jù)與程序不具有獨(dú)立性。程序高度依賴于數(shù)據(jù)的結(jié)果是,數(shù)據(jù)在存儲位置上若稍有變動,整個(gè)程序就必須全部進(jìn)行修改,編程效率低,程序不靈活而且容易出錯(cuò)。5.3.1 人工管理階段人工

13、管理階段數(shù)據(jù)管理的特點(diǎn)是:(4)數(shù)據(jù)面向應(yīng)用數(shù)據(jù)是面向應(yīng)用的,即一組數(shù)據(jù)只能對應(yīng)于一個(gè)程序,一個(gè)程序的數(shù)據(jù)不能被另一個(gè)程序所使用。但各應(yīng)用程序處理的數(shù)據(jù)不會全無關(guān)系,當(dāng)多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),由于必須各自定義,無法相互利用、互相參照。所以程序與程序之間就會有大量重復(fù)的冗余數(shù)據(jù),即數(shù)據(jù)不具備共享性。5.3.1 人工管理階段人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系圖如圖5.1所示。圖5.1 人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系 5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程5.3.1 人工管理階段5.3.2 文件系統(tǒng)階段5.3.3 數(shù)據(jù)庫系統(tǒng)階段5.3.2 文件系統(tǒng)階段這一階段大約是在20世紀(jì)50

14、年代后期至60年代中期。從硬件方面看,計(jì)算機(jī)內(nèi)存空間增大,計(jì)算速度得到了很大的提高,外存儲器有了磁盤、磁鼓等快速、直接存取的存儲設(shè)備。5.3.2 文件系統(tǒng)階段同時(shí),計(jì)算機(jī)的應(yīng)用范圍不斷擴(kuò)大,不僅用于科學(xué)計(jì)算,還大量用于管理。由于數(shù)據(jù)量的增加, 數(shù)據(jù)的存儲 檢索和 維護(hù) 成為非常迫切的任務(wù)。這樣,導(dǎo)致了數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理軟件的迅速發(fā)展。軟件方面出現(xiàn)了高級語言和操作系統(tǒng),且操作系統(tǒng)中已經(jīng)有了專門管理外存的數(shù)據(jù)管理軟件文件系統(tǒng)。5.3.2 文件系統(tǒng)階段這一時(shí)期數(shù)據(jù)管理的特點(diǎn)是:(1)數(shù)據(jù)可以長期保留由于計(jì)算機(jī)大量用于數(shù)據(jù)處理方面,這樣,數(shù)據(jù)就需要長期保留在外存上以便反復(fù)使用。能夠?qū)⒁慌鷶?shù)據(jù)以一個(gè)文件

15、的形式保存在磁盤等外存儲器上,為數(shù)據(jù)的長期保存和反復(fù)使用(插入、查詢、刪除、修改等)提供了保證。 5.3.2 文件系統(tǒng)階段這一時(shí)期數(shù)據(jù)管理的特點(diǎn)是:(2)文件系統(tǒng)提供了程序與數(shù)據(jù)之間的存取方法 文件管理方式是把待加工處理的數(shù)據(jù)組織成數(shù)據(jù)文件,文件可以命名,一旦命名以后,程序中便可以通過文件名邏輯性地存取文件中的數(shù)據(jù),解脫了程序員直接與物理設(shè)備打交道的沉重負(fù)擔(dān)。 5.3.2 文件系統(tǒng)階段這一時(shí)期數(shù)據(jù)管理的特點(diǎn)是:(2)文件系統(tǒng)提供了程序與數(shù)據(jù)之間的存取方法 當(dāng)然,二者之間需要一個(gè)轉(zhuǎn)換過程,這是由文件系統(tǒng)自動完成的。即文件管理系統(tǒng)作為程序和數(shù)據(jù)之間的一個(gè)接口,擔(dān)負(fù)著數(shù)據(jù)的邏輯組織到物理組織之間的映

16、射任務(wù),程序中不再涉及任何物理細(xì)節(jié)。 5.3.2 文件系統(tǒng)階段這一時(shí)期數(shù)據(jù)管理的特點(diǎn)是: (3)文件類型多樣化 由于有了直接存取設(shè)備,也就出現(xiàn)了順序文件、索引文件和隨機(jī)文件等多種文件組織形式,對文件的訪問呈現(xiàn)多樣化。5.3.2 文件系統(tǒng)階段這一時(shí)期數(shù)據(jù)管理的特點(diǎn)是: (4)程序與數(shù)據(jù)具有一定的獨(dú)立性 利用“按文件名訪問,按記錄進(jìn)行存取”的管理技術(shù),使得程序與數(shù)據(jù)具有了一定的獨(dú)立性,這樣程序員可以集中精力于算法上,而不必過多地考 慮物理細(xì)節(jié),并且數(shù)據(jù)在存儲位置上的改變不一定反映在主程序上,這樣可以大大節(jié)省維護(hù)程序的工作量。但文件結(jié)構(gòu)的設(shè)計(jì)仍然基于特定的用途,程序基于特定的物理結(jié)構(gòu)和存取方法,因此

17、,程序與數(shù)據(jù)結(jié)構(gòu)之間的依賴關(guān)系并未根本解決。5.3.2 文件系統(tǒng)階段這一時(shí)期數(shù)據(jù)管理的特點(diǎn)是: (5)數(shù)據(jù)冗余度較大文件系統(tǒng)階段的文件仍然由應(yīng)用程序來定義,當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時(shí),也必須建立各自的數(shù)據(jù)文件。所以,此時(shí)也存在著數(shù)據(jù)冗余度大、空間浪費(fèi)、文件不易擴(kuò)充、修改費(fèi)時(shí)間等問題。5.3.2 文件系統(tǒng)階段這一時(shí)期數(shù)據(jù)管理的特點(diǎn)是: (6)數(shù)據(jù)面向應(yīng)用雖然文件系統(tǒng)階段的數(shù)據(jù)管理與人工管理階段相比有了很大的改進(jìn),但是,仍然存在著很大的弱點(diǎn),即文件本身基本上還是對應(yīng)于一個(gè)或幾個(gè)應(yīng)用程序,或者說數(shù)據(jù)還是面向應(yīng)用的。5.3.2 文件系統(tǒng)階段文件系統(tǒng)階段的應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系如圖5.2

18、所示。圖5.2 文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系 5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程5.3.1 人工管理階段5.3.2 文件系統(tǒng)階段5.3.3 數(shù)據(jù)庫系統(tǒng)階段5.3.3 數(shù)據(jù)庫系統(tǒng)階段針對文件方式的弊端,從20世紀(jì)60年代后期開始出現(xiàn)了數(shù)據(jù)庫技術(shù)。 數(shù)據(jù)庫技術(shù)的目標(biāo):首先是克服程序與文件的相互依存,力求數(shù)據(jù)獨(dú)立;其次是重在表現(xiàn)數(shù)據(jù)之間的聯(lián)系,還要克服數(shù)據(jù)的冗余,并解決數(shù)據(jù)安全性和完整性保護(hù)問題。5.3.3 數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫是當(dāng)今計(jì)算機(jī)系統(tǒng)的一個(gè)重要組成部分,我們很難用幾句話嚴(yán)格、簡明地概括它的全部特征。事實(shí)上,現(xiàn)在數(shù)據(jù)庫的定義也是各式各樣、不盡相同的,這是人們從不同角度用不同觀點(diǎn)來看

19、待數(shù)據(jù)庫的結(jié)果。產(chǎn)生這種情況的另一個(gè)原因是數(shù)據(jù)庫技術(shù)本身是逐漸形成的,而且直到今天還在發(fā)展之中,從而人們對它的認(rèn)識也是一個(gè)歷史的發(fā)展過程。我們只能從數(shù)據(jù)管理的進(jìn)展指出數(shù)據(jù)庫的特點(diǎn),給數(shù)據(jù)庫一個(gè)輪廓性的描述。5.3.3 數(shù)據(jù)庫系統(tǒng)階段從20世紀(jì)70年代以來,計(jì)算機(jī)被越來越多地應(yīng)用于管理領(lǐng)域。人們稱現(xiàn)代社會是一個(gè)信息化社會,數(shù)據(jù)量急劇增漲,管理規(guī)模更加龐大,人們對數(shù)據(jù)共享的要求更為強(qiáng)烈(共享的含義是多種應(yīng)用、多種語言互相覆蓋地共享數(shù)據(jù)集合,如圖5.3所示)。 從硬件上看,隨著大規(guī)模集成電路的發(fā)展,計(jì)算機(jī)硬件價(jià)格大大下降,計(jì)算速度更快,且逐漸出現(xiàn)大容量的磁盤、光盤等直接存取設(shè)備。 但同時(shí)軟件的價(jià)格卻

20、在不斷上升,以文件系統(tǒng)作為數(shù)據(jù)管理的方法已經(jīng)不能滿足實(shí)際應(yīng)用的需要。 為了滿足多用戶、多應(yīng)用共享數(shù)據(jù)的需求,使數(shù)據(jù)為盡可能多的應(yīng)用服務(wù),軟件上出現(xiàn)了數(shù)據(jù)庫這樣的數(shù)據(jù)管理技術(shù),并出現(xiàn)了對數(shù)據(jù)進(jìn)行統(tǒng)一管理的專門軟件數(shù)據(jù)庫管理系統(tǒng)。程序A程序B程序C程序D圖5.3 數(shù)據(jù)共享示意圖 5.3.3 數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫技術(shù)發(fā)展到今天,已經(jīng)是一門成熟的技術(shù)。無論是從數(shù)據(jù)庫的技術(shù)水平,還是從數(shù)據(jù)庫的應(yīng)用水平,今天與過去不可同日而語,但數(shù)據(jù)庫的基本特征沒有變。 5.3.3 數(shù)據(jù)庫系統(tǒng)階段概括起來,數(shù)據(jù)庫技術(shù)有如下一些特點(diǎn)。 (1)數(shù)據(jù)結(jié)構(gòu)化,這是數(shù)據(jù)庫的主要特征之一數(shù)據(jù)庫有復(fù)雜的數(shù)據(jù)模型(數(shù)據(jù)結(jié)構(gòu)),如 網(wǎng)狀模

21、型 樹狀模型 關(guān)系模型可以變長記錄格式存儲數(shù)據(jù),這樣可以大大減少數(shù)據(jù)的冗余度、節(jié)省空間、減少存取時(shí)間。5.3.3 數(shù)據(jù)庫系統(tǒng)階段(1)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)的冗余有時(shí)難以避免,甚至有時(shí)為了某種需要有意地重復(fù)存儲數(shù)據(jù)而帶來其他方便。所以,我們只說“減少”數(shù)據(jù)的冗余而不提“避免”數(shù)據(jù)的冗余。 5.3.3 數(shù)據(jù)庫系統(tǒng)階段概括起來,數(shù)據(jù)庫技術(shù)有如下一些特點(diǎn)。 (2)數(shù)據(jù)庫設(shè)計(jì)時(shí)面向數(shù)據(jù)模型對象設(shè)計(jì)數(shù)據(jù)庫時(shí)要站在全局需要的角度,抽象和組織數(shù)據(jù)要完整、準(zhǔn)確地描述自身和數(shù)據(jù)之間聯(lián)系要建立適合整體需要的數(shù)據(jù)模型。數(shù)據(jù)庫系統(tǒng)是以數(shù)據(jù)模型為基礎(chǔ)的,各種應(yīng)用程序都建立在數(shù)據(jù)庫之上,這就決定了它的設(shè)計(jì)特點(diǎn),即先設(shè)計(jì)數(shù)據(jù)庫,再

22、設(shè)計(jì)程序功能。5.3.3 數(shù)據(jù)庫系統(tǒng)階段概括起來,數(shù)據(jù)庫技術(shù)有如下一些特點(diǎn)。 (3)數(shù)據(jù)的獨(dú)立性這是數(shù)據(jù)庫的另一個(gè)主要特征。由于數(shù)據(jù)庫管理系統(tǒng)使得數(shù)據(jù)的定義從程序中分離出去,加上數(shù)據(jù)的存取也由數(shù)據(jù)庫管理系統(tǒng)負(fù)責(zé)。所以,數(shù)據(jù)和程序之間具有較高的獨(dú)立性。從而簡化了應(yīng)用程序的編制,大大減少了應(yīng)用程序開發(fā)、維護(hù)和修改費(fèi)用。5.3.3 數(shù)據(jù)庫系統(tǒng)階段概括起來,數(shù)據(jù)庫技術(shù)有如下一些特點(diǎn)。 (4)數(shù)據(jù)共享度高數(shù)據(jù)庫是從整體角度看待和描述數(shù)據(jù),因而,數(shù)據(jù)庫中同樣的數(shù)據(jù)不會多次重復(fù)出現(xiàn)。數(shù)據(jù)是面向整個(gè)系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個(gè)應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫系統(tǒng)彈性增大,易于擴(kuò)充,可

23、以適合各種用戶的需求。5.3.3 數(shù)據(jù)庫系統(tǒng)階段計(jì)算機(jī)的共享一般是并發(fā)的(concurrency)即許多用戶同時(shí)使用數(shù)據(jù)庫,數(shù)據(jù)庫系統(tǒng)通過數(shù)據(jù)模型和數(shù)據(jù)控制機(jī)制來提高數(shù)據(jù)的共享性。因此,都提供了以下3方面的數(shù)據(jù)控制功能:數(shù)據(jù)的安全性指保護(hù)數(shù)據(jù)以防止不合法的使用,可以采用口令以及核實(shí)用戶身份和檢查用戶權(quán)限等方法,檢查通過才能執(zhí)行允許的操作;完整性包括數(shù)據(jù)的正確性、有效性、相容性,即系統(tǒng)有檢驗(yàn)措施,以控制數(shù)據(jù)在一定范圍內(nèi)有效;并發(fā)控制避免并發(fā)程序之間互相干擾。5.3.3 數(shù)據(jù)庫系統(tǒng)階段概括起來,數(shù)據(jù)庫技術(shù)有如下一些特點(diǎn)。 (5)數(shù)據(jù)存取粒度小 在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)存取的最小粒度(即數(shù)據(jù)存取的最小單

24、位)是數(shù)據(jù)項(xiàng),可以使系統(tǒng)在 查詢 更新 修改 刪除 統(tǒng)計(jì) 等操作時(shí),能以數(shù)據(jù)項(xiàng)為單位進(jìn)行條件表達(dá)和數(shù)據(jù)存取處理,為系統(tǒng)帶來高效性、靈活性和方便性。5.3.3 數(shù)據(jù)庫系統(tǒng)階段概括起來,數(shù)據(jù)庫技術(shù)有如下一些特點(diǎn)。 (6)數(shù)據(jù)面向系統(tǒng)從整體上看,數(shù)據(jù)不是面向應(yīng)用,而是面向系統(tǒng)。應(yīng)用數(shù)據(jù)時(shí)可以有很靈活的方式。例如,可以取整體數(shù)據(jù)的各種合理子集應(yīng)用于不同的系統(tǒng),而當(dāng)應(yīng)用需求改變時(shí),只要重新選取不同的子集即可滿足新的需求。5.3.3 數(shù)據(jù)庫系統(tǒng)階段綜上所述,可以說數(shù)據(jù)庫是個(gè)通用化的綜合性的數(shù)據(jù)集合,它可以為各種用戶提供數(shù)據(jù)共享,并使數(shù)據(jù)具有最小的冗余度以及使數(shù)據(jù)與程序具有較高的獨(dú)立性,而且由于多種程序并發(fā)

25、地使用數(shù)據(jù)庫,所以,應(yīng)能有效地及時(shí)處理數(shù)據(jù),并提供安全性和完整性保證。 要做到上述各點(diǎn),當(dāng)然必須有一個(gè)軟件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)DBMS(Database Management System)在建立、運(yùn)行和維護(hù)時(shí)進(jìn)行集中控制。 5.3.3 數(shù)據(jù)庫系統(tǒng)階段 數(shù)據(jù)庫系統(tǒng)階段應(yīng)用程序和數(shù)據(jù)之間的對應(yīng)關(guān)系如圖5.4所示。圖5.4 數(shù)據(jù)庫系統(tǒng)階段應(yīng)用程序和數(shù)據(jù)之間的對應(yīng)關(guān)系 第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程 5.4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù) 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)

26、據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro5.4 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫系統(tǒng)的核心,是用于建立、使用和維護(hù)數(shù)據(jù)庫的一組軟件。一般情況下,數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)基礎(chǔ)之上,是位于操作系統(tǒng)與用戶之間的一層數(shù)據(jù)管理軟件,負(fù)責(zé)接受和響應(yīng)用戶對數(shù)據(jù)庫的訪問要求,以及對數(shù)據(jù)進(jìn)行統(tǒng)一的管理和控制,數(shù)據(jù)庫內(nèi)的所有活動都是在其控制之下進(jìn)行的。5.4 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)分為多個(gè)程序模塊,每個(gè)程序模塊實(shí)現(xiàn)數(shù)據(jù)庫系統(tǒng)的一種功能。數(shù)據(jù)庫管理系統(tǒng)不僅承擔(dān)執(zhí)行各種應(yīng)用程序?qū)?shù)據(jù)庫中的數(shù)據(jù)的操作命令,還有承擔(dān)數(shù)據(jù)庫的維護(hù)工作,以保證數(shù)據(jù)庫的安全性和完整性。5.4 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)

27、庫管理系統(tǒng)的功能隨系統(tǒng)而異,一般來說,它包括以下幾個(gè)方面。(1)數(shù)據(jù)庫定義功能定義數(shù)據(jù)庫,包括全局邏輯數(shù)據(jù)結(jié)構(gòu)的定義,局部邏輯數(shù)據(jù)結(jié)構(gòu)的定義,存儲結(jié)構(gòu)定義,保密定義以及信息格式定義等。5.4 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)的功能隨系統(tǒng)而異,一般來說,它包括以下幾個(gè)方面。(2)數(shù)據(jù)庫建立和維護(hù)功能,包括數(shù)據(jù)庫的建立,數(shù)據(jù)庫初始數(shù)據(jù)的載入、轉(zhuǎn)換,數(shù)據(jù)庫更新,數(shù)據(jù)庫的轉(zhuǎn)儲和數(shù)據(jù)庫恢復(fù),數(shù)據(jù)庫再組織,數(shù)據(jù)庫結(jié)構(gòu)維護(hù)以及性能監(jiān)視等。5.4 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)的功能隨系統(tǒng)而異,一般來說,它包括以下幾個(gè)方面。(3)數(shù)據(jù)庫操作功能 數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)操作語言實(shí)現(xiàn)對數(shù)據(jù)庫中的數(shù)據(jù)的基本操作,包括檢索

28、、插入、刪除、修改、更新、統(tǒng)計(jì)等。5.4 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)的功能隨系統(tǒng)而異,一般來說,它包括以下幾個(gè)方面。(4)數(shù)據(jù)庫運(yùn)行控制功能,包括系統(tǒng)控制、數(shù)據(jù)存取及更新管理、數(shù)據(jù)完整性及安全性控制和并發(fā)控制等。 所有數(shù)據(jù)庫的操作都要在這些控制程序的統(tǒng)一管理下進(jìn)行,以保證數(shù)據(jù)庫的正確、有效。5.4 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)的功能隨系統(tǒng)而異,一般來說,它包括以下幾個(gè)方面。(5)數(shù)據(jù)通信功能提供數(shù)據(jù)庫管理系統(tǒng)與其他軟件系統(tǒng)進(jìn)行通信的功能,具備與操作系統(tǒng)的聯(lián)機(jī)處理、分時(shí)系統(tǒng)以及遠(yuǎn)程作業(yè)輸入的相應(yīng)接口。第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技

29、術(shù)的發(fā)展歷程 5.4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù) 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro5.5 數(shù)據(jù)庫的安全與保護(hù)數(shù)據(jù)庫的應(yīng)用越來越廣泛,存儲的信息越來越有價(jià)值。一旦這些信息暴露,其后果不可設(shè)想。數(shù)據(jù)庫的特點(diǎn)之一是:為了保證數(shù)據(jù)的安全可靠,數(shù)據(jù)庫管理系統(tǒng)必須提供統(tǒng)一的數(shù)據(jù)保護(hù)功能。數(shù)據(jù)庫系統(tǒng)的安全性保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)主要的性能指標(biāo)之一。數(shù)據(jù)保護(hù)主要指數(shù)據(jù)的:安全性完整性并發(fā)控制等3個(gè)方面,下面我們對它們做一簡單的介紹。5.5 數(shù)據(jù)庫的安全與保護(hù)5.5.1 安全性5.5.2 完整性5.5

30、.3 并發(fā)控制5.5.4 數(shù)據(jù)庫的恢復(fù)5.5 數(shù)據(jù)庫的安全與保護(hù)5.5.1 安全性5.5.2 完整性5.5.3 并發(fā)控制5.5.4 數(shù)據(jù)庫的恢復(fù)5.5.1 安全性數(shù)據(jù)庫中的數(shù)據(jù)是在數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一控制之下的共享數(shù)據(jù)集合,但它又不是任何人都可以隨意訪問和使用的。也就是說,數(shù)據(jù)庫的共享不能是無條件的共享,它只允許有合法使用權(quán)限的用戶訪問他有權(quán)訪問的數(shù)據(jù)。數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的應(yīng)用而造成數(shù)據(jù)泄露、更改和破壞。5.5.1 安全性安全性問題并不是數(shù)據(jù)庫系統(tǒng)所獨(dú)有的,計(jì)算機(jī)系統(tǒng)都存在這個(gè)問題,只是在數(shù)據(jù)庫中大量數(shù)據(jù)集中存放,而且為各用戶直接共享,從而使得安全性問題更為突出。5.5.1

31、 安全性1. 用戶標(biāo)識和鑒別2. 存取控制3. 跟蹤調(diào)查 一般來說,在計(jì)算機(jī)系統(tǒng)中為提高安全性常采取如下一些措施。 5.5.1 安全性1. 用戶標(biāo)識和鑒別2. 存取控制3. 跟蹤調(diào)查1. 用戶標(biāo)識和鑒別用戶標(biāo)識和鑒定是系統(tǒng)提供的最外層安全保護(hù)措施。首先,系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字或身份,系統(tǒng)進(jìn)行核實(shí),鑒定通過后方獲得機(jī)器使用權(quán)。然后,進(jìn)一步核實(shí)用戶往往需要用戶輸入口令,口令是一種使用廣泛的保護(hù)方法。用戶的口令相當(dāng)于打開數(shù)據(jù)庫管理系統(tǒng)的鑰匙,所以,為保密起見,口令常常被隱蔽,不在終端上顯示出來。為了防止有人猜測口令,很多系統(tǒng)限制了每次口令的輸入次數(shù),如果超過了這個(gè)次數(shù),系統(tǒng)將拒絕該用

32、戶進(jìn)入系統(tǒng)。1. 用戶標(biāo)識和鑒別用戶標(biāo)識和鑒定是系統(tǒng)提供的最外層安全保護(hù)措施有時(shí)將用戶的個(gè)人持有物作為用戶身份的標(biāo)識證明,包括磁卡、IC卡、光卡等,在這些標(biāo)識上可以記錄個(gè)人的信息,以便于計(jì)算機(jī)識別。此外,還可以利用用戶的物理特征鑒別用戶。例如,聲音、容貌、指紋等都可以作為鑒別用戶身份的物理特征。5.5.1 安全性1. 用戶標(biāo)識和鑒別2. 存取控制3. 跟蹤調(diào)查2. 存取控制存取控制是數(shù)據(jù)庫管理系統(tǒng)級的安全措施,也是杜絕對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行非法訪問的主要方法。存取控制允許用戶只訪問被授權(quán)的數(shù)據(jù),以及限定不同的用戶有不同的訪問模式,以保證用戶的操作是合法的操作。即對于獲得上機(jī)權(quán)的用戶還要進(jìn)一步根據(jù)

33、用戶權(quán)限分類,系統(tǒng)根據(jù)用戶權(quán)限執(zhí)行存取控制。所謂用戶權(quán)限是指不同的用戶對于不同的數(shù)據(jù)對象允許進(jìn)行的操作權(quán)限。2. 存取控制用戶權(quán)限有以下幾種。(1)基本存取權(quán)限又可分為只讀、讀/寫等。(2)數(shù)據(jù)檢索和處置僅限又可分為檢索、插入、刪除、修改以及它們的某種組合。2. 存取控制用戶權(quán)限有以下幾種。(3)獨(dú)立于數(shù)據(jù)值或與數(shù)據(jù)值有關(guān)的存取權(quán)限 所謂獨(dú)立于數(shù)據(jù)值就是指用戶能否存取某個(gè)數(shù)據(jù)的權(quán)限與數(shù)據(jù)本身的內(nèi)容無關(guān)。例如:用戶不能存取任何職員的工資,不管工資額的大小如何。反之,若依賴于用戶本身的數(shù)據(jù)內(nèi)容或數(shù)據(jù)對象的內(nèi)容則稱為是與數(shù)據(jù)有關(guān)的,例如:用戶U不能查詢工資高于200元的職工工資,或者若用戶的行政級別

34、低于16級,則不能查詢別人的工資。(4)與時(shí)間和地點(diǎn)有關(guān)的存取權(quán)限例如,限制某臺終端在某段時(shí)間內(nèi)存取有關(guān)數(shù)據(jù)。5.5.1 安全性1. 用戶標(biāo)識和鑒別2. 存取控制3. 跟蹤調(diào)查3. 跟蹤調(diào)查上面所介紹的數(shù)據(jù)庫安全性保護(hù)措施都是正面的預(yù)防性措施,它防止非法用戶進(jìn)入數(shù)據(jù)庫進(jìn)入管理系統(tǒng),并從數(shù)據(jù)庫系統(tǒng)中竊取或破壞保密的數(shù)據(jù)。而跟蹤調(diào)查則是一種事后監(jiān)視的安全性保護(hù)措施。例如,使用日志監(jiān)視數(shù)據(jù)庫活動,日志中記載日期、時(shí)間、程序名、地點(diǎn)、所存取的數(shù)據(jù)等項(xiàng)目。這個(gè)日志由數(shù)據(jù)庫管理員監(jiān)督檢查,對于可疑的存取、或者對于高度機(jī)密數(shù)據(jù)的存取都要進(jìn)行調(diào)查。5.5 數(shù)據(jù)庫的安全與保護(hù)5.5.1 安全性5.5.2 完整性

35、5.5.3 并發(fā)控制5.5.4 數(shù)據(jù)庫的恢復(fù)5.5.2 完整性數(shù)據(jù)庫的完整性是指: 數(shù)據(jù)的正確性 數(shù)據(jù)的一致性 數(shù)據(jù)的相容性 保護(hù)數(shù)據(jù)庫的完整性非常重要,它涉及到數(shù)據(jù)庫能否真實(shí)地反映現(xiàn)實(shí)世界。 5.5.2 完整性數(shù)據(jù)庫管理系統(tǒng)必須提供一種功能(也稱完整性檢查)來保證數(shù)據(jù)庫中數(shù)據(jù)的完整性,即檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件(也稱完整性約束條件)它是語義的體現(xiàn)。 例如,公民的身份證號碼必須是唯一的,考試成績只能是在0100分之間等。5.5.2 完整性對數(shù)據(jù)庫完整性產(chǎn)生破壞的主要原因有: 來自操作員的錯(cuò)誤輸入數(shù)據(jù)庫應(yīng)用程序出錯(cuò)數(shù)據(jù)庫中并發(fā)操作控制不正確數(shù)據(jù)冗余引發(fā)的數(shù)據(jù)正本與副本之間的不一致數(shù)據(jù)

36、庫管理系統(tǒng)或操作系統(tǒng)出錯(cuò)系統(tǒng)硬件出錯(cuò)等5.5.2 完整性保證數(shù)據(jù)庫中的數(shù)據(jù)的完整性的方法之一是設(shè)置完整性檢驗(yàn),即通過對數(shù)據(jù)與數(shù)據(jù)之間的邏輯關(guān)系施加約束條件來實(shí)現(xiàn)。對數(shù)據(jù)庫中的數(shù)據(jù)強(qiáng)加的語義約束條件稱為數(shù)據(jù)庫完整性約束條件,也就是現(xiàn)實(shí)世界或系統(tǒng)設(shè)計(jì)者要求數(shù)據(jù)項(xiàng)應(yīng)該滿足的條件。5.5.2 完整性完整性約束條件可以分為以下幾種。(1)數(shù)值的約束指對數(shù)據(jù)取值類型、范圍、精度等規(guī)定例如,規(guī)定年份是四位整數(shù)、月份是1至12的整數(shù)等。(2)結(jié)構(gòu)的約束指數(shù)據(jù)之間聯(lián)系方面的限制 例如,每個(gè)學(xué)生對應(yīng)著一個(gè)學(xué)號,學(xué)號的某個(gè)取值將唯一地決定該學(xué)生的其他方面的數(shù)據(jù)。根據(jù)這個(gè)特點(diǎn),學(xué)號的取值不能為“空”值,并且它必須是“

37、唯一”的,從而,能根據(jù)學(xué)生學(xué)號的“唯一”條件找到某學(xué)生的相關(guān)數(shù)據(jù),如果違反了這種限制,就破壞了結(jié)構(gòu)的約束。5.5.2 完整性完整性約束條件可以分為以下幾種。(3)靜態(tài)約束指對數(shù)據(jù)庫每一確定狀態(tài)的數(shù)據(jù)所應(yīng)滿足的約束條件(1)、(2)兩種約束屬于靜態(tài)約束。(4)動態(tài)約束指的是數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時(shí)新、舊值之間所應(yīng)滿足的約束條件例如,當(dāng)更新職工工資時(shí),若舊工資大于等于800元時(shí)新工資等于舊工 資,否則新工資等于舊工資加上50元,這條約束條件體現(xiàn)了這樣的語義:調(diào)資范圍僅限于工資低于800元的職工。5.5.2 完整性完整性約束條件可以分為以下幾種。(5)立即執(zhí)行約束指在執(zhí)行用戶事務(wù)時(shí),對事務(wù)

38、中某一更新語句執(zhí)行完后馬上對此數(shù)據(jù)所應(yīng)滿足的約束條件進(jìn)行完整性檢查。對于立即執(zhí)行約束,如果發(fā)現(xiàn)用戶操作違反了完整性約束條件,系統(tǒng)將拒絕該操作。5.5.2 完整性完整性約束條件可以分為以下幾種。(6)延遲執(zhí)行約束指在整個(gè)事務(wù)執(zhí)行結(jié)束后方對此約束條件進(jìn)行完整性檢查,結(jié)果正確方能提交 對于延遲執(zhí)行約束,如果發(fā)現(xiàn)用戶操作違反了完整性約束條件,系統(tǒng)將拒絕該事務(wù),并把數(shù)據(jù)庫恢復(fù)到該事務(wù)執(zhí)行前的狀態(tài)。例如,銀行數(shù)據(jù)庫中“借貸總金額應(yīng)平衡”的約束就應(yīng)該屬于延遲執(zhí)行約束。從賬號A轉(zhuǎn)一筆錢到賬號B為一個(gè)事務(wù),從賬號A轉(zhuǎn)出去錢以后就不平衡了,必須等轉(zhuǎn)入到賬號B后才能重新平衡,這時(shí)才能進(jìn)行完整性檢查。5.5.2 完整

39、性從上面的討論可以看出,數(shù)據(jù)庫的安全性和完整性是兩個(gè)不同的概念。安全性措施的防范對象是非法用戶和非法操作,目的是保護(hù)數(shù)據(jù)庫防止惡意的破壞和非法的存取完整性措施的防范對象是數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),目的是防止錯(cuò)誤信息的輸入和輸出當(dāng)然,數(shù)據(jù)的安全性和完整性又是密切相關(guān)的特別是從系統(tǒng)的實(shí)現(xiàn)的方法上來看,某一種機(jī)制常常既可以用于安全保護(hù),也可以用于完整性保護(hù)。5.5 數(shù)據(jù)庫的安全與保護(hù)5.5.1 安全性5.5.2 完整性5.5.3 并發(fā)控制5.5.4 數(shù)據(jù)庫的恢復(fù)5.5.3 并發(fā)控制1. 并發(fā)的目的2. 并發(fā)所引起的問題3. 并發(fā)控制方法1. 并發(fā)的目的數(shù)據(jù)庫是一個(gè)共享資源,可以允許多個(gè)用戶使用。

40、使用的方法當(dāng)然可以讓這些用戶程序一個(gè)接一個(gè)地串行執(zhí)行,即: 每一時(shí)刻只能有一個(gè)用戶程序在運(yùn)行,并執(zhí)行對數(shù)據(jù)庫中的數(shù)據(jù)的存取;其它用戶程序必須等到這個(gè)用戶程序結(jié)束以后方能對數(shù)據(jù)庫存取。1. 并發(fā)的目的但是,由于用戶程序在執(zhí)行過程中,隨著時(shí)間的不同會需要不同的資源,有時(shí)需要CPU,有時(shí)需要訪問磁盤,有時(shí)需要IO,有時(shí)需要通訊等。 這樣,若按照上述串行方式調(diào)度就會產(chǎn)生瓶頸現(xiàn)象,因?yàn)榧偃缫粋€(gè)用戶程序涉及大量數(shù)據(jù)的輸入輸出,則將導(dǎo)致許多系統(tǒng)資源在大部分時(shí)間內(nèi)處于閑置狀。所以,為了充分利用數(shù)據(jù)庫資源,發(fā)揮數(shù)據(jù)庫共享資源的特點(diǎn),應(yīng)該允許多個(gè)用戶程序并行地存取數(shù)據(jù)庫,這樣就會產(chǎn)生多個(gè)用戶程序并發(fā)地存取同一數(shù)據(jù)

41、的情況。5.5.3 并發(fā)控制1. 并發(fā)的目的2. 并發(fā)所引起的問題3. 并發(fā)控制方法 2. 并發(fā)所引起的問題若對并發(fā)操作不加控制,則會存取了不正確的數(shù)據(jù),破壞了數(shù)據(jù)庫的一致性。例如,飛機(jī)訂票系統(tǒng)中: (1)甲售票點(diǎn)讀出某航班的機(jī)票余額A=6;(2)乙售票點(diǎn)讀出同一航班機(jī)票余額A,當(dāng)然也為6;(3)甲售票點(diǎn)預(yù)訂了一張機(jī)票,修改余額AA-1,所以,A變?yōu)?,并把A寫回?cái)?shù)據(jù)庫。 (4)乙售票點(diǎn)預(yù)訂了一張機(jī)票,修改余額AA-1,所以,A也變?yōu)?,并把A寫回?cái)?shù)據(jù)庫。2. 并發(fā)所引起的問題所以,若按上面的次序執(zhí)行,則座位數(shù)減1而不是減2。也就是說,結(jié)果明明是賣出兩張機(jī)票,但數(shù)據(jù)庫中機(jī)票余額只減少1。這種情

42、況稱為數(shù)據(jù)庫的不一致性。這種不一致性是由并發(fā)操作引起的,因?yàn)樵诓l(fā)操作情況下,對甲、乙兩個(gè)用戶活動序列的調(diào)度是隨機(jī)的。2. 并發(fā)所引起的問題若按上面的調(diào)度序列執(zhí)行,用戶甲的修改就被丟失,這是由于第(4)步中用戶乙修改A并寫回后破壞了甲的修改??梢姡魧Σl(fā)的事務(wù)訪問數(shù)據(jù)庫的操作不進(jìn)行有效控制,數(shù)據(jù)庫中的數(shù)據(jù)就有可能變?yōu)椴徽_。2. 并發(fā)所引起的問題并發(fā)操作可能會產(chǎn)生以下幾種不一致性。(1)丟失修改由于兩個(gè)事務(wù)對同一數(shù)據(jù)并發(fā)地寫入而引起例如,兩個(gè)事務(wù)T1和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了T1提交的結(jié)果,T1的修改被丟失。如上面的訂票例子。2. 并發(fā)所引起的問題并發(fā)操作可能會產(chǎn)生以下幾

43、種不一致性。(2)不能重復(fù)讀 指事務(wù)T1讀取某一數(shù)據(jù)后,事務(wù)T2讀取并修改了同一數(shù)據(jù)(更新操作),T1為了對讀取值進(jìn)行校對再讀此數(shù)據(jù),卻得到了不同的結(jié)果,即T1無法再現(xiàn)前一次的讀取結(jié)果。例如,T1讀取A=100,T2讀取A并把A改為200,T1再讀A得200與第一次讀取值不一致。2. 并發(fā)所引起的問題并發(fā)操作可能會產(chǎn)生以下幾種不一致性。(3)“臟”數(shù)據(jù)的讀出 指兩個(gè)或多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),事務(wù)T1修改了某一數(shù)據(jù),并將其寫回;事務(wù)T2在這之后讀取了同一數(shù)據(jù),而T1在未正式提交之前由于某種原因被撤銷,系統(tǒng)就要對事務(wù)T1已經(jīng)修改過的數(shù)據(jù)恢復(fù)原值,這樣,T2讀到的就是不正確的數(shù)據(jù)稱為“臟”數(shù)據(jù),即T2讀

44、到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)產(chǎn)生了不一致。2. 并發(fā)所引起的問題并發(fā)操作可能會產(chǎn)生以下幾種不一致性。(3)“臟”數(shù)據(jù)的讀出 例如,T1把A由100改為200,T2讀到A為200;而T1由于某種原因被撤銷,其修改宣布無效,A恢復(fù)為原值100,而T2卻讀得了A為200,與數(shù)據(jù)庫的內(nèi)容不一致。5.5.3 并發(fā)控制1. 并發(fā)的目的2. 并發(fā)所引起的問題3. 并發(fā)控制方法 3. 并發(fā)控制方法 并發(fā)控制就是要用正確的方式來調(diào)度并發(fā)操作的事務(wù),避免造成數(shù)據(jù)的不一致性,使一個(gè)用戶事務(wù)的執(zhí)行不受其它事務(wù)的干擾。 (1) 封鎖機(jī)制并發(fā)控制的主要方法封鎖就是指某事務(wù)在對某對象執(zhí)行操作前,先要對此對象加上自己的鎖。加鎖

45、后,其他事務(wù)對此對象的操作就受到了規(guī)定的限制。當(dāng)然,該事務(wù)完成自己的操作之后,必須將加上的鎖撤消,以便其他事務(wù)執(zhí)行相應(yīng)的操作。3. 并發(fā)控制方法 例如在上述的訂票例子中,若用戶甲要修改A時(shí),在讀出A前先封鎖A,其它用戶就不能讀取和修改A,直到甲修改完并寫回A以后解除了對A的封鎖為止。這樣,就不會丟失甲的修改了。(2) 封鎖類型基本的封鎖類型有兩種:排它性封鎖和共享性封鎖事務(wù)T對數(shù)據(jù)A建立了排它性封鎖,則只允許T讀取和修改A,其它一切事務(wù)都不能對此對象加鎖,也就不能對此對象執(zhí)行任何操作??梢?,只有數(shù)據(jù)對象未被任何其他事務(wù)加鎖時(shí),對它的排它性封鎖請求才會成功。3. 并發(fā)控制方法 若某數(shù)據(jù)對象被加上

46、了共享性封鎖后,該數(shù)據(jù)對象就不能再被加上排它性封鎖,但可以被多個(gè)事務(wù)加上各自的共享性封鎖。所有對此對象加了共享性封鎖的事務(wù)都可以讀此對象,但不能修改此對象。例如,若事物T對數(shù)據(jù)A建立了共享性封鎖,則T和別的事務(wù)均可讀取A,但不能修改A,其他事務(wù)只能再對A加共享性封鎖,而不能加排它性封鎖,直到T釋放A上的共享性封鎖。3. 并發(fā)控制方法 當(dāng)一個(gè)數(shù)據(jù)對象未被任何事務(wù)加上任何鎖時(shí),一個(gè)事務(wù)發(fā)出的對該數(shù)據(jù)對象的任何鎖的請求都會被滿足。但當(dāng)該數(shù)據(jù)對象已經(jīng)被加上鎖時(shí),對它的其他鎖申請就不一定被滿足。排它性封鎖和共享性封鎖的控制方式可以用表5.1的相容矩陣來表示。3. 并發(fā)控制方法 3. 并發(fā)控制方法 (3)

47、 死鎖及其解除 排它性封鎖可能引起死鎖問題,即系統(tǒng)中的兩個(gè)或更多個(gè)事務(wù)同時(shí)處于等待狀態(tài),且其中的每一個(gè)事務(wù)在它能夠進(jìn)行之前都在等待著另一個(gè)事務(wù)釋放封鎖,結(jié)果造成任何一個(gè)事務(wù)都無法繼續(xù)執(zhí)行,這種現(xiàn)象便是死鎖。3. 并發(fā)控制方法 例如,兩個(gè)事務(wù)T1和T2分別需要數(shù)據(jù)A1和A2,它們在執(zhí)行時(shí),T1封鎖了A1,T2封鎖了A2;然后,T1又申請封鎖A2,同時(shí)T2也申請封鎖A1;因?yàn)門2已經(jīng)封鎖了A2,所以,T1必須等待T2解除封鎖;同理,因?yàn)門1已經(jīng)封鎖了A1,所以,T2也在等待T1解除封鎖。T1和T2都要等待對方數(shù)據(jù)才能進(jìn)行下去。這樣就造成這兩個(gè)事務(wù)相互等待,永遠(yuǎn)不能結(jié)束。3. 并發(fā)控制方法 在數(shù)據(jù)庫

48、中,解決死鎖的方法主要有兩大類:死鎖的預(yù)防和死鎖的解除。死鎖的預(yù)防就是破壞死鎖產(chǎn)生的條件,例如可以采用一次加鎖等方法預(yù)防死鎖,即要求每個(gè)事務(wù)一次就將要用的數(shù)據(jù)全部加鎖。若不能全部加鎖成功,則全部不加鎖,并處于等待狀態(tài);若全部加鎖成功,則可以進(jìn)行執(zhí)行下去。3. 并發(fā)控制方法 可以采用“超時(shí)法”等方法解除死鎖,例如,預(yù)先規(guī)定一個(gè)最大等待時(shí)間,如果一個(gè)事務(wù)的等待時(shí)間超過了此規(guī)定時(shí)間,則認(rèn)為產(chǎn)生了死鎖??梢詮南嚓P(guān)事務(wù)中選擇一個(gè)“犧牲品”打破死鎖,即剝奪它所占有的資源。 感興趣的讀者可參考有關(guān)書籍。5.5 數(shù)據(jù)庫的安全與保護(hù)5.5.1 安全性5.5.2 完整性5.5.3 并發(fā)控制5.5.4 數(shù)據(jù)庫的恢復(fù)

49、5.5.4 數(shù)據(jù)庫的恢復(fù) 數(shù)據(jù)庫中的數(shù)據(jù)是公司或政府部門的重要信息資源,盡管系統(tǒng)具有一定的保護(hù)措施來防止數(shù)據(jù)庫的安全性和完整性受到破壞但是系統(tǒng)中任何硬件的故障軟件的錯(cuò)誤操作失誤以及人為的惡意破壞都是不可避免的5.5.4 數(shù)據(jù)庫的恢復(fù) 無論控制措施多么周密完善,這些故障仍可能導(dǎo)致數(shù)據(jù)庫安全性和完整性的丟失,甚至可以導(dǎo)致系統(tǒng)癱瘓。 例如掉電將會使半導(dǎo)體存儲器中的數(shù)據(jù)遭到破壞;瞬時(shí)的強(qiáng)磁場干擾也會使磁盤、磁帶等磁性存儲設(shè)備上的數(shù)據(jù)受到破壞等。5.5.4 數(shù)據(jù)庫的恢復(fù) 因此,數(shù)據(jù)庫管理系統(tǒng)必須具有檢測故障并把數(shù)據(jù)庫從錯(cuò)誤狀態(tài)中恢復(fù)到某一正確狀態(tài)的功能,這就是數(shù)據(jù)庫的恢復(fù)?;謴?fù)技術(shù)是否有效是數(shù)據(jù)庫系統(tǒng)性

50、能的一個(gè)重要標(biāo)志。各種系統(tǒng)的恢復(fù)技術(shù)和方案不盡相同,但恢復(fù)的基本原理卻是十分簡單,可用一個(gè)詞來概括:即冗余。5.5.4 數(shù)據(jù)庫的恢復(fù) 也就是說,保護(hù)數(shù)據(jù)庫的方法在于保證其中的任何一部分信息可以根據(jù)冗余地存儲在系統(tǒng)別處的其它信息來重建。以數(shù)據(jù)庫的轉(zhuǎn)儲為例所謂轉(zhuǎn)儲,即定期地將整個(gè)數(shù)據(jù)庫復(fù)制到多個(gè)存儲設(shè)備如磁帶、磁盤上保存起來的過程。這些備用的數(shù)據(jù)文本稱為后備副本或后援副本。當(dāng)數(shù)據(jù)庫遭到破壞后就可利用后援副本把數(shù)據(jù)庫有效地加以恢復(fù)。轉(zhuǎn)儲是十分耗費(fèi)資源的,不能頻繁進(jìn)行,應(yīng)根據(jù)數(shù)據(jù)庫使用情況來確定一個(gè)適當(dāng)?shù)霓D(zhuǎn)儲周期。5.5.4 數(shù)據(jù)庫的恢復(fù) 轉(zhuǎn)儲分為靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲。靜態(tài)轉(zhuǎn)儲在轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫進(jìn)

51、行任何操作(包括存取、修改等),即是在系統(tǒng)中沒有事務(wù)運(yùn)行的情況下進(jìn)行的轉(zhuǎn)儲。靜態(tài)轉(zhuǎn)儲比較簡單,且可以保證有一個(gè)一致性的數(shù)據(jù)庫副本,但是轉(zhuǎn)儲必須等到用戶事務(wù)全部結(jié)束后才能進(jìn)行,在轉(zhuǎn)儲期間整個(gè)數(shù)據(jù)庫不能使用,這就降低了數(shù)據(jù)庫的可用性。5.5.4 數(shù)據(jù)庫的恢復(fù) 動態(tài)轉(zhuǎn)儲在轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取等操作,即數(shù)據(jù)轉(zhuǎn)儲和用戶事務(wù)可以并發(fā)執(zhí)行。動態(tài)轉(zhuǎn)儲可以克服靜態(tài)轉(zhuǎn)儲的缺點(diǎn),轉(zhuǎn)儲工作可以隨時(shí)進(jìn)行。但是,由于與事務(wù)并行執(zhí)行,不容易保證轉(zhuǎn)儲結(jié)束時(shí)后備副本上的數(shù)據(jù)的一致性,因此,其實(shí)現(xiàn)技術(shù)要求較高。第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程 5.

52、4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù) 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 我們對模型并不陌生,例如,建筑模型、汽車模型等都是我們熟悉的常見模型。這些模型屬于實(shí)物模型,它們通常是客觀事物的外觀特征或功能特征的模擬與刻畫。此外,還可以用抽象模型來刻畫客觀事物的某些特征,例如一些數(shù)學(xué)模型。通常模型是現(xiàn)實(shí)世界某些特征的模擬和抽象,是對事物、現(xiàn)象、過程等客觀系統(tǒng)的簡化描述,是理解系統(tǒng)的思維工具。5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型5.6.1 什么是數(shù)據(jù)模型 5.6.2 常見數(shù)

53、據(jù)模型 5.6.3 數(shù)據(jù)庫的基本類型5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型5.6.1 什么是數(shù)據(jù)模型 5.6.2 常見數(shù)據(jù)模型 5.6.3 數(shù)據(jù)庫的基本類型5.6.1 什么是數(shù)據(jù)模型由于計(jì)算機(jī)只能存儲和處理數(shù)據(jù),而不能直接存儲和處理現(xiàn)實(shí)世界中的客觀事物所以,必須先把企業(yè)的設(shè)備、產(chǎn)品和人員等客觀事物的某些特征抽象成計(jì)算機(jī)能夠存儲和處理的數(shù)據(jù),才能用計(jì)算機(jī)對其進(jìn)行管理。在計(jì)算機(jī)中,相應(yīng)于每一實(shí)體的數(shù)據(jù)為記錄,相應(yīng)于屬性的數(shù)據(jù)為數(shù)據(jù)項(xiàng)。實(shí)體內(nèi)部的聯(lián)系反映在數(shù)據(jù)上是記錄內(nèi)數(shù)據(jù)項(xiàng)之間的聯(lián)系實(shí)體間的聯(lián)系反映在數(shù)據(jù)上是記錄間的聯(lián)系數(shù)據(jù)模型就是指具有這種聯(lián)系的數(shù)據(jù)結(jié)構(gòu)形式,也就是如何更好地定義各種記錄以及它們之間

54、的相互聯(lián)系。5.6.1 什么是數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)中用于提供信息表示和操作手段的形式框架,是數(shù)據(jù)庫的核心和基礎(chǔ),不僅反映管理數(shù)據(jù)的具體值,而且,更重要的是要根據(jù)數(shù)據(jù)模型表示出數(shù)據(jù)之間的聯(lián)系。5.6.1 什么是數(shù)據(jù)模型5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型5.6.1 什么是數(shù)據(jù)模型 5.6.2 常見數(shù)據(jù)模型 5.6.3 數(shù)據(jù)庫的基本類型5.6.2 常見數(shù)據(jù)模型各國學(xué)者提出了幾十種數(shù)據(jù)模型,但有影響的只有幾種。目前,數(shù)據(jù)庫領(lǐng)域中主要的結(jié)構(gòu)數(shù)據(jù)模型有4種:層次模型網(wǎng)狀模型關(guān)系模型面向?qū)ο竽P?.6.2 常見數(shù)據(jù)模型1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?.6.2 常見數(shù)

55、據(jù)模型1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?. 層次模型 現(xiàn)實(shí)世界中,許多實(shí)體之間的聯(lián)系本身就是一種自然的層次關(guān)系例如,所有單位的行政組織機(jī)構(gòu)都是一種層次關(guān)系。所以,層次模型是數(shù)據(jù)庫系統(tǒng)中出現(xiàn)最早的數(shù)據(jù)模型,它表示的是一對多的聯(lián)系。1. 層次模型 層次模型實(shí)際上是樹,如圖5.5所示。它采用樹形結(jié)構(gòu)表示各類實(shí)體以及實(shí)體之間的聯(lián)系,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄型,結(jié)點(diǎn)之間的連線表示記錄型之間的聯(lián)系,這種聯(lián)系只能是父子關(guān)系;每個(gè)記錄型可以包含若干個(gè)字段。5.6.2 常見數(shù)據(jù)模型1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?. 網(wǎng)狀模型 在現(xiàn)實(shí)世界中,許多事物之間的聯(lián)系

56、更多的是一種非層次的關(guān)系。網(wǎng)狀模型是一種比層次模型更具普遍性的結(jié)構(gòu),它允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系(稱之為復(fù)合聯(lián)系)。網(wǎng)狀模型實(shí)際上是圖。2. 網(wǎng)狀模型 如圖5.6所示。網(wǎng)狀模型中,每個(gè)記錄型對應(yīng)一個(gè)或多個(gè)其他記錄型,每個(gè)記錄型也可以包含若干個(gè)字段。5.6.2 常見數(shù)據(jù)模型1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?. 關(guān)系模型 用二維表格數(shù)據(jù)(即集合論中的關(guān)系)來表示實(shí)體和實(shí)體之間聯(lián)系的模型被稱作關(guān)系模型,如圖5.7所示。3. 關(guān)系模型 二維表格由行和列組成,一行表示一條數(shù)據(jù)記錄,一列表示所有數(shù)據(jù)記錄在特定域的值。一條數(shù)據(jù)記錄描述了一個(gè)應(yīng)用對象的實(shí)例狀態(tài)。3. 關(guān)系模型 現(xiàn)在

57、流行的大部分?jǐn)?shù)據(jù)庫系統(tǒng)都是基于關(guān)系模型的,例如Visual FoxProOracleSQLSybase5.6.2 常見數(shù)據(jù)模型1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?. 面向?qū)ο竽P?眾所周知,面向?qū)ο笫且环N認(rèn)識、描述事物的方法論。面向?qū)ο蠓椒ㄒ钥陀^世界中存在的實(shí)體對象為基本元素,通過類和繼承來表達(dá)事物之間具有的共性和關(guān)系,并采用一種比較直接的映射方式很好地實(shí)現(xiàn)了抽象封裝復(fù)雜性控制信息隱藏等機(jī)制4. 面向?qū)ο竽P?面向?qū)ο竽P椭凶罨镜母拍钍菍ο箢悓ο笫乾F(xiàn)實(shí)世界中實(shí)體的模型化,與記錄概念相仿,但遠(yuǎn)比記錄復(fù)雜。每個(gè)對象有一個(gè)唯一的標(biāo)識符,把狀態(tài)和行為封裝在一起,其中,對象的

58、狀態(tài)是該對象屬性值的集合,對象的行為是在對象狀態(tài)上操作的方法集。共享同一屬性集和方法集的所有對象構(gòu)成一個(gè)類。這就是面向?qū)ο竽P汀?.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型5.6.1 什么是數(shù)據(jù)模型 5.6.2 常見數(shù)據(jù)模型 5.6.3 數(shù)據(jù)庫的基本類型5.6.3 數(shù)據(jù)庫的基本類型與各種數(shù)據(jù)模型相對應(yīng),數(shù)據(jù)庫可以劃分為:層次型數(shù)據(jù)庫網(wǎng)狀型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫面向?qū)ο笮蛿?shù)據(jù)庫例如,以關(guān)系數(shù)據(jù)模型作為數(shù)據(jù)的組織方式的數(shù)據(jù)庫稱為關(guān)系型數(shù)據(jù)庫,其余依此類推。第5章 數(shù)據(jù)庫技術(shù) 5.1 數(shù)據(jù)庫技術(shù)的重要性5.2 數(shù)據(jù)庫技術(shù)的基本概念5.3 數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程 5.4 數(shù)據(jù)庫管理系統(tǒng) 5.5 數(shù)據(jù)庫的安全與保護(hù)

59、 5.6 數(shù)據(jù)模型及數(shù)據(jù)庫的基本類型 5.7 常用數(shù)據(jù)庫系統(tǒng)概述5.8 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)及關(guān)系數(shù)據(jù)庫管理 系統(tǒng)FoxPro5.7 常用數(shù)據(jù)庫系統(tǒng)簡介 數(shù)據(jù)庫技術(shù)從20世紀(jì)60年代后期產(chǎn)生到今天,僅有短短30多年的歷史,但其發(fā)展速度之快、使用范圍之廣是其它技術(shù)所遠(yuǎn)不及的。40多年以來,已經(jīng)從第一代的層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫,第二代的關(guān)系數(shù)據(jù)庫,發(fā)展到第三代以面向?qū)ο竽P蜑橹饕卣鞯臄?shù)據(jù)庫系統(tǒng)。5.7 常用數(shù)據(jù)庫系統(tǒng)簡介 數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)通信技術(shù)、人工智能技術(shù)、 等等面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)、并行計(jì)算技術(shù) 互相滲透、互相結(jié)合,成為當(dāng)今數(shù)據(jù)庫技 術(shù)發(fā)展的主要特征。5.7 常用數(shù)據(jù)庫系統(tǒng)簡介 從20世紀(jì)8

60、0年代以來,數(shù)據(jù)庫技術(shù)在商業(yè)領(lǐng)域的巨大成功刺激了其它領(lǐng)域?qū)?shù)據(jù)庫技術(shù)需求的迅速增長。這些新的領(lǐng)域?yàn)閿?shù)據(jù)庫應(yīng)用開辟了新的天地,并在應(yīng)用中提出了一些新的數(shù)據(jù)管理的需求,所有這些都直接推動了數(shù)據(jù)庫技術(shù)的研究與發(fā)展,尤其是面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(Object Oriented Database System,簡稱OODBS)的研究和發(fā)展。5.7 常用數(shù)據(jù)庫系統(tǒng)簡介 20世紀(jì)90年代后期,信息產(chǎn)業(yè)的發(fā)展勢頭異常迅猛,數(shù)據(jù)庫技術(shù)在其中起著舉足輕重的作用。下面介紹幾個(gè)流行的數(shù)據(jù)庫產(chǎn)品和數(shù)據(jù)庫快速開發(fā)工具。5.7 常用數(shù)據(jù)庫系統(tǒng)簡介5.7.1 FoxPro 5.7.2 Visual FoxPro 5.7.3 SQ

溫馨提示

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

評論

0/150

提交評論