數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識_第1頁
數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識_第2頁
數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識_第3頁
數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識_第4頁
數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識1.1數(shù)據(jù)庫概述1.2數(shù)據(jù)庫系統(tǒng)的組成及特點(diǎn)1.3數(shù)據(jù)庫管理系統(tǒng)1.4基本數(shù)據(jù)模型1.5數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.1數(shù)據(jù)庫概述1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.1數(shù)據(jù)庫概述1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫數(shù)據(jù)(Data)信息(Information)數(shù)據(jù)庫(DataBase,簡稱DB)1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫數(shù)據(jù)(Data)數(shù)據(jù)在一般意義上被認(rèn)為是對客觀事物特征所進(jìn)行的一種抽象化、符號化表示。例如,某人出生日期是1988年6月28日,身高1.72m,體重66kg,其中1988年、6月、28日、1.72m、66kg等都是數(shù)據(jù),它們描述了該人的某些特征。數(shù)據(jù)可以有不同的形式。例如,出生日期可以表示為“1988.6.28”、“{06/28/88}”等形式。數(shù)據(jù)的概念,不僅包括數(shù)字、字母、漢字及其他特殊字符組成的文本形式的數(shù)據(jù),而且還包括圖形、圖像、聲音等多媒體數(shù)據(jù)。總之,凡是能夠被計算機(jī)處理的對象都稱為數(shù)據(jù)。1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫2.信息(Information)信息通常被認(rèn)為是有一定含義的、經(jīng)過加工處理的、對決策有價值的數(shù)據(jù)。例如:某排球隊(duì)中,每個隊(duì)員的身高數(shù)據(jù)為1.85m、1.97m、1.86m、…,經(jīng)過計算得到平均身高為1.89m,這便是該排球隊(duì)的一條重要信息。數(shù)據(jù)與信息的聯(lián)系:信息=數(shù)據(jù)+處理

處理是指將數(shù)據(jù)轉(zhuǎn)換成為信息的過程,包括數(shù)據(jù)的收集、存儲、加工、排序、檢索等一系列活動。數(shù)據(jù)處理的目的是從大量的現(xiàn)有數(shù)據(jù)中,提取對人們有用的信息,作為決策的依據(jù)。1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫數(shù)據(jù)是信息的載體,它表示了信息;信息是數(shù)據(jù)的內(nèi)涵,即數(shù)據(jù)的語義解釋3.數(shù)據(jù)庫(DataBase,簡稱DB)數(shù)據(jù)庫是指存儲在計算機(jī)存儲設(shè)備上、結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合。為了便于檢索和使用數(shù)據(jù),數(shù)據(jù)庫中的大量數(shù)據(jù)必須按照一定的規(guī)則(即數(shù)據(jù)模型)來存放,這就是所說的“結(jié)構(gòu)化”。存儲在數(shù)據(jù)庫中的數(shù)據(jù)彼此之間是有一定聯(lián)系的,而不是毫不相干的。數(shù)據(jù)庫不僅包括描述事物的數(shù)據(jù),而且還要詳細(xì)準(zhǔn)確反映事物之間的聯(lián)系。1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫數(shù)據(jù)庫例子:

有一家網(wǎng)上書店,為了給其會員提供優(yōu)質(zhì)的客戶服務(wù)以及自身的經(jīng)營管理,該書店創(chuàng)建了基礎(chǔ)數(shù)據(jù)庫。數(shù)據(jù)庫中保留了每個會員的基本信息及其網(wǎng)上購書的銷售信息。

通過這些數(shù)據(jù),書店可以推斷出不同會員的偏好,并有針對性地給會員提供在線新書導(dǎo)購,以提高網(wǎng)上圖書的銷售量。同時,數(shù)據(jù)庫中保存的圖書基本信息與銷售信息很好地控制了虛擬庫存的數(shù)量,極大程度地降低了企業(yè)成本。

