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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

40、使用的方法當然可以讓這些用戶程序一個接一個地串行執(zhí)行,即: 每一時刻只能有一個用戶程序在運行,并執(zhí)行對數(shù)據庫中的數(shù)據的存?。黄渌脩舫绦虮仨毜鹊竭@個用戶程序結束以后方能對數(shù)據庫存取。1. 并發(fā)的目的但是,由于用戶程序在執(zhí)行過程中,隨著時間的不同會需要不同的資源,有時需要CPU,有時需要訪問磁盤,有時需要IO,有時需要通訊等。 這樣,若按照上述串行方式調度就會產生瓶頸現(xiàn)象,因為假如一個用戶程序涉及大量數(shù)據的輸入輸出,則將導致許多系統(tǒng)資源在大部分時間內處于閑置狀。所以,為了充分利用數(shù)據庫資源,發(fā)揮數(shù)據庫共享資源的特點,應該允許多個用戶程序并行地存取數(shù)據庫,這樣就會產生多個用戶程序并發(fā)地存取同一數(shù)據

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

57、流行的大部分數(shù)據庫系統(tǒng)都是基于關系模型的,例如Visual FoxProOracleSQLSybase5.6.2 常見數(shù)據模型1. 層次模型2. 網狀模型3. 關系模型4. 面向對象模型4. 面向對象模型 眾所周知,面向對象是一種認識、描述事物的方法論。面向對象方法以客觀世界中存在的實體對象為基本元素,通過類和繼承來表達事物之間具有的共性和關系,并采用一種比較直接的映射方式很好地實現(xiàn)了抽象封裝復雜性控制信息隱藏等機制4. 面向對象模型 面向對象模型中最基本的概念是對象類對象是現(xiàn)實世界中實體的模型化,與記錄概念相仿,但遠比記錄復雜。每個對象有一個唯一的標識符,把狀態(tài)和行為封裝在一起,其中,對象的

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

59、 5.6 數(shù)據模型及數(shù)據庫的基本類型 5.7 常用數(shù)據庫系統(tǒng)概述5.8 關系數(shù)據庫理論基礎及關系數(shù)據庫管理 系統(tǒng)FoxPro5.7 常用數(shù)據庫系統(tǒng)簡介 數(shù)據庫技術從20世紀60年代后期產生到今天,僅有短短30多年的歷史,但其發(fā)展速度之快、使用范圍之廣是其它技術所遠不及的。40多年以來,已經從第一代的層次數(shù)據庫、網狀數(shù)據庫,第二代的關系數(shù)據庫,發(fā)展到第三代以面向對象模型為主要特征的數(shù)據庫系統(tǒng)。5.7 常用數(shù)據庫系統(tǒng)簡介 數(shù)據庫技術與網絡通信技術、人工智能技術、 等等面向對象程序設計技術、并行計算技術 互相滲透、互相結合,成為當今數(shù)據庫技 術發(fā)展的主要特征。5.7 常用數(shù)據庫系統(tǒng)簡介 從20世紀8

60、0年代以來,數(shù)據庫技術在商業(yè)領域的巨大成功刺激了其它領域對數(shù)據庫技術需求的迅速增長。這些新的領域為數(shù)據庫應用開辟了新的天地,并在應用中提出了一些新的數(shù)據管理的需求,所有這些都直接推動了數(shù)據庫技術的研究與發(fā)展,尤其是面向對象數(shù)據庫系統(tǒng)(Object Oriented Database System,簡稱OODBS)的研究和發(fā)展。5.7 常用數(shù)據庫系統(tǒng)簡介 20世紀90年代后期,信息產業(yè)的發(fā)展勢頭異常迅猛,數(shù)據庫技術在其中起著舉足輕重的作用。下面介紹幾個流行的數(shù)據庫產品和數(shù)據庫快速開發(fā)工具。5.7 常用數(shù)據庫系統(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論