![專升本數(shù)據(jù)庫知識_第1頁](http://file4.renrendoc.com/view/c4da18255f4275cec5c67d285f1c7b56/c4da18255f4275cec5c67d285f1c7b561.gif)
![專升本數(shù)據(jù)庫知識_第2頁](http://file4.renrendoc.com/view/c4da18255f4275cec5c67d285f1c7b56/c4da18255f4275cec5c67d285f1c7b562.gif)
![專升本數(shù)據(jù)庫知識_第3頁](http://file4.renrendoc.com/view/c4da18255f4275cec5c67d285f1c7b56/c4da18255f4275cec5c67d285f1c7b563.gif)
![專升本數(shù)據(jù)庫知識_第4頁](http://file4.renrendoc.com/view/c4da18255f4275cec5c67d285f1c7b56/c4da18255f4275cec5c67d285f1c7b564.gif)
![專升本數(shù)據(jù)庫知識_第5頁](http://file4.renrendoc.com/view/c4da18255f4275cec5c67d285f1c7b56/c4da18255f4275cec5c67d285f1c7b565.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)是與數(shù)據(jù)庫技術(shù)密切相關(guān)的四個基本概念。一、數(shù)據(jù)(Data)數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)在大多數(shù)人頭腦中的第一個反應(yīng)就是數(shù)宇。其實數(shù)字只是最簡單的一種數(shù)據(jù),是數(shù)據(jù)的一種傳統(tǒng)和狹義的理解。廣義的理解,數(shù)據(jù)的種類很多,文字、圖形、圖像、聲音、學(xué)生的檔案記錄、貨物的運(yùn)輸情況等,這些都是數(shù)據(jù)??梢詫?shù)據(jù)做如下定義:描述事物的符號記錄稱為數(shù)據(jù)。描述事物的符號可以是數(shù)字,也可以是文字、圖形、圖像、聲音、語言等,數(shù)據(jù)有多種表現(xiàn)形式,它們都可以經(jīng)過數(shù)字化后存入計算機(jī)。為了了解世界,交流信息,人們需要描述這些事物。在日常生活中直接用自然語言(如漢語)描述。在計算機(jī)中,為了存儲和處理這些事物,就要抽出對這些事物感興趣的特征組成一個記錄來描述。例如:在學(xué)生檔案中,如果人們最感興趣的是學(xué)生的姓名、性別、年齡、出生年月、籍貫、所在系別、入學(xué)時間,那么可以這樣描述:(李明,男,21,1972,江蘇,計算機(jī)系,1990)因此這里的學(xué)生記錄就是數(shù)據(jù)。對于上面這條學(xué)生記錄,了解其含義的人會得到如下信息:李明是個大學(xué)生,1972年出生,男,江蘇人,1990年考入計算機(jī)系;而不了解其語義的人則無法理解其含義。可見,數(shù)據(jù)的形式還不能完全表達(dá)其內(nèi)容,需要經(jīng)過解釋。所以數(shù)據(jù)和關(guān)于數(shù)據(jù)的解釋是不可分的,數(shù)據(jù)的解釋是指對數(shù)據(jù)含義的說明,數(shù)據(jù)的含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與其語義是不可分的。二、數(shù)據(jù)庫(DataBase,簡稱DB)數(shù)據(jù)庫,顧名思義,是存放數(shù)據(jù)的倉庫。只不過這個倉庫是在計算機(jī)存儲設(shè)備上,而且數(shù)據(jù)是按一定的格式存放的。人們收集并抽取出一個應(yīng)用所需要的大量數(shù)據(jù)之后,應(yīng)將其保存起來以供進(jìn)一步加工處理,進(jìn)一步抽取有用信息。在科學(xué)技術(shù)飛速發(fā)展的今天,人們的視野越來越廣,數(shù)據(jù)量急劇增加。過去人們把數(shù)據(jù)存放在文件柜里,現(xiàn)在人們借助計算機(jī)和數(shù)據(jù)庫技術(shù)科學(xué)地保存和管理大量的復(fù)雜的數(shù)據(jù),以便能方便而充分地利用這些寶貴的信息資源。所謂數(shù)據(jù)庫是長期儲存在計算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴(kuò)展性,并可為各種用戶共享。三、數(shù)據(jù)庫管理系桶(DataBaseManagementSystem,簡稱DBMS)了解了數(shù)據(jù)和數(shù)據(jù)庫的概念,下一個問題就是如何科學(xué)地組織和存儲數(shù)據(jù),如何高效地獲取和維護(hù)數(shù)據(jù)。完成這個任務(wù)的是一個系統(tǒng)軟件——數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。它的主要功能包括以下幾個方面:1、數(shù)據(jù)定義功能DBMS提供數(shù)據(jù)定義語言(DataDefinitionLanguage,簡稱DDL),用戶通過它可以方便地對數(shù)據(jù)庫中的數(shù)據(jù)對象進(jìn)行定義。2、數(shù)據(jù)操縱功能DBMS還提供數(shù)據(jù)操縱語言(DataManipulationLanguage,簡稱DML),用戶可以使用DML操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢、插入、刪除和修改等。3、數(shù)據(jù)庫的運(yùn)行安全數(shù)據(jù)庫在建立、運(yùn)用和維護(hù)時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的井發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。4、數(shù)據(jù)庫的建立和維護(hù)功能它包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)功能,數(shù)據(jù)庫的重組織功能和性能監(jiān)視、分析功能等。這些功能通常是由一些實用程序完成的。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的一個重要組成部分。四、數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,簡稱DBS)數(shù)據(jù)庫系統(tǒng)是指在計算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫。數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。應(yīng)當(dāng)指出的是,數(shù)據(jù)庫的建立、使用和維護(hù)等工作只靠一個DBMS遠(yuǎn)遠(yuǎn)不夠,還要有專門的人員來完成,這些人被稱為數(shù)據(jù)庫管理員(DataBaseAdministrator,簡稱DBA)。在一般不引起混淆的情況下常常把數(shù)據(jù)庫系絞簡稱為數(shù)據(jù)庫。數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)庫技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需要而產(chǎn)生的。數(shù)據(jù)的處理是指對各種數(shù)據(jù)進(jìn)行收集、存儲、加工和傳播的一系列活動的總和。數(shù)據(jù)管理則是指對數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲。檢索和維護(hù),它是數(shù)據(jù)處理的中心問題。人們借助計算機(jī)進(jìn)行數(shù)據(jù)處理是近三十年的事。研制計算機(jī)的初衷是利用它進(jìn)行復(fù)雜的科學(xué)計算。隨著計算機(jī)技術(shù)的發(fā)展,其應(yīng)用遠(yuǎn)遠(yuǎn)地超出了這個范圍。在應(yīng)用需求的推動下,在計算機(jī)硬件、軟件發(fā)展的基礎(chǔ)上,數(shù)據(jù)管理技術(shù)經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)三個階段。這三個階段的特點及其比較如表1.1所示。表1.17人工管理階殷尹文件系統(tǒng)濟(jì)葭跋據(jù)庫系蛻階段」時閭F20世紀(jì)5口年代中期以前二50年代后用至!1朗年代中期皿年代末列年代初夙來「應(yīng)用背景?科學(xué)計算?科學(xué)計算、管理,大覘模管理科硬件背景'無直接存取存儲設(shè)備,磁盤、題鼓小大容堂福醇產(chǎn)軟件背景,沒有操作系統(tǒng)口有文件系疣口有赦據(jù)庫管理系統(tǒng)?處理方式N批處理?聯(lián)機(jī)實時處理、批姓理」底機(jī)實時處理■.分■布■處理'批處理一數(shù)據(jù)的管理者“用戶(程序員)小文件系施繳據(jù)庫管理系燒」數(shù)據(jù)面向的對??谀骋粦?yīng)用程序F基本上還是面向應(yīng)用的戶整個般R系統(tǒng)一中組織包括訐多■應(yīng)用>中凝據(jù)的共享程度「無共享,冗余度極大共季性差,不衾塞大共享性高?定余度<17數(shù)據(jù)的獨立性。不獨立,完全依賴于程序口有一定的獨幣性,但獨立性■具卷力重的糊理獨立性和一定的邏輯獨立性」數(shù)據(jù)的結(jié)構(gòu)兄科無結(jié)構(gòu)】記錄內(nèi)有結(jié)構(gòu)、整陣無結(jié)構(gòu)-整曲結(jié)構(gòu)化,用數(shù)據(jù)摸型拴泣Q數(shù)據(jù)控制能力戶應(yīng)用程序自己控制(數(shù)據(jù)不保存)一應(yīng)用程序自己控制」《數(shù)據(jù)可以長用P保存.上由獻(xiàn)據(jù)庫管理襤統(tǒng)提供敷據(jù)安全性,完整性,并發(fā)控網(wǎng)設(shè)復(fù)Jg'一、人工管理階段20世紀(jì)50年代中期以前,計算機(jī)主要用于科學(xué)計算。當(dāng)時的硬件狀況是,外存只有紙帶、卡片、磁帶,沒有磁盤等直接存取的存儲設(shè)各:軟件狀況是,沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟件;數(shù)據(jù)處理方式是批處理。人工管理數(shù)據(jù)具有如下特點:(1)數(shù)據(jù)不保存由于當(dāng)時計算機(jī)主要用于科學(xué)計算,一般不需要將數(shù)據(jù)長期保存,只是在計算某一課題時將數(shù)據(jù)輸入,用完就撤走。不僅對用戶數(shù)據(jù)如此處置,對系絞軟件有時也是這樣。(2)應(yīng)用程序管理數(shù)據(jù)數(shù)據(jù)需要由應(yīng)用程序自己管理,沒有相應(yīng)的軟件系統(tǒng)負(fù)責(zé)數(shù)據(jù)的管理工作。應(yīng)用程序中不僅要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且要設(shè)計物理結(jié)構(gòu),包括存儲結(jié)構(gòu)、存取方法、輸入方式等。因此程序員負(fù)擔(dān)很重。(3)數(shù)據(jù)不共享數(shù)據(jù)是面向應(yīng)用的,一組數(shù)據(jù)只能對應(yīng)一個程序。當(dāng)多個應(yīng)用程序涉及某些相同的數(shù)據(jù)時,由于必須各自定義,無法互相利用、互相參照,因此程序與程序之間有大量的冗余數(shù)據(jù)。(4)數(shù)據(jù)不具有獨立性數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化后,必須對應(yīng)用程序做相應(yīng)的修改,這就進(jìn)一步加重了程序員的負(fù)擔(dān)。在人工管理階段,程序與數(shù)據(jù)之間的—一對應(yīng)關(guān)系可用圖1.3表示。圖1.3二、文件系統(tǒng)階段20世紀(jì)50年代后期到60年代中期,這時硬件方面己有了磁盤、磁鼓直接存取存儲設(shè)備;軟件方面,操作系統(tǒng)中己經(jīng)有了專門的數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng);處理方式上不僅有了批處理,而且能夠聯(lián)機(jī)實時處理。用文件系統(tǒng)管理數(shù)據(jù)具有如下特點:(1)數(shù)據(jù)可以長期保存由于計算機(jī)大量用于數(shù)據(jù)處理,數(shù)據(jù)需要長期保留在外存上反復(fù)進(jìn)行查詢、修改、插入和刪除等操作。(2)由文件系統(tǒng)管理數(shù)據(jù)由專門的軟件即文件系統(tǒng)進(jìn)行數(shù)據(jù)管理,文件系統(tǒng)把數(shù)據(jù)組織成相互獨立的數(shù)據(jù)文件,利用“按文件名訪問,按記錄進(jìn)行存取”的管理技術(shù),可以對文件進(jìn)行修改、插入和刪除的操作。文件系統(tǒng)實現(xiàn)了記錄內(nèi)的結(jié)構(gòu)性,但整體無結(jié)構(gòu)。程序和數(shù)據(jù)之間由文件系統(tǒng)提供存取方法進(jìn)行轉(zhuǎn)換,使應(yīng)用程序與數(shù)據(jù)之間有了一定的獨立性,程序員可以不必過多地考慮物理細(xì)節(jié),將精力集中于算法。而且數(shù)據(jù)在存儲上的改變不一定反映在程序上,大大節(jié)省了維護(hù)程序的工作量。但是,文件系統(tǒng)仍存在以下缺點。(3)數(shù)據(jù)共享性差,冗余度大在文件系統(tǒng)中,一個文件基本上對應(yīng)于一個應(yīng)用程序,即文件仍然是面向應(yīng)用的。當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時,也必須建立各自的文件,而不能共享相同的數(shù)據(jù),因此數(shù)據(jù)的冗余度大,浪費存儲空間。同時由于相同數(shù)據(jù)的重復(fù)存儲、各自管理,容易造成數(shù)據(jù)的不一致性,給數(shù)據(jù)的修改和維護(hù)帶來了困難(4)數(shù)據(jù)獨立性差文件系統(tǒng)中的文件是為某一特定應(yīng)用服務(wù)的,文件的邏輯結(jié)構(gòu)對該應(yīng)用程序來說是優(yōu)化的,因此要想對現(xiàn)有的數(shù)據(jù)再增加一些新的應(yīng)用會很困難,系統(tǒng)不容易擴(kuò)充。一旦數(shù)據(jù)的邏輯結(jié)構(gòu)改變,必須修改應(yīng)用程序,修改文件結(jié)構(gòu)的定義。應(yīng)用程序的改變,例如應(yīng)用程序改用不同的高級語言等,也將引起文件的數(shù)據(jù)結(jié)構(gòu)的改變。因此數(shù)據(jù)與程序之間仍缺乏獨立性??梢?,文件系統(tǒng)仍然是一個不具有彈性的無結(jié)構(gòu)的數(shù)據(jù)集合,即文件之間是孤立的。不能反映現(xiàn)實世界事物之間的內(nèi)存聯(lián)系。在文件系統(tǒng)階段,程序與數(shù)據(jù)之間的關(guān)系如圖1.4所示。圖1.4應(yīng)用程序]文件1圖1.4文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系三、數(shù)據(jù)庫系統(tǒng)階段20世紀(jì)60年代后期以來,計算機(jī)用于管理的規(guī)模越來越大,應(yīng)用越來越廣泛,數(shù)據(jù)量急劇增長,同時多種應(yīng)用、多種語言互相覆蓋地共享數(shù)據(jù)集合的要求越來越強(qiáng)烈。這時硬件己有大容量磁盤,硬件價格下降;軟件則價格上升,為編制和維護(hù)系統(tǒng)軟件及應(yīng)用程序所需的成本相對增加;在處理方式上,聯(lián)機(jī)實時處理要求更多,并開始提出和考慮分布處理。在這種背景下,以文件系統(tǒng)作為數(shù)據(jù)管理手段己經(jīng)不能滿足應(yīng)用的需求,于是為解訣多用戶、多應(yīng)用共享數(shù)據(jù)的需求,使數(shù)據(jù)為盡可能多的應(yīng)用服務(wù),數(shù)據(jù)庫技術(shù)便應(yīng)運(yùn)而生,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)——數(shù)據(jù)庫管理系統(tǒng)。用數(shù)據(jù)庫系統(tǒng)來管理數(shù)據(jù)比文件系統(tǒng)具有明顯的優(yōu)點,從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng),標(biāo)志著數(shù)據(jù)管理技術(shù)的飛躍。下面來詳細(xì)地討論數(shù)據(jù)庫系統(tǒng)的特點及其帶來的優(yōu)點。數(shù)據(jù)庫系統(tǒng)的特點與人工管理和文件系統(tǒng)相比,數(shù)據(jù)庫系統(tǒng)的特點主要有以下幾個方面。一、數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫與文件系統(tǒng)的根本區(qū)別。在文件系統(tǒng)中,相互獨立的文件的記錄內(nèi)部是有結(jié)構(gòu)的。傳統(tǒng)文件的最簡單形式是等長同格式的記錄集合。數(shù)據(jù)庫系統(tǒng)實現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)不再針對某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化。不僅數(shù)據(jù)是結(jié)構(gòu)化的,而且存取數(shù)據(jù)的方式也很靈活,可以存取數(shù)據(jù)庫中的某一個數(shù)據(jù)項、一組數(shù)據(jù)項。一個記錄或一組記錄。而在文件系統(tǒng)中,數(shù)據(jù)的最小存單位是記錄。粒度不能細(xì)到數(shù)據(jù)項。二、數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)不再面向某個應(yīng)用而是面向整個系統(tǒng),因此數(shù)據(jù)可以被多個用戶、多個應(yīng)用共享使用。數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲空間。數(shù)據(jù)共享還能夠避免數(shù)據(jù)之間的不相容性與不一致性。所謂數(shù)據(jù)的不一致性是指同一數(shù)據(jù)不同拷貝的值不一樣。采用人工管理或文件系統(tǒng)管理時,由于數(shù)據(jù)被重復(fù)存儲,當(dāng)不同的應(yīng)用使用和修改不同的拷貝時就很容易造成數(shù)據(jù)的不一致。在數(shù)據(jù)庫中數(shù)據(jù)共享,減少了由于數(shù)據(jù)冗余造成的不一致現(xiàn)象。由于數(shù)據(jù)面向整個系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫系統(tǒng)彈性大,易于擴(kuò)充,可以適應(yīng)各種用戶的要求??梢匀≌w數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)應(yīng)用需求改變或增加時,只要重新選取不同的子集或加上一部分?jǐn)?shù)據(jù)便可以滿足新的需求。三、數(shù)據(jù)獨立性高數(shù)據(jù)獨立性是數(shù)據(jù)庫領(lǐng)域中一個常用術(shù)語,包括數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性。物理獨立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。也就是說,數(shù)據(jù)在磁盤上的數(shù)據(jù)庫中怎樣存儲是由DBMS管理的,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。邏輯獨立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)獨立性是由DBMS的二級映象功能來保證的,將在下面討論。數(shù)據(jù)與程序的獨立,把數(shù)據(jù)的定義從程序中分離出去,加上數(shù)據(jù)的存取又由DBMS負(fù)責(zé),從而簡化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改。四、數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫的共享是并發(fā)的(Concurrency)共享,即多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時存取數(shù)據(jù)庫中同一個數(shù)據(jù)。為此,DBMS還必須提供以下幾方面的數(shù)據(jù)控制功能:(1)數(shù)據(jù)的安全性(Security)保護(hù)數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。使每個用戶只能按規(guī)定,對某些數(shù)據(jù)以某些方式進(jìn)行使用和處理。(2)數(shù)據(jù)的完整性(Integrity)檢查數(shù)據(jù)的完整性指數(shù)據(jù)的正確性、有效性和相容性。完整性檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之問滿足一定的關(guān)系。(3)并發(fā)(Concurrency)控制當(dāng)多個用戶的并發(fā)進(jìn)程同時存取、修改數(shù)據(jù)庫時,可能會發(fā)生相互干擾而得到錯誤的結(jié)果或使得數(shù)據(jù)庫的完整性遭到破壞,因此必須對多用戶的并發(fā)操作加以控制和協(xié)調(diào)。(4)數(shù)據(jù)庫恢復(fù)(Recovery)計算機(jī)系統(tǒng)的硬件故障、軟件故障、操作員的失誤以及故意的破壞也會影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫部分或全部數(shù)據(jù)的丟失。DBMS必須具有將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一己知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))的功能,這就是數(shù)據(jù)庫的恢復(fù)功能。綜上所述,數(shù)據(jù)庫是長期存儲在計算機(jī)內(nèi)有組織的大量的共享的數(shù)據(jù)集合。它可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨立性。DBMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時對數(shù)據(jù)庫進(jìn)行統(tǒng)一控制,以保證數(shù)據(jù)的完整性、安全性,并在多用戶同時使用數(shù)據(jù)庫時進(jìn)行并發(fā)控制,在發(fā)生故障后對系統(tǒng)進(jìn)行恢復(fù)。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序為中心轉(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用率和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫已經(jīng)成為現(xiàn)代信息系統(tǒng)的不可分離的重要組成部分。具有數(shù)百萬甚至數(shù)十億字節(jié)信息的數(shù)據(jù)庫已經(jīng)普遍存在于科學(xué)技術(shù)、工業(yè)、農(nóng)業(yè)、商業(yè)、服務(wù)業(yè)和政府部門的信息系統(tǒng)。20世紀(jì)80年代后不僅在大型機(jī)上,在多數(shù)微機(jī)上也配置了DBMS,使數(shù)據(jù)庫技術(shù)得到更加廣泛的應(yīng)用和普及。1.2數(shù)據(jù)模型在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象,表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息.通俗地講數(shù)據(jù)模型就是現(xiàn)實世界數(shù)據(jù)特征的抽象.數(shù)據(jù)模型應(yīng)滿足三方面要求:能比較真實地模擬現(xiàn)實世界;容易為人所理解;便于在計算機(jī)上實現(xiàn)數(shù)據(jù)模型分成兩個不同的層次概念模型也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模.主要用于數(shù)據(jù)庫的設(shè)計.邏輯模型和物理模型:邏輯模型主要包括網(wǎng)狀模型,層次模型,關(guān)系模型,面向?qū)ο竽P偷?主要用于DBMS的實現(xiàn)。物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法??陀^對象的抽象過程---兩步抽象:現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型數(shù)據(jù)模型的組成要素一般地講,數(shù)據(jù)模型是嚴(yán)格定義的一組概念的集合。這些概念精確地描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條件。因此數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。一、數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究的對象類型的集合。這些對象是數(shù)據(jù)庫的組成成分,它們包括兩類,一類是與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象,例如網(wǎng)狀模型中的數(shù)據(jù)項、記錄,關(guān)系模型中的域、屬性、關(guān)系等;一類是與數(shù)據(jù)之間聯(lián)系有關(guān)的對象,例如網(wǎng)狀模型中的系型(SetType)。數(shù)據(jù)結(jié)構(gòu)是刻畫一個數(shù)據(jù)模型性質(zhì)最重要的方面。因此在數(shù)據(jù)庫系統(tǒng)中,人們通常按照其數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。例如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的數(shù)據(jù)模型分別命名為層次模型、網(wǎng)狀模型和關(guān)系模型。數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述。二、數(shù)據(jù)操作數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除、修改)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。三、數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如,在關(guān)系模型中,任何關(guān)系必須滿足實體完整性和參照完整性兩個條件(第二章將詳細(xì)討論這兩個完整性約束條件)。此外,數(shù)據(jù)模型還應(yīng)該提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。例如,在學(xué)校的數(shù)據(jù)庫中規(guī)定大學(xué)生入學(xué)年齡不得超過30歲,碩士研究生入學(xué)年齡不得超過38歲,學(xué)生累計成績不得有三門以上不及格等。概念模型概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計人員進(jìn)行數(shù)據(jù)庫設(shè)計的有力工具,也是數(shù)據(jù)庫設(shè)計人員和用戶之間進(jìn)行交流的語言,因此概念模型一方面應(yīng)該具有較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識,另一方面它還應(yīng)該簡單、清晰、易于用戶理解。一、信息世界中的基本概念信息世界涉及的概念主要有:(1)實體(Entity)客觀存在并可相互區(qū)別的事物稱為實體。實體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系,例如,一個職工、一個學(xué)生、一個部門、一門課、學(xué)生的一次選課、部門的一次訂貨、老師與系的工作關(guān)系(即某位老師在某系工作)等都是實體。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。例如學(xué)生實體可以由學(xué)號、姓名、性別、出生年份、系、入學(xué)時間等屬性組成。(3)碼(Key)唯一標(biāo)識實體的屬性集稱為碼。例如學(xué)號是學(xué)生實體的碼。(4)域(Domain)屬性的取值范圍稱為該屬性的域。例如,學(xué)號的域為8位整數(shù),姓名的域為字符串集合,年齡的域為小于38的整數(shù),性別的域為(男,女)。(5)實體型(EntityType)具有相同屬性的實體必然具有共同的特征和性質(zhì)。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。例如,學(xué)生(學(xué)號,姓名,性別,出生年份,系,入學(xué)時間)就是一個實體型。(6)實體集(EntitySet)同型實體的集合稱為實體集。例如,全體學(xué)生就是一個實體集。(7)聯(lián)系(Relationship)在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體(型)內(nèi)部的聯(lián)系和實體(型)之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系。實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。兩個實體型之間的聯(lián)系可以分為三類:①一對一聯(lián)系(1:1)如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1。例如,學(xué)校里面,一個班級只有一個正班長,而一個班長只在一個班中任職,則班級與班長之間具有一對一聯(lián)系。②一對多聯(lián)系(1:n)如果對于實體集A中的每一個實體,實體集B中有n個實體(nN0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n。例如,一個班級中有若干名學(xué)生,而每個學(xué)生只在一個班級中學(xué)習(xí),則班級與學(xué)生之間具有一對多聯(lián)系③多對多聯(lián)系(m:n)如果對于實體集A中的每一個實體,實體集B中有n個實體(nN0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(山三0)與之聯(lián)系,則稱實體集A與實體集B具有多對多聯(lián)系,記為m:n。例如,一門課程同時有若干個學(xué)生選修,而一個學(xué)生可以同時選修多門課程,則課程與學(xué)生之間具有多對多聯(lián)系。實際上,一對一聯(lián)系是一對多聯(lián)系的特例,而一對多聯(lián)系又是多對多聯(lián)系的特例??梢杂脠D形來表示兩個實體型之間的這三類聯(lián)系,如圖1.10所示。圖1.10二、概念模型的表示方法概念模型是對信息世界建模,所以概念模型應(yīng)該能夠方便、準(zhǔn)確地表示出上述信息世界中的常用概念。概念模型的表示方法很多,其中最為著名最為常用的是P.P.S.Chen于1976年提出的實體一聯(lián)系方法(Entity-RelationshipApproach)。該方法用E—R圖來描述現(xiàn)實世界的概念模型,E-R方法也稱為E-R模型。這里介紹E-R圖的要點。有關(guān)如何認(rèn)識和分析現(xiàn)實世界,從中抽取實體和實體之間的聯(lián)系,建立概念模型的方法將在第六章講解。E-R圖提供了表示實體型、屬性和聯(lián)系的方法:?實體型:用矩形表示,矩形框內(nèi)寫明實體名。?屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來。最常用的數(shù)據(jù)模型目前,數(shù)據(jù)庫領(lǐng)域中最常用的數(shù)據(jù)模型有四種,它們是:層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationaModel)面向?qū)ο竽P?ObjectOrientedModel)其中層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。層次數(shù)據(jù)庫系統(tǒng)采用層次模型作為數(shù)據(jù)的組織方式。層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫管理系統(tǒng),這是1968年IBM公司推出的第一個大型的商用數(shù)據(jù)庫管理系統(tǒng),曾經(jīng)得到廣泛的使用。層次模型用樹形結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系。現(xiàn)實世界中許多實體之間的聯(lián)系本來就呈現(xiàn)出一種很自然的層次關(guān)系,如行政機(jī)構(gòu)、家族關(guān)系等。一、層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)庫中定義滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型。(1)有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點;(2)根以外的其他結(jié)點有且只有一個雙親結(jié)點。在層次模型中,每個結(jié)點表示一個記錄類型,記錄(類型)之間的聯(lián)系用結(jié)點之間的連線(有向邊)表示,這種聯(lián)系是父子之間的一對多的聯(lián)系。這就使得層次數(shù)據(jù)庫系統(tǒng)只能處理一對多的實體聯(lián)系。每個記錄類型可包含若干個字段,這里,記錄類型描述的是實體,字段描述的是實體的屬性。各個記錄類型及其字段都必須命名。各個記錄類型、同一記錄類型中各個字段不能同名。每個記錄類型可以定義一個排序字段,也稱為碼字段,如果定義該排序字段的值是唯一的,則它能唯一地標(biāo)識一個記錄值。一個層次模型在理論上可以包含任意有限個記錄型和字段,但任何實際的系統(tǒng)都會因為存儲容量或?qū)崿F(xiàn)復(fù)雜度而限制層次模型中包含的記錄型個數(shù)和字段的個數(shù)。在層次模型中,同一雙親的子女結(jié)點稱為兄弟結(jié)點(Twin或Sibling),沒有子女結(jié)點的結(jié)點稱為葉結(jié)點。圖1.17給出了一個層次模型的例子。其中R1為根結(jié)點;R2和R3為兄弟結(jié)點,是R1的子女結(jié)點;R4和R5為兄弟結(jié)點,是R2的子女結(jié)點;R3,R4和R5為葉結(jié)點。圖1.17兄弟結(jié)點葉結(jié)點根結(jié)點葉緒點一個層次橫型的示例圖L17兄弟結(jié)點葉結(jié)點根結(jié)點葉緒點一個層次橫型的示例圖L17兄弟結(jié)點葉結(jié)點從圖上可以看出層次模型像一棵倒立的樹,結(jié)點的雙親是唯一的。層次模型的一個基本的特點是,任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義,沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。五、層次模型的優(yōu)缺點層次模型的優(yōu)點主要有:?層次數(shù)據(jù)模型本身比較簡單。?對子實體間聯(lián)系是固定的,且預(yù)先定義好的應(yīng)用系統(tǒng),采用層次模型來實現(xiàn),其性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型。?層次數(shù)據(jù)模型提供了良好的完整性支持。層次模型的缺點主要有:?現(xiàn)實世界中很多聯(lián)系是非層次性的,如多對多聯(lián)系、一個結(jié)點具有多個雙親等,層次模型表示這類聯(lián)系的方法很笨拙,只能通過引入冗余數(shù)據(jù)(易產(chǎn)生不一致性)或創(chuàng)建非自然的數(shù)據(jù)組織(引入虛擬結(jié)點)來解決。?對插入和刪除操作的限制比較多。?查詢子女結(jié)點必須通過雙親結(jié)點。?由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化??梢娪脤哟文P蛯哂幸粚Χ嗟膶哟侮P(guān)系的部門描述非常自然、直觀,容易理解。這是層次數(shù)據(jù)庫的突出優(yōu)點。1.2.5網(wǎng)狀模型在現(xiàn)實世界中事物之間的聯(lián)系更多的是非層次關(guān)系的,用層次模型表示非樹形結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可以克服這一弊病。網(wǎng)狀數(shù)據(jù)庫系統(tǒng)采用網(wǎng)狀模型作為數(shù)據(jù)的組織方式。網(wǎng)狀數(shù)據(jù)模型的典型代表是DBTG系統(tǒng),亦稱CODASYL系統(tǒng)。這是20世紀(jì)70年代數(shù)據(jù)系統(tǒng)語言研究會CODASYL(ConferenceOnDataSystemLanguage)下屬的數(shù)據(jù)庫任務(wù)組(DataBaseTaskGroup簡稱DBTG)提出的一個系統(tǒng)方案。DBTG系統(tǒng)雖然不是實際的軟件系絞,但是它提出的基本概念、方法和技術(shù)具有普遍意義。它對于網(wǎng)狀數(shù)據(jù)庫系統(tǒng)的研制和發(fā)展起了重大的影響。后來不少的系統(tǒng)都采用DBTG模型或者簡化的DBTG模型。例如,CullientSoftware公司的IDMS、UniVac公司W(wǎng)DMS1100.Honeywell公司的IDS/2、HP公司的IMAGE等。一、網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)庫中,把滿足以下兩個條件的基本層次聯(lián)系集合稱為網(wǎng)狀模型:(1)允許一個以上的結(jié)點無雙親;(2)一個結(jié)點可以有多于一個的雙親。網(wǎng)狀模型是一種比層次模型更具普遍性的結(jié)構(gòu),它去掉了層次模型的兩個限制,允許多個結(jié)點沒有雙親結(jié)點,允許結(jié)點有多個雙親結(jié)點,此外它還允許兩個結(jié)點之間有多種聯(lián)系(稱之為復(fù)合聯(lián)系)。因此網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界。而層次模型實際上是網(wǎng)狀模型的一個特例。四、狀數(shù)據(jù)模型的優(yōu)缺點網(wǎng)狀數(shù)據(jù)模型的優(yōu)點主要有:能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親。具有良好的性能,存取效率較高。網(wǎng)狀數(shù)據(jù)模型的缺點主要有;結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握。其DDL,DML語言復(fù)雜,用戶不容易使用。由于記錄之間聯(lián)系是通過存取路徑實現(xiàn)的,應(yīng)用程序在訪問數(shù)據(jù)時必須選擇適當(dāng)?shù)拇嫒÷窂?,因此,用戶必須了解系統(tǒng)結(jié)構(gòu)的細(xì)節(jié),加重了編寫應(yīng)用程序的負(fù)擔(dān)。1.2.6關(guān)系模型關(guān)系模型是目前最重要的一種數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。1970年美國IBM公司San)。$0研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫系統(tǒng)的關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究,為數(shù)據(jù)庫技術(shù)奠定了理論基礎(chǔ)。由于E.F.COdd的杰出工作,他于1981年獲得ACM圖靈獎。20世紀(jì)80年代以來,計算機(jī)廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型,非關(guān)系系統(tǒng)的產(chǎn)品也大都加上了關(guān)系接口。數(shù)據(jù)庫領(lǐng)域當(dāng)前的研究工作也都是以關(guān)系方法為基礎(chǔ)。因此本書的重點也將放在關(guān)系數(shù)據(jù)庫上,下面四章將詳細(xì)講解關(guān)系數(shù)據(jù)庫。一、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)模型與以往的模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。嚴(yán)格的定義將在下一章給出。這里只簡單勾畫一下關(guān)系模型。在用戶觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成?,F(xiàn)在以學(xué)生登記表(如圖1.27所示)為例,介紹關(guān)系模型中的一些術(shù)語。圖1.27學(xué)生登記瘦學(xué)號姓名年齡性別系名年級35004王小明19I女社會學(xué)9395006黃大尉2G男商品學(xué)9595008朱文斑18女法律學(xué)95is*-11■-I4PV-I9-圖1.27美系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系(Relation):一個關(guān)系對應(yīng)通常
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深圳市出租房屋合同書(28篇)
- 湖南信息職業(yè)技術(shù)學(xué)院2024年單招考試職業(yè)技能測試E組樣題
- 設(shè)計方案優(yōu)化函
- 2025年信貸調(diào)整協(xié)商協(xié)議
- 2025年醫(yī)院合同管理策略與優(yōu)化措施
- 2025年互聯(lián)網(wǎng)電商員工保密協(xié)議規(guī)范
- 2025年獵頭項目立項申請報告模范
- 2025年二手住宅帶閣樓出售合同規(guī)范
- 2025年煙膠項目立項申請報告模稿
- 2025年二手房合同糾紛隱患與預(yù)防
- HWSD數(shù)據(jù)庫土壤中文名稱
- 金鎖記優(yōu)秀課件
- 地產(chǎn)集團(tuán)地產(chǎn)體系員工職業(yè)序列及職業(yè)等級管理規(guī)定
- 安徽華星化工有限公司殺蟲單廢鹽資源化處理項目環(huán)境影響報告書
- 人教版高中英語必修一單詞表(默寫版)
- 海德堡HRT共焦激光角膜顯微鏡
- 世界國家地區(qū)區(qū)域劃分 Excel對照表 簡
- 幼兒園手工教學(xué)中教師指導(dǎo)行為研究-以自貢市幼兒園為例
- 初中物理實驗教學(xué)
- 雨水管道中粗砂回填
- 第1課中華優(yōu)秀傳統(tǒng)文化的內(nèi)涵與特點課件(共28張PPT)
評論
0/150
提交評論