該數(shù)據(jù)庫中存儲的數(shù)據(jù)包括:會員信息表、圖書信息表以及銷售信息表,如表1-1、表1-2和表1-3所示。1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫表1-1會員信息表會員編號姓名性別年齡工作單位聯(lián)系電話E_mail00001李國強(qiáng)男35和平醫(yī)院23529768lgq@263.net00002陳新生男27新都證券交易中心23661745cxs@00003劉麗娟女40南開大學(xué)23507583llj@00004趙曉航男33軟件開發(fā)公司27466953zxh@163.com00005徐彤彤女38新蕾出版社28289405xtt@1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫表1-2圖書信息表圖書編號書名出版社書類作者單價庫存量00001數(shù)據(jù)結(jié)構(gòu)教程清華大學(xué)出版社計算機(jī)李春葆28.0010000002C++程序設(shè)計基礎(chǔ)南開大學(xué)出版社計算機(jī)李敏37.005000003數(shù)據(jù)庫原理與應(yīng)用上海財經(jīng)大學(xué)出版社計算機(jī)趙龍強(qiáng)34.0015000004信息技術(shù)與管理北京大學(xué)出版社管理陳麗華68.002000005項(xiàng)目管理學(xué)南開大學(xué)出版社管理戚安邦25.003000006電子商務(wù)概論高等教育出版社管理覃征33.001000007網(wǎng)絡(luò)營銷技術(shù)基礎(chǔ)機(jī)械工業(yè)出版社管理段建38.008500008網(wǎng)頁制作使用技術(shù)清華大學(xué)出版社計算機(jī)譚浩強(qiáng)22.00000009數(shù)據(jù)結(jié)構(gòu)教程南開大學(xué)出版社計算機(jī)王剛懷28.0051.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫表1-3銷售信息表會員編號圖書編號購買日期數(shù)量000030000106/02/200740000030000406/02/2007200000030000606/02/200770000030000706/02/200730000040000211/23/200625000040000311/23/200610000040000511/23/200610000040001211/23/200620000020000303/12/20071000020000703/12/20071000010000804/17/20072000010000904/17/20072000050001012/21/200625000050001112/21/2006301.1數(shù)據(jù)庫概述1.1.1數(shù)據(jù)、信息和數(shù)據(jù)庫1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展人工管理階段-20世紀(jì)50年代中期以前,計算機(jī)主要用于科學(xué)計算。

-還沒有專門用于管理數(shù)據(jù)的軟件。

-數(shù)據(jù)與計算或處理它們的程序放在一起。特點(diǎn)一:

信息處理主要是面向科學(xué)計算,數(shù)據(jù)不需要長期保存。當(dāng)人們需要使用計算機(jī)處理某一課題時,就臨時將有關(guān)數(shù)據(jù)輸入內(nèi)存。待計算機(jī)處理完畢后直接輸出處理結(jié)果,并釋放相應(yīng)內(nèi)存空間。特點(diǎn)二:

數(shù)據(jù)處理過程中,信息系統(tǒng)處理的數(shù)據(jù)需要在編寫的程序中加以描述及定義。即程序中不僅要編寫對數(shù)據(jù)處理的具體要求,還要花費(fèi)大量篇幅對使用數(shù)據(jù)的結(jié)構(gòu)、存取方法和輸入輸出方式等進(jìn)行詳細(xì)敘述。

此時編寫應(yīng)用程序不僅要書寫操作指令,還要書寫大量的數(shù)據(jù)說明性信息。

數(shù)據(jù)與程序不具有獨(dú)立性,應(yīng)用程序不具有普遍性和通用性。特點(diǎn)三:

數(shù)據(jù)是面向應(yīng)用的,不具有共享性。即每個應(yīng)用程序中都只能使用自己定義的數(shù)據(jù),即便是某些程序使用相同的數(shù)據(jù),也必須在各自的應(yīng)用程序中重新定義。

因此,各程序之間存在著大量的重復(fù)數(shù)據(jù),稱之為數(shù)據(jù)冗余??傊?,在人工管理階段,數(shù)據(jù)處理的特點(diǎn)歸納為:數(shù)據(jù)不保存不能共享冗余度極大數(shù)據(jù)與程序捆綁在一起數(shù)據(jù)不具有獨(dú)立性1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展2.文件系統(tǒng)階段-20世紀(jì)50年代后期至60年代,計算機(jī)開始大量地用于數(shù)據(jù)處理工作。-在軟件方面,出現(xiàn)了高級語言和操作系統(tǒng)。操作系統(tǒng)中的文件系統(tǒng)是專門管理存放在外存中文件的軟件。此時,程序和數(shù)據(jù)可以分別存儲為程序文件和數(shù)據(jù)文件,因而程序與數(shù)據(jù)有了一定的獨(dú)立性。常用的高級語言FORTRAN、BASIC、C等都支持使用數(shù)據(jù)文件。1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展主要特點(diǎn):

計算機(jī)不僅用于科學(xué)計算,也開始應(yīng)用到數(shù)據(jù)管理領(lǐng)域,計算機(jī)的應(yīng)用迅速轉(zhuǎn)向信息管理。

此時管理的數(shù)據(jù)以文件形式長期保存在外存的數(shù)據(jù)文件中,并通過對數(shù)據(jù)文件的存取實(shí)現(xiàn)對信息的查詢、修改、插入和刪除等常見的數(shù)據(jù)操作。

出現(xiàn)了操作系統(tǒng),而且操作系統(tǒng)中的文件系統(tǒng)有專門負(fù)責(zé)管理數(shù)據(jù)的軟件,并且可以提供有關(guān)數(shù)據(jù)的存取、查詢以及維護(hù)功能。但是,數(shù)據(jù)文件仍然是面向應(yīng)用的,文件之間缺乏聯(lián)系,不同應(yīng)用程序間不能共享數(shù)據(jù)文件。1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展文件系統(tǒng)階段的數(shù)據(jù)管理方式如圖1-5。

應(yīng)用需求1應(yīng)用需求2應(yīng)用需求5應(yīng)用需求3數(shù)據(jù)集合應(yīng)用需求4文件1文件2文件3文件4文件5其特點(diǎn)歸納為:-數(shù)據(jù)長期保存到文件中;-程序與數(shù)據(jù)分離,數(shù)據(jù)程序有一定的獨(dú)立性;實(shí)現(xiàn)了以文件為單位的數(shù)據(jù)共享。圖1-5傳統(tǒng)數(shù)據(jù)管理方式1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段-從20世紀(jì)60年代后期開始,信息量迅速增長,需要計算機(jī)管理的數(shù)據(jù)量也在急劇增長,文件系統(tǒng)采用的一次存取一個記錄的訪問方式,以及不同文件之間缺乏相互聯(lián)系的存儲方式,越來越不能適應(yīng)管理大量數(shù)據(jù)的需要。同時,人們對數(shù)據(jù)共享的需求日益增強(qiáng)。-計算機(jī)技術(shù)迅猛發(fā)展,特別是大容量磁盤開始使用。-在這種社會需求和技術(shù)成熟的條件下,數(shù)據(jù)庫技術(shù)應(yīng)運(yùn)而生,使得數(shù)據(jù)管理技術(shù)進(jìn)入嶄新的數(shù)據(jù)庫系統(tǒng)階段。1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)庫系統(tǒng)的管理方式如圖所示:應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)庫管理系統(tǒng)DBMS數(shù)據(jù)庫圖1-6應(yīng)用程序與數(shù)據(jù)庫之間的關(guān)系

求和:SELECTSUM(Num)FROMData

求最大值:SELECTMAX(Num)FROMData

1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)庫系統(tǒng)克服了文件系統(tǒng)的種種弊端,它能夠有效地儲存和管理大量的數(shù)據(jù),使數(shù)據(jù)得到充分共享,數(shù)據(jù)冗余大大減少,數(shù)據(jù)與應(yīng)用程序彼此獨(dú)立,并提供數(shù)據(jù)的安全性和完整性統(tǒng)一機(jī)制。數(shù)據(jù)的安全性是指防止數(shù)據(jù)被竊取和失密,數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性和一致性。用戶可以以命令方式或程序方式對數(shù)據(jù)庫進(jìn)行操作,方便而高效。數(shù)據(jù)庫系統(tǒng)的優(yōu)越性使其得到迅速發(fā)展和廣泛應(yīng)用。從大型機(jī)到微型機(jī),從UNIX到Windows,推出了許多成熟的數(shù)據(jù)庫管理軟件,如ORACLE、SYBASE、VisualFoxPro和Access等等。

當(dāng)今,數(shù)據(jù)庫系統(tǒng)已經(jīng)成為計算機(jī)數(shù)據(jù)管理的主流方式,而由文件系統(tǒng)支持的數(shù)據(jù)文件,僅在數(shù)據(jù)量較小的場合下使用。1.2數(shù)據(jù)庫系統(tǒng)的組成及特點(diǎn)1.2.1數(shù)據(jù)庫系統(tǒng)的組成1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1.2數(shù)據(jù)庫系統(tǒng)的組成及特點(diǎn)1.2.1數(shù)據(jù)庫系統(tǒng)的組成1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1.2.1數(shù)據(jù)庫系統(tǒng)的組成

通常把引進(jìn)了數(shù)據(jù)庫技術(shù)的計算機(jī)系統(tǒng)稱為數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,簡稱DBS)。數(shù)據(jù)庫系統(tǒng)主要由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、相應(yīng)的計算機(jī)軟硬件、數(shù)據(jù)庫管理員及其他人員幾部分組成。1.計算機(jī)硬件系統(tǒng)

需要有容量足夠大的內(nèi)存和外存,用來運(yùn)行操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)核心模塊和應(yīng)用程序,以及存儲數(shù)據(jù)庫。2.數(shù)據(jù)庫集合

數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)庫集合(DataBase,簡稱DB)是存儲在計算機(jī)外存上的若各個設(shè)計合理、滿足應(yīng)用需求的數(shù)據(jù)庫。3.數(shù)據(jù)庫管理系統(tǒng)

這是運(yùn)行在操作系統(tǒng)之上的系統(tǒng)軟件,是數(shù)據(jù)庫系統(tǒng)的核心。它不僅可以幫助用戶創(chuàng)建、維護(hù)和使用數(shù)據(jù)庫,而且數(shù)據(jù)庫系統(tǒng)中的各種功能和特性都是由DBMS提供的。流行的DBMS有Sybase、Oracel、Informix、VisualFoxPro、Access等。4.相關(guān)的軟件系統(tǒng)

包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用開發(fā)工具軟件和計算機(jī)網(wǎng)絡(luò)軟件等。較大型的數(shù)據(jù)庫系統(tǒng),通常是建立在多用戶系統(tǒng)或網(wǎng)絡(luò)環(huán)境中的。5.數(shù)據(jù)庫管理員及其他人員

數(shù)據(jù)庫管理員系統(tǒng)分析和設(shè)計人員應(yīng)用程序員用戶專業(yè)用戶:側(cè)重于設(shè)計數(shù)據(jù)庫、開發(fā)應(yīng)用系統(tǒng)程序最終用戶:側(cè)重于對數(shù)據(jù)庫的使用1.2數(shù)據(jù)庫系統(tǒng)的組成及特點(diǎn)1.2.1數(shù)據(jù)庫系統(tǒng)的組成1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)

數(shù)據(jù)庫技術(shù)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來的技術(shù)。數(shù)據(jù)庫系統(tǒng)克服了文件系統(tǒng)的缺陷,它不僅可以實(shí)現(xiàn)對數(shù)據(jù)的集中統(tǒng)一管理,而且還可以使數(shù)據(jù)的存儲和維護(hù)不受任何用戶的影響,為用戶提供了對數(shù)據(jù)更高級、更有效的管理手段。數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)是:1.數(shù)據(jù)冗余度小、數(shù)據(jù)共享性高2.具有較高的數(shù)據(jù)獨(dú)立性3.數(shù)據(jù)結(jié)構(gòu)化4.具有統(tǒng)一的數(shù)據(jù)控制功能1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)數(shù)據(jù)冗余度小、數(shù)據(jù)共享性高數(shù)據(jù)共享是指數(shù)據(jù)庫中的數(shù)據(jù)可以被多個用戶、多種應(yīng)用訪問,這是數(shù)據(jù)庫系統(tǒng)最重要的特點(diǎn)。由于數(shù)據(jù)庫中的數(shù)據(jù)被集中管理、統(tǒng)一組織、定義和存儲,可以避免不必要的冗余,因而也避免了數(shù)據(jù)的不一致性。與此同時,這種處理模式便于數(shù)據(jù)的靈活應(yīng)用,可以取整體數(shù)據(jù)的各種合理子集用于不同的應(yīng)用系統(tǒng)。1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)2.具有較高的數(shù)據(jù)獨(dú)立性

在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)與應(yīng)用程序之間的相互依賴大大減小,數(shù)據(jù)的修改對程序不會產(chǎn)生大的影響或沒有影響,數(shù)據(jù)具有較高的獨(dú)立性。

應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)庫管理系統(tǒng)DBMS數(shù)據(jù)庫圖1-6應(yīng)用程序與數(shù)據(jù)庫之間的關(guān)系1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)

從圖1.6中可以看出,無論應(yīng)用程序要對數(shù)據(jù)(數(shù)據(jù)保存在數(shù)據(jù)庫DB中)進(jìn)行何種操作,都是通過DBMS(數(shù)據(jù)庫管理系統(tǒng))來完成的。也就是說,由于DBMS提供了數(shù)據(jù)定義功能,以及數(shù)據(jù)管理功能,程序中所需要的數(shù)據(jù)定義、查詢、刪除、插入、修改等操作,都是由DBMS完成的,應(yīng)用程序中不用再包含這方面的內(nèi)容。因此,當(dāng)數(shù)據(jù)的結(jié)構(gòu)(無論是物理結(jié)構(gòu)即存儲方式,還是邏輯界結(jié)構(gòu)即數(shù)據(jù)項(xiàng)之間的關(guān)系)發(fā)生變化時,應(yīng)用程序都是不變的。這樣一來,數(shù)據(jù)和程序相互之間的依賴性很低、獨(dú)立性很高,這種特性就是我們所說的數(shù)據(jù)獨(dú)立性高。

數(shù)據(jù)獨(dú)立性高給應(yīng)用程序的開發(fā)、維護(hù)、擴(kuò)充帶來極大的方便,從而大大減輕了程序設(shè)計的負(fù)擔(dān)。1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)3.數(shù)據(jù)結(jié)構(gòu)化

數(shù)據(jù)庫中的數(shù)據(jù)是有結(jié)構(gòu)的,這種結(jié)構(gòu)是由數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型表現(xiàn)出來的。數(shù)據(jù)庫系統(tǒng)不僅可以表示事物內(nèi)部各數(shù)據(jù)項(xiàng)之間的聯(lián)系,而且可以表示事物與事物之間的聯(lián)系。

這一特點(diǎn)決定了利用數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)管理的設(shè)計方法,即系統(tǒng)設(shè)計時應(yīng)該先準(zhǔn)確地規(guī)劃出數(shù)據(jù)庫中數(shù)據(jù)的結(jié)構(gòu)(數(shù)據(jù)模型),然后再設(shè)計具體的處理功能程序。4.具有統(tǒng)一的數(shù)據(jù)控制功能數(shù)據(jù)并發(fā)操作:多個用戶同時使用同一個數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)必須提供必要的保護(hù)措施,主要包括如下數(shù)據(jù)控制功能:⑴數(shù)據(jù)安全性控制

⑵數(shù)據(jù)完整性控制

⑶數(shù)據(jù)的并發(fā)控制

⑷數(shù)據(jù)的恢復(fù)

1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)⑴數(shù)據(jù)安全性控制

數(shù)據(jù)安全性遭到破壞:是指信息系統(tǒng)中出現(xiàn)用戶看到了不該看的數(shù)據(jù)、修改了無權(quán)修改的數(shù)據(jù)、刪除了不能刪除的數(shù)據(jù)等現(xiàn)象。

數(shù)據(jù)安全性控制:數(shù)據(jù)庫系統(tǒng)設(shè)置了一整套安全保護(hù)措施,只有合法用戶才能進(jìn)行指定權(quán)限的操作,有了數(shù)據(jù)安全控制就可以保護(hù)數(shù)據(jù)庫,防止對數(shù)據(jù)庫進(jìn)行非法操作,避免引起數(shù)據(jù)丟失、泄露和破壞。1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)⑵數(shù)據(jù)完整性控制

數(shù)據(jù)的完整性控制是指數(shù)據(jù)庫系統(tǒng)提供了一種機(jī)制,這種機(jī)制可以保證系統(tǒng)中數(shù)據(jù)的正確性、有效性和相容性,以防止不符合系統(tǒng)語義要求的數(shù)據(jù)輸入系統(tǒng)或者輸出系統(tǒng)。此外,當(dāng)計算機(jī)系統(tǒng)發(fā)生故障而破壞了數(shù)據(jù)或?qū)?shù)據(jù)的操作發(fā)生錯誤時,系統(tǒng)能提供相應(yīng)機(jī)制,將數(shù)據(jù)恢復(fù)到正確狀態(tài)。例1:(數(shù)據(jù)的相容性)圖書銷售系統(tǒng),其中銷售信息表(表1-3)中的圖書編號必須是圖書信息表(表1-2)中存在的圖書編號,同樣,表1-3中的會員編號必須是會員信息表(表1-1)中存在的會員編號。例2:規(guī)定性別數(shù)據(jù)項(xiàng)只能存入“男”或“女”兩種值;規(guī)定單價這類的數(shù)值型數(shù)據(jù)的取值范圍等等。1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)⑶數(shù)據(jù)的并發(fā)控制

當(dāng)多個用戶的并發(fā)進(jìn)程同時存取、修改數(shù)據(jù)庫時,可能會相互干擾而得到錯誤的結(jié)果,并使數(shù)據(jù)庫的完整性遭到破壞。因此,必須對多用戶的并發(fā)操作予以控制和協(xié)調(diào)。

事務(wù)(Transaction)是并發(fā)控制的基本單位與控制對象。事務(wù)是一系列的操作。這些操作要么都做,要么都不做。兩事務(wù)的并發(fā)操作可能造成數(shù)據(jù)的錯誤。

通常采用封鎖措施來保證數(shù)據(jù)的正確性。例如,事務(wù)T1要修改數(shù)據(jù)A,首先封鎖它,執(zhí)行完讀寫操作之后才解鎖A。在事務(wù)T1的執(zhí)行過程中,如果事務(wù)T2也提出對數(shù)據(jù)A的封鎖要求,則必須等待,直到事務(wù)T1解鎖數(shù)據(jù)A后,事務(wù)T2才能獲得對數(shù)據(jù)A的控制權(quán)。1.2.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)⑷數(shù)據(jù)的恢復(fù)

數(shù)據(jù)恢復(fù)是通過記錄數(shù)據(jù)庫運(yùn)行的日志文件和定期做數(shù)據(jù)備份工作,保證當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)由于種種原因(如系統(tǒng)故障、介質(zhì)故障、計算機(jī)病毒等)遭到破壞導(dǎo)致不正確,或者部分甚至全部丟失時,系統(tǒng)有能力將數(shù)據(jù)庫恢復(fù)到最近某個時刻的一個正確狀態(tài)。1.3數(shù)據(jù)庫管理系統(tǒng)1.數(shù)據(jù)定義語言2.數(shù)據(jù)操作語言3.

數(shù)據(jù)控制語言1.數(shù)據(jù)定義語言

數(shù)據(jù)定義語言

(DataDefinitionLanguage,簡稱DDL),用于描述數(shù)據(jù)庫的結(jié)構(gòu)。DDL子系統(tǒng)幫助人們在數(shù)據(jù)庫中建立和維護(hù)數(shù)據(jù)字典,并且定義數(shù)據(jù)庫中的文件結(jié)構(gòu),也就是說DDL主要用于描述數(shù)據(jù)庫中信息的邏輯結(jié)構(gòu)。例如信息的名稱、信息的類型和格式等特性都屬于邏輯結(jié)構(gòu)的范疇。例:關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL的DDL語言,一般設(shè)置有createtable/index,altertable,droptable/index等語句,可以分別用于建立、修改或刪除關(guān)系數(shù)據(jù)庫的二維表結(jié)構(gòu)、定義或刪除數(shù)據(jù)庫表的索引。2.數(shù)據(jù)操作語言數(shù)據(jù)操作語言(DataManipulationLanguage,簡稱DML),支持用戶對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、追加、插入、刪除、修改等操作,支持用戶對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行各種基本操作。在大多數(shù)的DBMS中,都包含各種各樣的數(shù)據(jù)操作工具。

例如,視圖、報表生成器、范例查詢工具以及結(jié)構(gòu)化查詢語言等工具,這些工具協(xié)助用戶對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行各種操作。數(shù)據(jù)操作語言(按語法格式的實(shí)現(xiàn)方法分類)自含型或自主型語言數(shù)據(jù)操作語言可以獨(dú)立使用,不依賴于任何其他程序設(shè)計語言宿主型數(shù)據(jù)操作語言需要嵌入宿主語言(例如FORTRAN,COBOL,C等)中使用在使用高級語言編寫應(yīng)用程序時,如果需要調(diào)用數(shù)據(jù)庫中的數(shù)據(jù),則需要用宿主型數(shù)據(jù)操作語言的語句來實(shí)現(xiàn)。因此,數(shù)據(jù)庫管理系統(tǒng)必須包含數(shù)據(jù)操作語言的編譯或解釋程序。3.數(shù)據(jù)控制語言數(shù)據(jù)庫管理系統(tǒng)必須具有控制和管理功能來保障數(shù)據(jù)不被破壞,其中包括:在多用戶使用數(shù)據(jù)庫時對數(shù)據(jù)進(jìn)行的“并發(fā)控制”;對用戶權(quán)限實(shí)施監(jiān)督的“安全性檢查”;數(shù)據(jù)的備份、恢復(fù)和轉(zhuǎn)儲功能;對數(shù)據(jù)庫運(yùn)行情況的監(jiān)控和報告等。數(shù)據(jù)庫系統(tǒng)的規(guī)模越大,這類功能就越強(qiáng),大型機(jī)數(shù)據(jù)庫管理系統(tǒng)的管理功能一般比微型機(jī)數(shù)據(jù)庫管理系統(tǒng)更強(qiáng)。3.數(shù)據(jù)控制語言數(shù)據(jù)庫管理系統(tǒng)能夠向用戶提供數(shù)據(jù)控制語言

(DataControlLanguage,簡稱DCL),用于安全性、完整性、并發(fā)性、故障恢復(fù)等控制功能。

關(guān)系型數(shù)據(jù)庫管理系統(tǒng):它們提供的數(shù)據(jù)庫語言都具有“一體化”的特點(diǎn),即集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操作語言DML和數(shù)據(jù)控制語言DCL于一體,在數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)一管理下完成上述各種功能。1.4基本數(shù)據(jù)模型1.4.1基本數(shù)據(jù)模型1.4.2面向?qū)ο竽P?.4基本數(shù)據(jù)模型1.4.1基本數(shù)據(jù)模型1.4.2面向?qū)ο竽P?.4.1

基本數(shù)據(jù)模型層次模型網(wǎng)狀模型關(guān)系模型1.4.1

基本數(shù)據(jù)模型1.層次模型:利用樹型結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系的模型?,F(xiàn)出實(shí)體之間一對多的聯(lián)系。××大學(xué)專業(yè)學(xué)院1專業(yè)學(xué)院2專業(yè)學(xué)院n系所1系所m圖1-7層次結(jié)構(gòu)數(shù)據(jù)模型1.4.1

基本數(shù)據(jù)模型2.網(wǎng)狀模型:利用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及實(shí)體之間聯(lián)系的模型。體現(xiàn)多對多的聯(lián)系,具有很大的靈活性。圖1-8網(wǎng)狀結(jié)構(gòu)數(shù)據(jù)模型系所教師學(xué)生課程歸屬歸屬開設(shè)講授選修師從1.4.1

基本數(shù)據(jù)模型3.關(guān)系模型:用二維表結(jié)構(gòu)表示實(shí)體以及實(shí)體之間聯(lián)系的模型。關(guān)系模型把各種聯(lián)系都統(tǒng)一描述成一些二維表,即由若干行和若干列組成的表格。每一個這樣的二維表格就稱為一個關(guān)系。關(guān)系模型很容易被用戶所接受,且關(guān)系模型有嚴(yán)格的理論基礎(chǔ)(關(guān)系數(shù)學(xué)理論),因此,基于關(guān)系模型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)成為當(dāng)今最為流行的數(shù)據(jù)庫管理系統(tǒng)。1.4.1

基本數(shù)據(jù)模型基于不同數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng)階段第一階段:層次模型和網(wǎng)狀模型第二階段:關(guān)系模型第三階段:面向?qū)ο蟮臄?shù)據(jù)模型等非傳統(tǒng)數(shù)據(jù)模型1.4基本數(shù)據(jù)模型1.4.1基本數(shù)據(jù)模型1.4.2面向?qū)ο竽P?.4.2面向?qū)ο竽P蛡鹘y(tǒng)數(shù)據(jù)庫技術(shù)的制約2.新一代數(shù)據(jù)庫技術(shù)的代表—面向?qū)ο竽P?.數(shù)據(jù)庫技術(shù)與其它相關(guān)技術(shù)緊密結(jié)合1.4.2面向?qū)ο竽P蛡鹘y(tǒng)數(shù)據(jù)庫技術(shù)的制約⑴數(shù)據(jù)模型的構(gòu)成限制了處理數(shù)據(jù)的范疇傳統(tǒng)數(shù)據(jù)庫中采用的數(shù)據(jù)模型,即便是關(guān)系模型,它的主要特點(diǎn)也要強(qiáng)調(diào)數(shù)據(jù)的高度結(jié)構(gòu)化。這樣的數(shù)據(jù)模型所能處理的數(shù)據(jù)是離散式的,其數(shù)據(jù)之間的關(guān)系也很簡單,不能完全表達(dá)客觀世界中的復(fù)雜對象,例如大塊文本的處理、超文本、圖形圖像、聲音等復(fù)雜對象。⑵數(shù)據(jù)類型過于簡單傳統(tǒng)數(shù)據(jù)庫中存儲、處理的數(shù)據(jù)類型大多是數(shù)值型(包括整數(shù)和1.4.2面向?qū)ο竽P秃行?shù)的浮點(diǎn)數(shù))、字符型、日期型、邏輯型(即存儲真、假值的布爾型)等。這些數(shù)據(jù)類型包含的種類是很有限的(取值的范圍集合也是離散數(shù)據(jù)集合),無法表示變化性很強(qiáng)的矢量集合。⑶處理的對象是靜態(tài)的缺乏抽象與歸納傳統(tǒng)數(shù)據(jù)庫中雖然用數(shù)據(jù)模型表示了客觀對象的主要特征,但是,其所描述的對象主要是一種靜態(tài)對象,缺乏利用數(shù)據(jù)抽象、歸納知識的特性,即不具有演繹和推理的能力,因此很難滿足更高層次的信息管理和決策支持的需求,使數(shù)據(jù)庫技術(shù)的應(yīng)用范疇只能限定在一定的范圍之內(nèi)。1.4.2面向?qū)ο竽P?.新一代數(shù)據(jù)庫技術(shù)的代表—面向?qū)ο竽P蛿?shù)據(jù)庫技術(shù)發(fā)展的基礎(chǔ)是數(shù)據(jù)模型的變革。面向?qū)ο蟮臄?shù)據(jù)模型的主要特點(diǎn)是:⑴面向?qū)ο蟮臄?shù)據(jù)模型能完整地描述現(xiàn)實(shí)世界的數(shù)據(jù)結(jié)構(gòu),能表達(dá)數(shù)據(jù)之間的嵌套、遞歸聯(lián)系。因此,這種數(shù)據(jù)模型處理的數(shù)據(jù)類型更加廣泛,表示的實(shí)際對象更加豐富。⑵具有面向?qū)ο蠹夹g(shù)的封裝型(即把數(shù)據(jù)與操作定義在一起)和繼承性(即繼承數(shù)據(jù)結(jié)構(gòu)的特性和操作的特性)的特點(diǎn),提高了軟件的重復(fù)使用性。1.4.2面向?qū)ο竽P?.數(shù)據(jù)庫技術(shù)與其它相關(guān)技術(shù)緊密結(jié)合⑴數(shù)據(jù)庫技術(shù)與分布式處理技術(shù)相結(jié)合,產(chǎn)生了分布式數(shù)據(jù)庫系統(tǒng)。⑵數(shù)據(jù)庫技術(shù)與并行處理技術(shù)相結(jié)合,產(chǎn)生了并行數(shù)據(jù)庫系統(tǒng)。⑶數(shù)據(jù)庫技術(shù)與人工智能技術(shù)相結(jié)合,產(chǎn)生了知識庫系統(tǒng)、演繹數(shù)據(jù)庫系統(tǒng)以及主動數(shù)據(jù)庫系統(tǒng)。⑷數(shù)據(jù)庫技術(shù)與多媒體技術(shù)相結(jié)合,產(chǎn)生了多媒體數(shù)據(jù)庫系統(tǒng)。⑸數(shù)據(jù)庫技術(shù)與模糊技術(shù)相結(jié)合,產(chǎn)生了模糊數(shù)據(jù)庫系統(tǒng)。

另外還有數(shù)據(jù)倉庫、統(tǒng)計數(shù)據(jù)庫、時態(tài)數(shù)據(jù)庫、基于邏輯的數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫、聯(lián)邦數(shù)據(jù)庫、工作流數(shù)據(jù)庫、工程數(shù)據(jù)庫、地理數(shù)據(jù)庫、空間數(shù)據(jù)庫、科學(xué)數(shù)據(jù)庫等等系統(tǒng)。這些數(shù)據(jù)庫雖然采用了不同的數(shù)據(jù)模型,但都具有面向?qū)ο竽P偷奶卣鳌?.4.2面向?qū)ο竽P偷谝淮鷶?shù)據(jù)庫系統(tǒng):非關(guān)系型數(shù)據(jù)庫系統(tǒng),包括層次型和網(wǎng)狀型數(shù)據(jù)庫系統(tǒng)。第二代數(shù)據(jù)庫系統(tǒng):關(guān)系型數(shù)據(jù)庫系統(tǒng)。與第一代數(shù)據(jù)庫系統(tǒng)相比,第二代數(shù)據(jù)庫系統(tǒng)的突出優(yōu)點(diǎn)有兩個:一是采用二維表作為數(shù)據(jù)結(jié)構(gòu),簡單明了、易學(xué)易用;二是查詢效率高,僅用一條命令即可訪問整個二維表,而第一代數(shù)據(jù)庫每次僅能訪問一條記錄。此外,通過多表聯(lián)合操作還能對有聯(lián)系的若干個二維表實(shí)現(xiàn)“關(guān)聯(lián)”查詢。1.5數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.5.1數(shù)據(jù)庫系統(tǒng)模式的概念1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.5.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨(dú)立性1.5數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.5.1數(shù)據(jù)庫系統(tǒng)模式的概念1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.5.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨(dú)立性1.5.1數(shù)據(jù)庫系統(tǒng)模式的概念型(Type)是指對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明。值(Value)是型的一個具體賦值。

例如:學(xué)生記錄定義為(學(xué)號,姓名,性別,姓名,系別,年齡,籍貫)這樣的記錄型,而(900201,李明,男,計算機(jī),22,江蘇)則是該記錄型的一個具體記錄值。模式(Schema)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它僅僅涉及到型的描述,不涉及到具體的值。模式的一個具體值稱為模式的一個實(shí)例(Instance)。同一個模式可以有很多實(shí)例。模式與實(shí)例的關(guān)系:模式是相對穩(wěn)定的,而實(shí)例是相對變動的,因?yàn)閿?shù)據(jù)庫中的數(shù)據(jù)是在不斷變化、更新的。模式反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系,而實(shí)例反映的是數(shù)據(jù)庫某一時刻的具體狀態(tài)。1.5.1數(shù)據(jù)庫系統(tǒng)模式的概念雖然實(shí)際的數(shù)據(jù)管理系統(tǒng)產(chǎn)品種類很多,他們支持不同的數(shù)據(jù)模型,使用不同的數(shù)據(jù)語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結(jié)構(gòu)也各不相同,但它們在體系結(jié)構(gòu)上通常都具有相同的特征,即采用三級模式結(jié)構(gòu)并提供兩級映像功能。1.5數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.5.1數(shù)據(jù)庫系統(tǒng)模式的概念1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.5.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨(dú)立性1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)模式(Schema)外模式(ExternalSchema)內(nèi)模式(InternalSchema)1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)圖1-9數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.模式(Schema)模式也稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)中的中間層,既不涉及數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序,與所使用的應(yīng)用開發(fā)工具及高級程序設(shè)計語言無關(guān)。一個數(shù)據(jù)庫只有一個模式。數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎(chǔ),統(tǒng)一綜合地考慮了所有用戶的需求,并將這些需求有機(jī)地結(jié)合成一個邏輯整體。定義模式時不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu),例如數(shù)據(jù)記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成,數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等,而且要定義數(shù)據(jù)之間的聯(lián)系,定義與

數(shù)據(jù)有關(guān)的安全性、完整性要求等。1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)2.外模式(ExternalSchema)外模式也稱子模式(Subschema)或用戶模式,它是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖。外模式通常是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。由于它是各個用戶的數(shù)據(jù)視圖,如果不同的用戶在應(yīng)用的需求、看待數(shù)據(jù)方式、對數(shù)據(jù)保密的要求等方面存在差異,則其外模式描述就是不同的。即使對模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可以不同。另一方面,同一外模式也可以為某一用戶的多個應(yīng)用系統(tǒng)所使用,但一個應(yīng)用程序只能使用一個外模式。1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的。1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)3.內(nèi)模式(InternalSchema)內(nèi)模式也稱存儲模式(StorageSchema),一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。例如,記錄的存儲方式是順序存儲、按索引順序存儲、按照B樹結(jié)構(gòu)存儲、……;索引按照什么方式組織;數(shù)據(jù)是否壓縮,是否加密;數(shù)據(jù)的存儲記錄結(jié)構(gòu)有何規(guī)定等。1.5數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.5.1數(shù)據(jù)庫系統(tǒng)模式的概念1.5.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.5.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨(dú)立性1.5.3數(shù)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論