數(shù)據(jù)庫(kù)知識(shí)培訓(xùn)資料_第1頁(yè)
數(shù)據(jù)庫(kù)知識(shí)培訓(xùn)資料_第2頁(yè)
數(shù)據(jù)庫(kù)知識(shí)培訓(xùn)資料_第3頁(yè)
數(shù)據(jù)庫(kù)知識(shí)培訓(xùn)資料_第4頁(yè)
數(shù)據(jù)庫(kù)知識(shí)培訓(xùn)資料_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)知知識(shí)數(shù)據(jù)庫(kù)管管理系統(tǒng)統(tǒng)的功能能和特征征數(shù)據(jù)庫(kù)庫(kù)模型(概概念模式式、外模模式、內(nèi)內(nèi)模式)數(shù)據(jù)模型,ER圖,第一范式、第二范式、第三范式數(shù)據(jù)操作(集合運(yùn)算和關(guān)系運(yùn)算)數(shù)據(jù)庫(kù)語(yǔ)言(SQL)數(shù)據(jù)庫(kù)的控制功能(并發(fā)控制、恢復(fù)、安全性、完整性)數(shù)據(jù)倉(cāng)庫(kù)和分布式數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1、數(shù)據(jù)據(jù)庫(kù)知識(shí)識(shí)1.1數(shù)數(shù)據(jù)管理理技術(shù)的的發(fā)展數(shù)據(jù)據(jù)管理技技術(shù)的發(fā)發(fā)展階段段:人工工階段:數(shù)據(jù)處處理方式式是批處處理。其其特點(diǎn)是是: 數(shù)數(shù)據(jù)不保保存 沒(méi)沒(méi)有專用用的軟件件對(duì)數(shù)據(jù)據(jù)進(jìn)行管管理 只只有程序序概念,沒(méi)沒(méi)有文件件概念 一一組數(shù)據(jù)據(jù)對(duì)應(yīng)一一個(gè)程序序,即數(shù)數(shù)據(jù)是面面向程序序的文件件系統(tǒng)階階段:數(shù)數(shù)據(jù)處理理方式有有批處理理,

2、也有有聯(lián)機(jī)實(shí)實(shí)時(shí)處理理。其特特點(diǎn)是: 數(shù)數(shù)據(jù)可長(zhǎng)長(zhǎng)期保存存在外存存上 數(shù)數(shù)據(jù)的邏邏輯結(jié)構(gòu)構(gòu)與物理理結(jié)構(gòu)有有了區(qū)別別,但簡(jiǎn)簡(jiǎn)單 文文件組織織已多樣樣化,有有索引文文件、鏈鏈接文件件和直接接存取文文件等,但但文件之之間相互互獨(dú)立,沒(méi)沒(méi)有聯(lián)系系 數(shù)數(shù)據(jù)不再再屬于某某個(gè)特定定的程序序,可重重復(fù)使用用,但數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)和程序序之間的的依賴關(guān)關(guān)系并未未根本改改變。其缺點(diǎn)是是: 數(shù)數(shù)據(jù)冗余余性 數(shù)數(shù)據(jù)不一一致性 數(shù)數(shù)據(jù)聯(lián)系系弱數(shù)據(jù)據(jù)庫(kù)階段段:其特特點(diǎn)是: 用用關(guān)系模模型表示示復(fù)雜的的數(shù)據(jù)模模型 有有較高的的數(shù)據(jù)獨(dú)獨(dú)立性 數(shù)數(shù)據(jù)庫(kù)系系統(tǒng)為用用戶提供供了方便便的用戶戶接口 數(shù)數(shù)據(jù)庫(kù)管管理系統(tǒng)統(tǒng)提供了了四個(gè)方方面的

3、數(shù)數(shù)據(jù)控制制能力數(shù)據(jù)完完整性、數(shù)據(jù)安安全性、數(shù)據(jù)庫(kù)庫(kù)的并發(fā)發(fā)控制、數(shù)據(jù)庫(kù)庫(kù)的恢復(fù)復(fù)數(shù)據(jù)庫(kù)的的基本概概念數(shù)據(jù)據(jù)庫(kù)(DDB):是存存儲(chǔ)在一一起的相相關(guān)數(shù)據(jù)據(jù)的集合合。DBB能為各各種用戶戶共享,具具有最小小冗余度度,數(shù)據(jù)據(jù)間聯(lián)系系密切,而而又有較較高的程程序與數(shù)數(shù)據(jù)的獨(dú)獨(dú)立性。數(shù)據(jù)據(jù)庫(kù)管理理系統(tǒng)(DBMS):DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS可分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮?。?shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)(DBBS):即是是采用了了數(shù)據(jù)庫(kù)庫(kù)技術(shù)的的計(jì)算機(jī)機(jī)系統(tǒng),是是實(shí)現(xiàn)有有組織地地、動(dòng)態(tài)態(tài)存儲(chǔ)大大量關(guān)聯(lián)

4、聯(lián)數(shù)據(jù),方方便多用用戶訪問(wèn)問(wèn)的計(jì)算算機(jī)軟件件、硬件件和數(shù)據(jù)據(jù)資源而而組成的的系統(tǒng)。數(shù)據(jù)據(jù)庫(kù)技術(shù)術(shù):研究究數(shù)據(jù)庫(kù)庫(kù)的結(jié)構(gòu)構(gòu)、存儲(chǔ)儲(chǔ)、設(shè)計(jì)計(jì)、管理理和使用用的一門門軟件學(xué)學(xué)科。1.2數(shù)數(shù)據(jù)模型型表示示實(shí)體類類型及實(shí)實(shí)體之間間聯(lián)系的的模型稱稱為“數(shù)據(jù)模模型”。數(shù)據(jù)據(jù)模型是是嚴(yán)格定定義的概概念的集集合,數(shù)數(shù)據(jù)庫(kù)的的數(shù)據(jù)模模型應(yīng)包包括數(shù)據(jù)據(jù)結(jié)構(gòu)(指指對(duì)實(shí)體體類型和和實(shí)體之之間聯(lián)系系的表達(dá)達(dá)和實(shí)現(xiàn)現(xiàn))、數(shù)數(shù)據(jù)操作作(指對(duì)對(duì)數(shù)據(jù)庫(kù)庫(kù)的檢索索和更新新兩大類類操作)和和完整性性約束(給給出數(shù)據(jù)據(jù)及其所所具有的的制約合合依賴規(guī)規(guī)則)33個(gè)部分分。數(shù)據(jù)據(jù)模型的的種類很很多。目目前廣泛泛使用的的數(shù)據(jù)模模型可分分為兩種

5、種:概念念數(shù)據(jù)模模型和結(jié)結(jié)構(gòu)數(shù)據(jù)據(jù)模型。概念數(shù)據(jù)據(jù)模型這是是一種獨(dú)獨(dú)立于任任何計(jì)算算機(jī)系統(tǒng)統(tǒng)的模型型,完全全不涉及及信息在在計(jì)算機(jī)機(jī)系統(tǒng)中中的表示示,用于于建立信信息世界界的數(shù)據(jù)據(jù)模型,是是現(xiàn)實(shí)世世界的第第一層抽抽象,是是用戶和和數(shù)據(jù)庫(kù)庫(kù)設(shè)計(jì)人人員進(jìn)行行交流的的工具,其其中最著著名的模模型是“實(shí)體聯(lián)聯(lián)系模型型”(ER模型型)。ER模型型直接從從現(xiàn)實(shí)世世界中抽抽取出實(shí)實(shí)體類型型及實(shí)體體間聯(lián)系系圖(EER圖)表表示數(shù)據(jù)據(jù)模型。一般遇遇到實(shí)際際問(wèn)題時(shí)時(shí),總是是先設(shè)計(jì)計(jì)一個(gè)EER模型型,然后后再把EER模型型轉(zhuǎn)換成成與DBBMS關(guān)關(guān)聯(lián)的數(shù)數(shù)據(jù)模型型。結(jié)構(gòu)數(shù)據(jù)據(jù)模型(亦亦稱基本本數(shù)據(jù)模模型):這是是直接

6、面面向數(shù)據(jù)據(jù)庫(kù)的邏邏輯數(shù)據(jù)據(jù)結(jié)構(gòu),通通常有一一組嚴(yán)格格定義了了語(yǔ)法和和語(yǔ)義的的數(shù)據(jù)庫(kù)庫(kù)語(yǔ)言,用用來(lái)定義義、操縱縱數(shù)據(jù)庫(kù)庫(kù)中的數(shù)數(shù)據(jù)。其其主要有有層次、網(wǎng)狀、關(guān)系模模型三種種。層次模模型:用用樹(shù)型(層層次)結(jié)結(jié)構(gòu)表示示實(shí)體類類型及實(shí)實(shí)體之間間聯(lián)系的的數(shù)據(jù)模模型稱為為層次模模型。層層次結(jié)構(gòu)構(gòu)是一棵棵樹(shù),樹(shù)樹(shù)的結(jié)點(diǎn)點(diǎn)是記錄錄類型,非非根結(jié)點(diǎn)點(diǎn)有且只只有一個(gè)個(gè)父結(jié)點(diǎn)點(diǎn)。上一一層記錄錄類型和和下一層層記錄類類型的聯(lián)聯(lián)系是11:M聯(lián)系。網(wǎng)狀模模型:用用從結(jié)構(gòu)構(gòu)(網(wǎng)絡(luò)絡(luò)結(jié)構(gòu))表表示實(shí)體體類型及及實(shí)體間間聯(lián)系的的數(shù)據(jù)模模型稱為為網(wǎng)狀模模型。記記錄之間間的聯(lián)系系通過(guò)指指針實(shí)現(xiàn)現(xiàn),M:N聯(lián)系容容易實(shí)現(xiàn)現(xiàn)(一個(gè)個(gè)M

7、:N聯(lián)系可可拆成兩兩個(gè)1:M聯(lián)系),查查詢效率率高。關(guān)系模模型:用用規(guī)范化化了的二二維表格格結(jié)構(gòu)表表示實(shí)體體集,用用鍵表示示實(shí)體間間聯(lián)系。通常是是若干個(gè)個(gè)關(guān)系模模型組成成的集合合。1.3數(shù)數(shù)據(jù)庫(kù)系系統(tǒng)的結(jié)結(jié)構(gòu)數(shù)據(jù)據(jù)庫(kù)的數(shù)數(shù)據(jù)體系系結(jié)構(gòu)數(shù)據(jù)庫(kù)的的數(shù)據(jù)體體系結(jié)構(gòu)構(gòu)分成33個(gè)級(jí)別別:內(nèi)部部級(jí)、概概念級(jí)、外部級(jí)級(jí)。從某某個(gè)角度度看到的的數(shù)據(jù)特特性稱為為數(shù)據(jù)視視圖。 外外部級(jí)最最接近用用戶,是是用戶看看到的數(shù)數(shù)據(jù)特性性,用戶戶的數(shù)據(jù)據(jù)視圖稱稱為外模模型。 概概念級(jí)是是涉及到到所有用用戶的數(shù)數(shù)據(jù)定義義,也就就是全局局的數(shù)據(jù)據(jù)視圖,稱稱為概念念模型。 內(nèi)內(nèi)部級(jí)是是最接近近于物理理存儲(chǔ)設(shè)設(shè)備,涉涉及到實(shí)實(shí)際數(shù)

8、據(jù)據(jù)的存儲(chǔ)儲(chǔ)方式。物理存存儲(chǔ)的數(shù)數(shù)據(jù)視圖圖稱為內(nèi)內(nèi)模型。這些模型型用數(shù)據(jù)據(jù)庫(kù)的數(shù)數(shù)據(jù)定義義語(yǔ)言(DDL)描述后,分別得到外模式、概念模式、內(nèi)模式。為實(shí)現(xiàn)這個(gè)抽象級(jí)別的轉(zhuǎn)換,數(shù)據(jù)庫(kù)和管理系統(tǒng)在這級(jí)結(jié)構(gòu)之間提供了兩層映象:外模式概念模式映象和概念模式內(nèi)模式映象數(shù)據(jù)庫(kù)管管理系統(tǒng)統(tǒng)的主要要目標(biāo):把數(shù)據(jù)據(jù)作為可可管理的的資源處處理。數(shù)據(jù)庫(kù)管管理系統(tǒng)統(tǒng)的個(gè)個(gè)重要功功能:數(shù)數(shù)據(jù)庫(kù)的的定義功功能、數(shù)數(shù)據(jù)庫(kù)的的操縱功功能、數(shù)數(shù)據(jù)庫(kù)的的保護(hù)功功能、數(shù)數(shù)據(jù)庫(kù)的的維護(hù)功功能、數(shù)數(shù)據(jù)字典典。數(shù)據(jù)庫(kù)的的全局結(jié)結(jié)構(gòu):DBS的的某些功功能是由由計(jì)算機(jī)機(jī)的OSS提供的的,OSS提供了了DBSS最基本本的服務(wù)務(wù),因此此 DBBS

9、必須須在OSS基礎(chǔ)上上工作。在DBBS中就就應(yīng)包含含DBMMS和OS之間間的界面面。DBS的的全局結(jié)結(jié)構(gòu)由數(shù)數(shù)據(jù)庫(kù)用用戶、數(shù)數(shù)據(jù)庫(kù)管管理系統(tǒng)統(tǒng)的查詢?cè)兲幚砥髌?、?shù)據(jù)據(jù)庫(kù)管理理系統(tǒng)的的存儲(chǔ)管管理器和和磁盤存存儲(chǔ)器中中的數(shù)據(jù)據(jù)結(jié)構(gòu)等等部分組組成。1.4關(guān)關(guān)系模型型和關(guān)系系運(yùn)算基本本概述關(guān)系數(shù)數(shù)據(jù)庫(kù)是是應(yīng)用關(guān)關(guān)系數(shù)據(jù)據(jù)模型來(lái)來(lái)建立和和處理數(shù)數(shù)據(jù)庫(kù)中中的數(shù)據(jù)據(jù)。這其其中主要要涉及幾幾個(gè)重要要的概念念。關(guān)系關(guān)系實(shí)實(shí)際上就就可以看看作是一一個(gè)二維維表。其其中,表表的每一一列稱為為屬性,并并用屬性性名來(lái)標(biāo)標(biāo)識(shí)。每每個(gè)屬性性的取值值范圍,就就是該屬屬性所對(duì)對(duì)應(yīng)的值值域。表表的每一一行稱為為元組。約定該該表的行

10、行、列的的次序的的改變,不不改變關(guān)關(guān)系的語(yǔ)語(yǔ)義性質(zhì)質(zhì)。對(duì)于一個(gè)個(gè)關(guān)系,應(yīng)應(yīng)該具備備下列性性質(zhì): 關(guān)關(guān)系中每每一個(gè)屬屬性值都都是不可可分解的的; 關(guān)關(guān)系中不不允許出出現(xiàn)相同同的元組組;不讓讓用戶考考慮元組組的順序序; 用用戶在使使用時(shí)應(yīng)應(yīng)考慮列列的順序序。關(guān)系系模型關(guān)系模型型是目前前最流行行的一種種數(shù)據(jù)模模型,它它是用二二維表格格結(jié)構(gòu)表表示實(shí)體體集,關(guān)關(guān)鍵碼表表示實(shí)體體間的聯(lián)聯(lián)系。關(guān)關(guān)鍵字(鍵鍵)I.候候選鍵關(guān)系中的的某一屬屬性或?qū)賹傩越M,若若它的值值可以唯唯一標(biāo)識(shí)識(shí)關(guān)系中中的一個(gè)個(gè)元組而而又不含含有多余余的屬性性,則稱稱該屬性性或?qū)傩孕越M為候候選關(guān)鍵鍵字。II.主鍵鍵關(guān)系模式式中用戶戶正使用用

11、的候選選關(guān)鍵字字稱為主主關(guān)鍵字字。III. 外關(guān)關(guān)鍵字若模式RR中某屬屬性集是是其他模模式的候候選鍵,那那么該屬屬性集對(duì)對(duì)模式RR而言就就是外關(guān)關(guān)鍵字。IV.超鍵鍵關(guān)系模式式中,為為唯一標(biāo)標(biāo)識(shí)元組組的屬性性集稱為為超鍵。關(guān)系系模型關(guān)系模型型遵循數(shù)數(shù)據(jù)庫(kù)的的3級(jí)體系系結(jié)構(gòu)。關(guān)系模模式數(shù)據(jù)庫(kù)的的概念模模式定義義為關(guān)系系模式的的集合。每個(gè)關(guān)關(guān)系模式式就是記記錄類型型。關(guān)系子子模式這是對(duì)用用戶所用用到的那那部分?jǐn)?shù)數(shù)據(jù)的描描述。除除了指出出用戶用用到的數(shù)數(shù)據(jù)外,還還應(yīng)指出出數(shù)據(jù)與與模式中中相應(yīng)數(shù)數(shù)據(jù)的聯(lián)聯(lián)系,即即指出子子模式與與模式之之間的對(duì)對(duì)應(yīng)性。關(guān)系存存儲(chǔ)模式式(關(guān)系系內(nèi)模式式)這是作為為文件看看待

12、的,每每個(gè)元組組就是一一個(gè)記錄錄。關(guān)系模型型有3個(gè)部分分構(gòu)成:數(shù)據(jù)結(jié)結(jié)構(gòu)關(guān)系模型型采用的的數(shù)據(jù)結(jié)結(jié)構(gòu)是關(guān)關(guān)系。關(guān)系操操作關(guān)系系模型提提供一組組完備的的關(guān)系運(yùn)運(yùn)算,以以支持對(duì)對(duì)數(shù)據(jù)庫(kù)庫(kù)的各種種操作。關(guān)系運(yùn)運(yùn)算的理理論是關(guān)關(guān)系代數(shù)數(shù)和關(guān)系系演算。關(guān)系系的完整整性在關(guān)系模模型中,數(shù)數(shù)據(jù)的約約束條件件通過(guò)三三類完整整性約束束條件來(lái)來(lái)描述。即:I.實(shí)實(shí)體完整整性要求關(guān)系系中的元元組的主主鍵值不不能是空空值。II.參照照完整性性要求在關(guān)關(guān)系中不不允許引引用不存存在的實(shí)實(shí)體。III. 用戶戶定義的的完整性性這是針對(duì)對(duì)某一具具體數(shù)據(jù)據(jù)的約束束條件,由由應(yīng)用環(huán)環(huán)境決定定,例如如屬性的的值限制制。關(guān)系代代數(shù)關(guān)系查

13、詢?cè)冋Z(yǔ)言根根據(jù)其理理論基礎(chǔ)礎(chǔ)的不同同分成兩兩大類:關(guān)關(guān)系代數(shù)數(shù)語(yǔ)言:查詢操操作是以以集合操操作為基基礎(chǔ)的運(yùn)運(yùn)算。關(guān)關(guān)系演算算語(yǔ)言:查詢操操作是以以謂詞演演算為基基礎(chǔ)的運(yùn)運(yùn)算。其中,關(guān)關(guān)系代數(shù)數(shù)是以集集合代數(shù)數(shù)為基礎(chǔ)礎(chǔ)發(fā)展起起來(lái)的,它它是以關(guān)關(guān)系為運(yùn)運(yùn)算對(duì)象象的一組組高級(jí)運(yùn)運(yùn)算的集集合。關(guān)關(guān)系代數(shù)數(shù)的運(yùn)算算可分為為兩類:基本運(yùn)算算操作:并、差差、笛卡卡爾積、投影和和選擇。組合運(yùn)算算操作:交、聯(lián)聯(lián)接、自自然聯(lián)接接和除。另外,還還有幾種種擴(kuò)充的的關(guān)系代代數(shù)操作作:外聯(lián)聯(lián)接(左左外聯(lián)接接和右外外聯(lián)接)、外部并并和半聯(lián)聯(lián)接。以下對(duì)幾幾種常用用的關(guān)系系運(yùn)算作作一個(gè)簡(jiǎn)簡(jiǎn)單的介介紹。基基本運(yùn)算算1.并設(shè)有兩個(gè)

14、個(gè)關(guān)系RR和S具有相相同的關(guān)關(guān)系模式式,關(guān)系系R和S的并是是由屬于于R或?qū)儆谟赟的元組組組成的的集合,記記為RS。形式式定義如如下:RRSttRtS2.差設(shè)有兩個(gè)個(gè)關(guān)系RR和S具有相相同的關(guān)關(guān)系模式式,關(guān)系系R和S的差是是由屬于于R但不屬屬于S的元組組組成的的集合,記記為RS。形式式定義如如下:RRSttRtS3.笛笛卡兒積積設(shè)關(guān)系RR和S元數(shù)分分別為rr和s。定義義R和S的笛卡卡兒積是是一個(gè)(r+ss)元的的元組集集合,每每個(gè)元組組的前rr個(gè)分量量來(lái)自RR的一個(gè)個(gè)元組,后后s個(gè)分量量來(lái)自SS的一個(gè)個(gè)元組,記記為RS形式定定義如下下:RStttr,tstrRtsS若R有mm個(gè)元組組,S有n個(gè)元

15、組組,則RRS有(mnn)個(gè)元元組。4.投投影該操作是是對(duì)關(guān)系系進(jìn)行垂垂直分割割,消去去某些列列,并重重新安排排列的順順序,再再刪去重重復(fù)元組組。5.選擇這個(gè)操作作是根據(jù)據(jù)某些條條件對(duì)關(guān)關(guān)系作水水平分割割,即選選擇符合合條件的的元組。條件可可用命題題公式FF表示,F(xiàn)F中的運(yùn)運(yùn)算對(duì)象象是常數(shù)數(shù)(用引引號(hào)括起起來(lái))或或元組分分量(屬屬性名或或列的序序號(hào))。運(yùn)算符符有算術(shù)術(shù)比較運(yùn)運(yùn)算符(,)和邏輯運(yùn)算符(,)。F(RR)ttRF(tt) trrue為選擇擇運(yùn)算符符,F(xiàn)(R)表示從從R中挑選選滿足公公式F的元組組所構(gòu)成成的集合合。常量量用引號(hào)號(hào)括起來(lái)來(lái),而屬屬性號(hào)或或?qū)傩悦灰糜靡?hào)括括起來(lái)。組組

16、合運(yùn)算算1.交設(shè)有兩個(gè)個(gè)關(guān)系RR和S具有相相同的關(guān)關(guān)系模式式,關(guān)系系R和S的交是是由屬于于R又屬于于S的元組組組成的的集合,記記為RS。形式式定義如如下:RRSttRtS2.聯(lián)接(又又稱聯(lián)接)從關(guān)系RR和S的笛卡卡爾積中中選取屬屬性值之之間滿足足一定條條件的元元組,記記為:RSi(i+j)(RS) ij這里R的的元數(shù)是是r,是算術(shù)術(shù)比較運(yùn)運(yùn)算符。RS操作是是在R和S iij的笛卡卡爾積中中挑選第第i個(gè)分量量和第(r+j)個(gè)分量滿足運(yùn)算的元組組成的新的關(guān)系。3.自自然聯(lián)接接兩個(gè)關(guān)系系R和S的自然然聯(lián)接用用RS表示,具具體計(jì)算算過(guò)程如如下:A)計(jì)算算RSB)設(shè)設(shè)R和S的公共共屬性是是A1,A2,A

17、3,.AAk.,挑挑選RS中滿足足R.AA1=SS.A11,R.A2,.,R.Ak=S.AAk的那那些元組組C)去掉掉S.AA1,SS.A22,.S.AAkRS可用下下列形式式定義:RSi11i2,.,imm(R.AA1=SS.A11.R.AAk=SS.Akk(RS)。4.除法設(shè)兩個(gè)關(guān)關(guān)系R和S的元數(shù)數(shù)分別為為r和s(rss0),那那么RS是一個(gè)個(gè)(rs)元的的元組的的集合。(RS)是滿滿足下列列條件的的最大關(guān)關(guān)系,其其中每個(gè)個(gè)元組tt與S中每個(gè)個(gè)元組uu組成的的新元組組必在在關(guān)系RR中。RS的的具體計(jì)計(jì)算過(guò)程程如下:A) TT=1,22,.r-ss(R)B) W=(TS)-R求出出TS中不在

18、在R的元組組C) VV=1,22,.r-s(WW)D) RRS=TT-V因此RS1,2,.r-s (R)- 1,22,.r-ss (1,22,.r-ss (RR) S) -R )。1.5關(guān)關(guān)系數(shù)據(jù)據(jù)庫(kù)SQQL語(yǔ)言言SQL數(shù)數(shù)據(jù)庫(kù)的的數(shù)據(jù)體體系結(jié)構(gòu)構(gòu)SQL數(shù)數(shù)據(jù)庫(kù)的的數(shù)據(jù)體體系結(jié)構(gòu)構(gòu)基本上上也是33級(jí)結(jié)構(gòu)構(gòu),但術(shù)術(shù)語(yǔ)與傳傳統(tǒng)關(guān)系系模型術(shù)術(shù)語(yǔ)不同同。SQQL中,關(guān)關(guān)系模型型稱為“基本表表”,存儲(chǔ)儲(chǔ)模式稱稱為“存儲(chǔ)文文件”,子模模式稱為為“視圖”,元組組稱為“行”,屬性性稱為“列”。SQL語(yǔ)語(yǔ)言的組組成一個(gè)SQQL數(shù)據(jù)據(jù)庫(kù)是表表的匯集集,它用用一個(gè)或或多個(gè)SSQL模模式定義義。一個(gè)SQQL表由由行集

19、構(gòu)構(gòu)成,一一行是列列的序列列,每列列對(duì)應(yīng)一一個(gè)數(shù)據(jù)據(jù)項(xiàng)。一個(gè)表或或者是一一個(gè)基本本表,或或者是一一個(gè)視圖圖?;颈颈硎菍?shí)實(shí)際存儲(chǔ)儲(chǔ)在數(shù)據(jù)據(jù)庫(kù)的表表,視圖圖是由若若干基本本表或其其他視圖圖構(gòu)成的的表的定定義。SQL包包括了所所有對(duì)數(shù)數(shù)據(jù)庫(kù)的的操作,主主要有44個(gè)部分分:數(shù)據(jù)據(jù)定義(SQL DDL)、數(shù)據(jù)操縱(SQL DML)、訪問(wèn)數(shù)據(jù)控制、嵌入式SQL語(yǔ)言的規(guī)定。SQL DDDL主要要是定義義基本表表、視圖圖、索引引3個(gè)部分分:基本本表的定定義、修修改、撤撤銷基本表的的定義可可用“CREEATEE TAABLEE”語(yǔ)句實(shí)實(shí)現(xiàn),增增加屬性性可以用用“ALTTER.AADD.”語(yǔ)句,刪刪除屬性性可以

20、用用“ALTTER.DDROPP.”語(yǔ)句;刪除已已存在的的表可用用“DROOP TTABLLE.”語(yǔ)語(yǔ)句。視圖的的定義和和撤銷視圖的定定義可以以用CRREATTE VIEEW語(yǔ)句句實(shí)現(xiàn)。視圖的的撤消可可以用DDROPP VVIEWW語(yǔ)句實(shí)實(shí)現(xiàn)。索引的的定義和和撤銷索引的定定義可以以用CRREATTE ,用用DROOP撤銷銷。SQLL DMML 數(shù)數(shù)據(jù)查詢?cè)冋Z(yǔ)句SQL的的查詢語(yǔ)語(yǔ)句只有有SELLECTT語(yǔ)句。SELLECTT查詢語(yǔ)語(yǔ)句在關(guān)系代代數(shù)中最最常用的的式子是是“投影選選擇聯(lián)接接表達(dá)式式”:A1,A2,.Ann(F(R11R2.Rm),這這里R11,R2,.Rm為為基本表表,F(xiàn)是公式式,A

21、11,A2,.An為為屬性。針對(duì)這這個(gè)表達(dá)達(dá)式,SSQL 設(shè)計(jì)了了SELLECTT句型:SELCCET AA1,AA2,.AAnFROMM RR1,RR2,.RRmWHERRE F在WHEERE子子句的條條件表達(dá)達(dá)式F中可出出現(xiàn)下列列操作符符和運(yùn)算算特點(diǎn):算術(shù)比比較符、邏輯運(yùn)運(yùn)算符、集合運(yùn)運(yùn)算符、集合成成員資格格運(yùn)算符符、謂詞詞和聚合合函數(shù)。庫(kù)函數(shù)數(shù) CCOUNNT(*) 計(jì)算算元組的的個(gè)數(shù)COOUNTT(列名名) 對(duì)對(duì)某一列列中的值值計(jì)算個(gè)個(gè)數(shù)。 SSUM(列名) 求某某一列值值的總和和 AAVG(列名) 求求某一列列值的平平均值 MMAX(列名) 求某某一列值值中的最最大值 MMIN(列名

22、) 求求某一列列值中的的最小值值SELLECTT語(yǔ)句完完整的句句法SELEECT 目目標(biāo)表的的列名或或列表達(dá)達(dá)式序列列FROMM 基本表表或(和)視圖序序列WHEERE行條件件表達(dá)式式GROOUT BY 列名序序列HAVVINGG組條件件表達(dá)式式DRDDER BY 列名序.前兩個(gè)句句子是必必不可少少的,后后面的44個(gè)句子子可以缺缺省。整整個(gè)語(yǔ)句句的語(yǔ)義義如下:從FRROM子子句中列列出的表表,選取取滿足WWHERRE子句句中給出出的行條條件表達(dá)達(dá)式的元元組,然然后按GGROUUP子句句(分組組子句)中中指定列列的值分分組,再再提取滿滿足HAAVINNG子句句中組條條件表達(dá)達(dá)式的那那些組,按按S

23、ELLECTT子句給給出的列列名或列列表達(dá)式式求值輸輸出。OORDEER子句句(排序序子句)是是對(duì)輸出出的目標(biāo)標(biāo)表進(jìn)行行排序,可可附加說(shuō)說(shuō)明ASSC(升升序)或或DESSC(降降序)SQLL DMML的數(shù)數(shù)據(jù)更新新語(yǔ)句INSEERT 插插入語(yǔ)句句DELEETE 刪刪除語(yǔ)句句UPDAATE 修修改語(yǔ)句句SQLL的訪問(wèn)問(wèn)控制SQL的的訪問(wèn)控控制功能能主要是是指對(duì)用用戶訪問(wèn)問(wèn)數(shù)據(jù)的的控制。有授權(quán)權(quán)語(yǔ)句和和回收語(yǔ)語(yǔ)句。授權(quán)語(yǔ)句句的格式式如下:GRANNT 權(quán)權(quán)限表ON 表表名TO 用用戶名表表WITTH GGRANNT OOPTIION該語(yǔ)句把把表的使使用權(quán)授授予指定定的若干干用戶。在有WWITHH

24、GRRANTT OPPTIOON短語(yǔ)語(yǔ)時(shí),被被授權(quán)的的用戶還還可將獲獲得的權(quán)權(quán)限再轉(zhuǎn)轉(zhuǎn)授給其其他用戶戶。權(quán)限限表中的的權(quán)限可可以有:SELLECTT, IINSEERT, DEELETTE, UPDDATEE, EEXPAAND, INNDEXX, AALL PRIIVILLEGEES?;厥照Z(yǔ)句句格式:REVOOKE 權(quán)限限表ON 表表名FROMM 用戶戶名表該語(yǔ)句把把已授給給指定用用戶的在在指定表表上的使使用權(quán)限限收回。嵌入式式SQLL由于SQQL是基基于關(guān)系系模型的的語(yǔ)言,而而高級(jí)語(yǔ)語(yǔ)言是基基于整數(shù)數(shù)、實(shí)數(shù)數(shù)、字符符、記錄錄、數(shù)組組等的數(shù)數(shù)據(jù)類型型,因此此兩者之之間有很很大的區(qū)區(qū)別,稱稱為

25、有縫縫隙。為為了能在在宿主語(yǔ)語(yǔ)言的程程序中嵌嵌入SQQL語(yǔ)句句,有一一些規(guī)定定:I.在程程序中要要區(qū)分SSQL語(yǔ)語(yǔ)句和宿宿主語(yǔ)言言的語(yǔ)句句;II.在在嵌入的的SQLL語(yǔ)句中中可以引引用宿主主語(yǔ)言的的程序變變量,但但主語(yǔ)言言的語(yǔ)句句不能引引用數(shù)據(jù)據(jù)庫(kù)中的的各種變變量(屬屬性名、關(guān)系名名),SSQL的的集合處處理方式式與宿主主語(yǔ)言的的單記錄錄處理方方式之間間的協(xié)調(diào)調(diào)用游標(biāo)標(biāo)技術(shù)實(shí)實(shí)現(xiàn)。1.6 數(shù)據(jù)庫(kù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)應(yīng)用系統(tǒng)統(tǒng)的開(kāi)發(fā)發(fā)是一項(xiàng)項(xiàng)軟件工工程,但但又有自自身的特特點(diǎn),所所以稱為為“數(shù)據(jù)庫(kù)庫(kù)工程”。數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)從開(kāi)始始規(guī)劃、設(shè)計(jì)、實(shí)現(xiàn)、維護(hù)到到最后被被新的系系統(tǒng)取代代而停止止使用的的整個(gè)期期

26、間,稱稱為數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)生存期期。此生生存期可可分為77個(gè)階段段:規(guī)劃劃、需求求分析、概念設(shè)設(shè)計(jì)、邏邏輯設(shè)計(jì)計(jì)、物理理設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行和和維護(hù)。按照規(guī)范范設(shè)計(jì)的的方法,考考慮數(shù)據(jù)據(jù)庫(kù)及其其應(yīng)用系系統(tǒng)開(kāi)發(fā)發(fā)全過(guò)程程,將數(shù)數(shù)據(jù)庫(kù)設(shè)設(shè)計(jì)分為為以下六六個(gè)階段段:需求分分析階段段需求收集集和分析析,結(jié)果果得到數(shù)數(shù)據(jù)字典典描述的的數(shù)據(jù)需需求(和和數(shù)據(jù)流流圖描述述的處理理需求)。概念結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)階段通過(guò)對(duì)用用戶需求求進(jìn)行綜綜合、歸歸納與抽抽象,形形成一個(gè)個(gè)獨(dú)立于于具體DDBMSS的概念念模型,可可以用EE-R圖圖表示。邏輯結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)階段將概念結(jié)結(jié)構(gòu)轉(zhuǎn)換換為某個(gè)個(gè)DBMMS所支支持的數(shù)數(shù)據(jù)模型型(例如如關(guān)系

27、模模型),并并對(duì)其進(jìn)進(jìn)行優(yōu)化化。數(shù)據(jù)庫(kù)庫(kù)物理設(shè)設(shè)計(jì)階段段為邏輯數(shù)數(shù)據(jù)模型型選取一一個(gè)最適適合應(yīng)用用環(huán)境的的物理結(jié)結(jié)構(gòu)(包包括存儲(chǔ)儲(chǔ)結(jié)構(gòu)和和存取方方法)。數(shù)據(jù)庫(kù)庫(kù)實(shí)施階階段運(yùn)用DBBMS提提供的數(shù)數(shù)據(jù)語(yǔ)言言(例如如SQLL)及其其宿主語(yǔ)語(yǔ)言(例例如C),根根據(jù)邏輯輯設(shè)計(jì)和和物理設(shè)設(shè)計(jì)的結(jié)結(jié)果建立立數(shù)據(jù)庫(kù)庫(kù),編制制與調(diào)試試應(yīng)用程程序,組組織數(shù)據(jù)據(jù)入庫(kù),并并進(jìn)行試試運(yùn)行。數(shù)據(jù)庫(kù)庫(kù)運(yùn)行和和維護(hù)階階段數(shù)據(jù)庫(kù)應(yīng)應(yīng)用系統(tǒng)統(tǒng)經(jīng)過(guò)試試運(yùn)行后后即可投投入正式式運(yùn)行。在數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)運(yùn)行過(guò)過(guò)程中必必須不斷斷地對(duì)其其進(jìn)行評(píng)評(píng)價(jià)、調(diào)調(diào)整與修修改。設(shè)計(jì)一個(gè)個(gè)完善的的數(shù)據(jù)庫(kù)庫(kù)應(yīng)用系系統(tǒng)不可可能一蹴蹴而就,它它往往是是上述六

28、六個(gè)階段段的不斷斷反復(fù)。1.7關(guān)關(guān)系數(shù)據(jù)據(jù)庫(kù)規(guī)范范化理論論為了使數(shù)數(shù)據(jù)庫(kù)設(shè)設(shè)計(jì)的方方法走向向完備,人人們研究究了規(guī)范范化理論論,指導(dǎo)導(dǎo)我們?cè)O(shè)設(shè)計(jì)規(guī)范范的數(shù)據(jù)據(jù)庫(kù)模式式。按屬屬性間依依賴情況況來(lái)區(qū)分分,關(guān)系系規(guī)范化化的程度度為第一一范式、第二范范式、第第三范式式、BCCNF范范式和第第四范式式等。函數(shù)依賴賴數(shù)據(jù)依賴賴是現(xiàn)實(shí)實(shí)世界中中屬性間間聯(lián)系和和約束的的抽象,是是數(shù)據(jù)的的內(nèi)在性性質(zhì)。函數(shù)依賴賴(fuuncttionnal deppenddenccy,F(xiàn)D )是一一種最重重要、最最基本的的數(shù)據(jù)依依賴。其其具體定定義如下下:設(shè)有關(guān)系系模式RR(U),X和Y是屬性性集U的子集集,F(xiàn)DD是行為為XY的

29、一個(gè)個(gè)命題,只只要r是R的關(guān)系系,對(duì)rr中任意意兩個(gè)元元組都有有“X值相等等蘊(yùn)涵YY值相等等”,那么么函數(shù)依依賴XY在關(guān)系系模式RR(U)中成成立。FD與侯侯選鍵之之間的關(guān)關(guān)系:若若存在XX-UU,并且且不存在在X的任意意真子集集X1,使使得X11-UU成立,那那么就稱稱X為關(guān)系系的一個(gè)個(gè)侯選鍵鍵。函數(shù)依賴賴還有幾幾條推理理規(guī)則:自反性;增廣性性;傳遞遞性;并并規(guī)則;分解規(guī)規(guī)則;偽偽傳遞規(guī)規(guī)則;模式分分解:目目的是消消除冗余余和操作作異常問(wèn)問(wèn)題模式分解解的三個(gè)個(gè)定義: 分解具具有“無(wú)損連連接性” 分解要要“保持函函數(shù)依賴賴” 分解既既要“保持函函數(shù)依賴賴”,又要要具有“無(wú)損連連接性”。關(guān)系模式

30、式分解的的兩個(gè)特特性實(shí)際際涉及到到兩個(gè)數(shù)數(shù)據(jù)庫(kù)模模式的等等價(jià)性問(wèn)問(wèn)題。包包括數(shù)據(jù)據(jù)等價(jià)和和依賴等等價(jià)兩個(gè)個(gè)方面:數(shù)據(jù)等價(jià)價(jià):兩個(gè)個(gè)數(shù)據(jù)庫(kù)庫(kù)實(shí)例應(yīng)應(yīng)表示同同樣的信信息內(nèi)容容,用“無(wú)損聯(lián)聯(lián)接”衡量。依賴等價(jià)價(jià):兩個(gè)個(gè)數(shù)據(jù)庫(kù)庫(kù)模式應(yīng)應(yīng)有相互互邏輯關(guān)關(guān)系的函函數(shù)依賴賴集,此此時(shí)數(shù)據(jù)據(jù)的語(yǔ)義義是不會(huì)會(huì)出現(xiàn)差差錯(cuò)的。例:關(guān)系系模式 S-LL-C(SNOO,SDEEPT,SLOOC,CNOO,G)中,SLLOC為為學(xué)生的的住處,并并且每個(gè)個(gè)系的學(xué)學(xué)生住在在同一個(gè)個(gè)地方。這里碼為為(SNNO,CCNO)。函數(shù)數(shù)依賴有有:(SNOO,CNNO) G SNOSDEEPT,(SNOO,CNNO) SDEEPT SN

31、OOSLOOC,(SNOO,CNNO) SLOOCSDEPPTSLOOC用投影分分解把關(guān)關(guān)系模式式S-LL-C分分解為33NF范范式,且且保持函函數(shù)依賴賴。解法:對(duì)RU,FF中的的函數(shù)依依賴集FF進(jìn)行“極小化化處理”。F= SNNO,CCNOG,SNOOSDEEPT,SDEEPTSLOOC 。 R中中沒(méi)有不不在F中出現(xiàn)現(xiàn)的屬性性。不存在在XAF,且XAA=U,接接著做第第 = 4 * GGB2 步。對(duì)F按按具有相相同左部部的原則則分組。r=SSC SNOO,CNNO,GG ,SNOO,CNNOG,S-DD SSNO,SDEEPT , SNOOSDEEPT,D-L SSDEPPT,SSLOCC

32、, SDDEPTTSLOOC范式范式(nnormmal forrm,NF)是是衡量關(guān)關(guān)系模式式的優(yōu)劣劣的標(biāo)準(zhǔn)準(zhǔn)。范式式有很多多種,與與數(shù)據(jù)依依賴有著著直接的的聯(lián)系。第一范式式1NFF如果關(guān)系系模式RR中,每每個(gè)分量量是不可可分的數(shù)數(shù)據(jù)項(xiàng),就就稱R屬于第第一范式式。第二范式式2NFF若關(guān)系模模式R屬于1NNF,且且每個(gè)非非主屬性性完全函函數(shù)依賴賴于候選選關(guān)鍵字字,則稱稱R屬于第第二范式式。第三范式式3NFF若關(guān)系模模式R屬于1NNF,且且每個(gè)非非主屬性性都不傳傳遞依賴賴于R的候選選關(guān)鍵字字,則稱稱R屬于第第三范式式。這里的主主屬性是是指鍵的的屬性,而而不是任任何鍵的的屬性就就是非主主屬性BC范式

33、式BCNNF若關(guān)系模模式R屬于1NNF,且且每個(gè)屬屬性都不不傳遞依依賴于RR的候選選關(guān)鍵字字,則稱稱R屬于BCC范式。由上可知知,4種范式式之間的的關(guān)系:BCNNF33NF2NFF1NNF1.8數(shù)數(shù)據(jù)庫(kù)保保護(hù)概概述在數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)運(yùn)運(yùn)行時(shí),DBMS要對(duì)數(shù)據(jù)庫(kù)進(jìn)行監(jiān)控,以保證整個(gè)系統(tǒng)的正常運(yùn)轉(zhuǎn),保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)安全可靠、正確有效,防止各種錯(cuò)誤的產(chǎn)生,這就是對(duì)數(shù)據(jù)庫(kù)的保護(hù),有時(shí)也稱為“數(shù)據(jù)控制”。這具體包括以下四個(gè)方面:數(shù)數(shù)據(jù)庫(kù)的的恢復(fù)完完整性控控制(主主鍵約束束,外鍵鍵約束,屬屬性的值值域約束束)并并發(fā)控制制(瑣機(jī)機(jī)制)安安全性控控制(存存儲(chǔ)控制制,審計(jì)計(jì),視圖圖保護(hù)和和日志監(jiān)監(jiān)視)事務(wù)事務(wù)務(wù)在

34、數(shù)據(jù)據(jù)庫(kù)里面面是一個(gè)個(gè)十分重重要的概概念。數(shù)數(shù)據(jù)庫(kù)系系統(tǒng)運(yùn)行行的基本本工作單單位是事事務(wù)。它它相當(dāng)于于操作系系統(tǒng)中的的進(jìn)程,一一個(gè)事務(wù)務(wù)由應(yīng)用用程序中中的一組組操作序序列組成成。實(shí)際上,事事務(wù)可以以看作是是一個(gè)原原子,是是一個(gè)不不可分割割的操作作序列。事務(wù)中中包括的的所有操操作要么么都執(zhí)行行,要么么都不執(zhí)執(zhí)行。事務(wù)通常常以BEEGINN TRRANSSACTTIONN語(yǔ)句開(kāi)開(kāi)始,它它主要涉涉及兩個(gè)個(gè)語(yǔ)句。、事事務(wù)提交交語(yǔ)句CCOMMMIT事事務(wù)回滾滾語(yǔ)句RROLLLBACCK事務(wù)的特特性:事務(wù)具有有四個(gè)特特性:原原子性(Atomicity)、一致性(Consistency)、隔離性(Isola

35、tion)和持續(xù)性(Durability)。這個(gè)四個(gè)特性也簡(jiǎn)稱為ACID特性。1原子子性:事事務(wù)是數(shù)數(shù)據(jù)庫(kù)的的邏輯工工作單位位,事務(wù)務(wù)中包括括的諸操操作要么么都做,要要么都不不做。2一致致性:事事務(wù)執(zhí)行行的結(jié)果果必須是是使數(shù)據(jù)據(jù)庫(kù)從一一個(gè)一致致性狀態(tài)態(tài)變到另另一個(gè)一一致性狀狀態(tài)。因因此當(dāng)數(shù)數(shù)據(jù)庫(kù)只只包含成成功事務(wù)務(wù)提交的的結(jié)果時(shí)時(shí),就說(shuō)說(shuō)數(shù)據(jù)庫(kù)庫(kù)處于一一致性狀狀態(tài)。如如果數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)運(yùn)行中中發(fā)生故故障,有有些事務(wù)務(wù)尚未完完成就被被迫中斷斷,系統(tǒng)統(tǒng)將事務(wù)務(wù)中對(duì)數(shù)數(shù)據(jù)庫(kù)的的所有已已完成的的操作全全部撤消消,滾回回到事務(wù)務(wù)開(kāi)始時(shí)時(shí)的一致致?tīng)顟B(tài)。3隔離離性:一一個(gè)事務(wù)務(wù)的執(zhí)行行不能被被其他事事務(wù)干擾

36、擾。即一一個(gè)事務(wù)務(wù)內(nèi)部的的操作及及使用的的數(shù)據(jù)對(duì)對(duì)其他并并發(fā)事務(wù)務(wù)是隔離離的,并并發(fā)執(zhí)行行的各個(gè)個(gè)事務(wù)之之間不能能互相干干擾。4持續(xù)續(xù)性:持持續(xù)性也也稱永久久性(PPermmaneencee),指指一個(gè)事事務(wù)一旦旦提交,它它對(duì)數(shù)據(jù)據(jù)庫(kù)中數(shù)數(shù)據(jù)的改改變就應(yīng)應(yīng)該是永永久性的的。接下下來(lái)的其其他操作作或故障障不應(yīng)該該對(duì)其執(zhí)執(zhí)行結(jié)果果有任何何影響。數(shù)據(jù)庫(kù)恢恢復(fù):盡管數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)中采取取了各種種保護(hù)措措施來(lái)防防止數(shù)據(jù)據(jù)庫(kù)的安安全性和和完整性性被破壞壞,保證證并發(fā)事事務(wù)的正正確執(zhí)行行,但是是計(jì)算機(jī)機(jī)系統(tǒng)中中硬件的的故障、軟件的的錯(cuò)誤、操作員員的失誤誤以及惡惡意的破破壞仍是是不可避避免的,這這些故障障輕則

37、造造成運(yùn)行行事務(wù)非非正常中中斷,影影響數(shù)據(jù)據(jù)庫(kù)中數(shù)數(shù)據(jù)的正正確性,重重則破壞壞數(shù)據(jù)庫(kù)庫(kù),使數(shù)數(shù)據(jù)庫(kù)中中全部或或部分?jǐn)?shù)數(shù)據(jù)丟失失,因此此數(shù)據(jù)庫(kù)庫(kù)管理系系統(tǒng)(恢恢復(fù)子系系統(tǒng))必必須具有有把數(shù)據(jù)據(jù)庫(kù)從錯(cuò)錯(cuò)誤狀態(tài)態(tài)恢復(fù)到到某一已已知的正正確狀態(tài)態(tài)(亦稱稱為一致致?tīng)顟B(tài)或或完整狀狀態(tài))的的功能,這這就是數(shù)數(shù)據(jù)庫(kù)的的恢復(fù)。故障的種種類:一、事務(wù)務(wù)內(nèi)部的的故障事務(wù)務(wù)內(nèi)部的的故障有有的是可可以通過(guò)過(guò)事務(wù)程程序本身身發(fā)現(xiàn)的的(見(jiàn)下下面轉(zhuǎn)帳帳事務(wù)的的例子),有有的是非非預(yù)期的的,不能能由事務(wù)務(wù)程序處處理的。二、系統(tǒng)統(tǒng)故障系統(tǒng)統(tǒng)故障是是指造成成系統(tǒng)停停止運(yùn)轉(zhuǎn)轉(zhuǎn)的任何何事件,使使得系統(tǒng)統(tǒng)要重新新啟動(dòng)。例如,特特定類型型

38、的硬件件錯(cuò)誤(CPU故障)、操作系統(tǒng)故障、DBMS代碼錯(cuò)誤、突然停電等等。這類故障影響正在運(yùn)行的所有事務(wù),但不破壞數(shù)據(jù)庫(kù)。這時(shí)主存內(nèi)容,尤其是數(shù)據(jù)庫(kù)緩沖區(qū)(在內(nèi)存)中的內(nèi)容都被丟失,所有運(yùn)行事務(wù)都非正常終止。發(fā)生系統(tǒng)故障時(shí),一些尚未完成的事務(wù)的結(jié)果可能已送入物理數(shù)據(jù)庫(kù),有些已完成的事務(wù)可能有一部分甚至全部留在緩沖區(qū),尚未寫(xiě)回到磁盤上的物理數(shù)據(jù)庫(kù)中,從而造成數(shù)據(jù)庫(kù)可能處于不正確的狀態(tài)。為保證數(shù)據(jù)一致性,恢復(fù)子系統(tǒng)必須在系統(tǒng)重新啟動(dòng)時(shí)讓所有非正常終止的事務(wù)回滾,強(qiáng)行撤消(UNDO)所有未完成事務(wù)。重做(Redo)所有已提交的事務(wù),以將數(shù)據(jù)庫(kù)真正恢復(fù)到一致?tīng)顟B(tài)。三、介質(zhì)質(zhì)故障系統(tǒng)統(tǒng)故障常常稱為軟軟故

39、障(Soft Crash),介質(zhì)故障稱為硬故障(Hard Crash)。硬故障指外存故障,如磁盤損壞、磁頭碰撞,瞬時(shí)強(qiáng)磁場(chǎng)干擾等。這類故障將破壞數(shù)據(jù)庫(kù)或部分?jǐn)?shù)據(jù)庫(kù),并影響正在存取這部分?jǐn)?shù)據(jù)的所有事務(wù)。這類故障比前兩類故障發(fā)生的可能性小得多,但破壞性最大。四、計(jì)算算機(jī)病毒毒計(jì)算算機(jī)病毒毒是具有有破壞性性、可以以自我復(fù)復(fù)制的計(jì)計(jì)算機(jī)程程序。計(jì)計(jì)算機(jī)病病毒已成成為計(jì)算算機(jī)系統(tǒng)統(tǒng)的主要要威脅,自自然也是是數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)的的主要威威脅。因因此數(shù)據(jù)據(jù)庫(kù)一旦旦被破壞壞仍要用用恢復(fù)技技術(shù)把數(shù)數(shù)據(jù)庫(kù)加加以恢復(fù)復(fù)。恢復(fù)策略略:1事務(wù)務(wù)故障的的恢復(fù)事事務(wù)故障障是指事事務(wù)在運(yùn)運(yùn)行至正正常終止止點(diǎn)前被被中止,這這時(shí)恢復(fù)復(fù)

40、子系統(tǒng)統(tǒng)應(yīng)利用用日志文文件撤消消(UNNDO)此此事務(wù)已已對(duì)數(shù)據(jù)據(jù)庫(kù)進(jìn)行行的修改改。事務(wù)務(wù)故障的的恢復(fù)是是由系統(tǒng)統(tǒng)自動(dòng)完完成的,對(duì)對(duì)用戶是是透明的的。系統(tǒng)統(tǒng)的恢復(fù)復(fù)步驟是是:. 反反向掃描描文件日日志(即即從最后后向前掃掃描日志志文件),查查找該事事務(wù)的更更新操作作。. 對(duì)對(duì)該事務(wù)務(wù)的更新新操作執(zhí)執(zhí)行逆操操作。即即將日志志記錄中中“更新前前的值”寫(xiě)入數(shù)數(shù)據(jù)庫(kù)。這樣,如如果記錄錄中是插插入操作作,則相相當(dāng)于做做刪除操操作(因因此時(shí)“更新前前的值”為空)。若記錄錄中是刪刪除操作作,則做做插入操操作,若若是修改改操作,則則相當(dāng)于于用修改改前值代代替修改改后值。. 繼繼續(xù)反向向掃描日日志文件件,查找找

41、該事務(wù)務(wù)的其他他更新操操作,并并做同樣樣處理。. 如如此處理理下去,直直至讀到到此事務(wù)務(wù)的開(kāi)始始標(biāo)記,事事務(wù)故障障恢復(fù)就就完成了了。 2系統(tǒng)統(tǒng)故障的的恢復(fù)前面面已講過(guò)過(guò),系統(tǒng)統(tǒng)故障造造成數(shù)據(jù)據(jù)庫(kù)不一一致?tīng)顟B(tài)態(tài)的原因因有兩個(gè)個(gè),一是是未完成成事務(wù)對(duì)對(duì)數(shù)據(jù)庫(kù)庫(kù)的更新新可能已已寫(xiě)入數(shù)數(shù)據(jù)庫(kù),二二是已提提交事務(wù)務(wù)對(duì)數(shù)據(jù)據(jù)庫(kù)的更更新可能能還留在在緩沖區(qū)區(qū)沒(méi)來(lái)得得及寫(xiě)入入數(shù)據(jù)庫(kù)庫(kù)。因此此恢復(fù)操操作就是是要撤消消故障發(fā)發(fā)生時(shí)未未完成的的事務(wù),重重做已完完成的事事務(wù)。系統(tǒng)統(tǒng)故障的的恢復(fù)是是由系統(tǒng)統(tǒng)在重新新啟動(dòng)時(shí)時(shí)自動(dòng)完完成的,不不需要用用戶干預(yù)預(yù)。系統(tǒng)的恢恢復(fù)步驟驟是:. 正正向掃描描日志文文件(即即從頭掃掃

42、描日志志文件),找找出在故故障發(fā)生生前已經(jīng)經(jīng)提交的的事務(wù)(這這些事務(wù)務(wù)既有BBEGIIN TTRANNSACCTIOON記錄錄,也有有COMMMITT記錄),將將其事務(wù)務(wù)標(biāo)識(shí)記記入重做做(REEDO)隊(duì)隊(duì)列。同同時(shí)找出出故障發(fā)發(fā)生時(shí)尚尚未完成成的事務(wù)務(wù)(這些些事務(wù)只只有BEEGINN TRRANSSACTTIONN記錄,無(wú)無(wú)相應(yīng)的的COMMMITT記錄),將將其事務(wù)務(wù)標(biāo)識(shí)記記入撤消消(UNNDO)隊(duì)列。. 對(duì)對(duì)撤消隊(duì)隊(duì)列中的的各個(gè)事事務(wù)進(jìn)行行撤消(UNDDO)處處理。進(jìn)行UNNDO處處理的方方法是,反反向掃描描日志文文件,對(duì)對(duì)每個(gè)UUNDOO事務(wù)的的更新操操作執(zhí)行行逆操作作,即將將日志記記錄中

43、“更新前前的值”寫(xiě)入數(shù)數(shù)據(jù)庫(kù)。. 對(duì)對(duì)重做隊(duì)隊(duì)列中的的各個(gè)事事務(wù)進(jìn)行行重做(REDDO)處處理。進(jìn)行行REDDO處理理的方法法是:正正向掃描描日志文文件,對(duì)對(duì)每個(gè)RREDOO事務(wù)重重新執(zhí)行行日志文文件登記記的操作作。即將將日志記記錄中“更新后后的值”寫(xiě)入數(shù)數(shù)據(jù)庫(kù)。3介質(zhì)質(zhì)故障的的恢復(fù)發(fā)生生介質(zhì)故故障后,磁磁盤上的的物理數(shù)數(shù)據(jù)和日日志文件件被破壞壞,這是是最嚴(yán)重重的一種種故障,恢恢復(fù)方法法是重裝裝數(shù)據(jù)庫(kù)庫(kù),然后后重做已已完成的的事務(wù)。具體地地說(shuō)就是是:. 裝裝入最新新的數(shù)據(jù)據(jù)庫(kù)后備備副本(離離故障發(fā)發(fā)生時(shí)刻刻最近的的轉(zhuǎn)儲(chǔ)副副本),使使數(shù)據(jù)庫(kù)庫(kù)恢復(fù)到到最近一一次轉(zhuǎn)儲(chǔ)儲(chǔ)時(shí)的一一致性狀狀態(tài)。對(duì)于于動(dòng)態(tài)

44、轉(zhuǎn)轉(zhuǎn)儲(chǔ)的數(shù)數(shù)據(jù)庫(kù)副副本,還還須同時(shí)時(shí)裝入轉(zhuǎn)轉(zhuǎn)儲(chǔ)開(kāi)始始時(shí)刻的的日志文文件副本本,利用用恢復(fù)系系統(tǒng)故障障的方法法(即RREDOO+UNNDO),才才能將數(shù)數(shù)據(jù)庫(kù)恢恢復(fù)到一一致性狀狀態(tài)。. 裝裝入相應(yīng)應(yīng)的日志志文件副副本(轉(zhuǎn)轉(zhuǎn)儲(chǔ)結(jié)束束時(shí)刻的的日志文文件副本本),重重做已完完成的事事務(wù)。即即:首先先掃描日日志文件件,找出出故障發(fā)發(fā)生時(shí)已已提交的的事務(wù)的的標(biāo)識(shí),將將其記入入重做隊(duì)隊(duì)列。然后后正向掃掃描日志志文件,對(duì)對(duì)重做隊(duì)隊(duì)列中的的所有事事務(wù)進(jìn)行行重做處處理。即即將日志志記錄中中“更新后后的值”寫(xiě)入數(shù)數(shù)據(jù)庫(kù)。這樣就就可以將將數(shù)據(jù)庫(kù)庫(kù)恢復(fù)至至故障前前某一時(shí)時(shí)刻的一一致?tīng)顟B(tài)態(tài)了。介質(zhì)故故障的恢恢復(fù)需要要DB

45、AA介入。但DBBA只需需要重裝裝最近轉(zhuǎn)轉(zhuǎn)儲(chǔ)的數(shù)數(shù)據(jù)庫(kù)副副本和有有關(guān)的各各日志文文件副本本,然后后執(zhí)行系系統(tǒng)提供供的恢復(fù)復(fù)命令即即可,具具體的恢恢復(fù)操作作仍由DDBMSS完成。并發(fā)控控制在多用戶戶共享系系統(tǒng)中,許許多事務(wù)務(wù)可能同同時(shí)對(duì)同同一個(gè)數(shù)數(shù)據(jù)進(jìn)行行操作,這這時(shí)候就就產(chǎn)生了了并發(fā)控控制的問(wèn)問(wèn)題。DDMBSS的并發(fā)發(fā)控制子子系統(tǒng)負(fù)負(fù)責(zé)協(xié)調(diào)調(diào)并發(fā)事事務(wù)的執(zhí)執(zhí)行,保保證數(shù)據(jù)據(jù)庫(kù)的完完整性不不受破壞壞,同時(shí)時(shí)避免用用戶得到到不正確確的數(shù)據(jù)據(jù)。同時(shí)并發(fā)發(fā)方式:在多處處理系統(tǒng)統(tǒng)中,每每個(gè)處理理機(jī)可以以運(yùn)行一一個(gè)事務(wù)務(wù),多個(gè)個(gè)處理機(jī)機(jī)可以同同時(shí)運(yùn)行行多個(gè)事事務(wù),實(shí)實(shí)現(xiàn)多個(gè)個(gè)事務(wù)真真正的并并行運(yùn)行行,這種

46、種并行方方式稱為為同時(shí)并并發(fā)方式式。并發(fā)控制制機(jī)制是是衡量一一個(gè)數(shù)據(jù)據(jù)庫(kù)管理理系統(tǒng)性性能的重重要標(biāo)志志之一。數(shù)據(jù)庫(kù)的的并發(fā)操操作通常??赡軒?lái)以下下的問(wèn)題題:丟丟失更新新問(wèn)題不不一致分分析問(wèn)題題(讀過(guò)過(guò)時(shí)的數(shù)數(shù)據(jù))依依賴于未未提交更更新問(wèn)題題(讀“臟”數(shù)據(jù))處理并發(fā)發(fā)控制的的主要方方法是采采用封鎖鎖技術(shù)。封鎖是是實(shí)現(xiàn)并并發(fā)控制制的一個(gè)個(gè)非常重重要的技技術(shù)。封鎖:所所謂封鎖鎖就是事事務(wù)T在對(duì)某某個(gè)數(shù)據(jù)據(jù)對(duì)象例例如表、記錄等等操作之之前,先先向系統(tǒng)統(tǒng)發(fā)出請(qǐng)請(qǐng)求,對(duì)對(duì)其加鎖鎖。加鎖鎖后事務(wù)務(wù)T就對(duì)該該數(shù)據(jù)對(duì)對(duì)象有了了一定的的控制,在在事務(wù)TT釋放它它的鎖之之前,其其它的事事務(wù)不能能更新此此數(shù)據(jù)對(duì)對(duì)

47、象?;颈镜姆怄i鎖類型有有兩種:排它鎖鎖(Exxcluusivve LLockks,簡(jiǎn)簡(jiǎn)記為XX鎖) 和共共享鎖(Shaare Loccks,簡(jiǎn)簡(jiǎn)記為SS鎖)。排它鎖:排它鎖鎖又稱為為寫(xiě)鎖。若事務(wù)務(wù)T對(duì)數(shù)據(jù)據(jù)對(duì)象AA加上X鎖,則則只允許許T讀取和和修改AA,其它它任何事事務(wù)都不不能再對(duì)對(duì)A加任何何類型的的鎖,直直到T釋放A上的鎖鎖。這就就保證了了其它事事務(wù)在TT釋放A上的鎖鎖之前不不能再讀讀取和修修改A。共享鎖:共享鎖鎖又稱為為讀鎖。若事務(wù)務(wù)T對(duì)數(shù)據(jù)據(jù)對(duì)象AA加上S鎖,則則事務(wù)TT可以讀讀A,但不不能修改改A,其它它事務(wù)只只能再對(duì)對(duì)A加S鎖,而而不能加加X(jué)鎖,直直到T釋放A上的S鎖。這這就保證

48、證了其它它事務(wù)可可以讀AA,但在在T釋放A上的S鎖之前前不能對(duì)對(duì)A做任何何修改。有兩種種類型:排排他型封封鎖(XX封鎖)共共享型封封鎖(SS封鎖)在運(yùn)用XX鎖和S鎖這兩兩種基本本封鎖,對(duì)對(duì)數(shù)據(jù)對(duì)對(duì)象加鎖鎖時(shí),還還需要約約定一些些規(guī)則,例例如應(yīng)何何時(shí)申請(qǐng)請(qǐng)X鎖或S鎖、持持鎖時(shí)間間、何時(shí)時(shí)釋放等等。我們們稱這些些規(guī)則為為封鎖協(xié)協(xié)議(LLockkingg Prrotoocoll)。對(duì)對(duì)封鎖方方式規(guī)定定不同的的規(guī)則,就就形成了了各種不不同的封封鎖協(xié)議議。下面面介紹三三級(jí)封鎖鎖協(xié)議。對(duì)并發(fā)發(fā)操作的的不正確確調(diào)度可可能會(huì)帶帶來(lái)丟失失修改、不可重重復(fù)讀和和讀“臟”數(shù)據(jù)等等不一致致性問(wèn)題題,三級(jí)級(jí)封鎖協(xié)協(xié)議分

49、別別在不同同程度上上解決了了這一問(wèn)問(wèn)題。為為并發(fā)操操作的正正確調(diào)度度提供一一定的保保證。不不同級(jí)別別的封鎖鎖協(xié)議達(dá)達(dá)到的系系統(tǒng)一致致性級(jí)別別是不同同的。一級(jí)封鎖鎖協(xié)議是是:事務(wù)務(wù)T在修改改數(shù)據(jù)RR之前必必須先對(duì)對(duì)其加X(jué)X鎖,直直到事務(wù)務(wù)結(jié)束才才釋放。事務(wù)結(jié)結(jié)束包括括正常結(jié)結(jié)束(CCOMMMIT)和和非正常常結(jié)束(ROLLBACK)。二級(jí)封鎖鎖協(xié)議是是:一級(jí)級(jí)封鎖協(xié)協(xié)議加上上事務(wù)TT在讀取取數(shù)據(jù)RR之前必必須先對(duì)對(duì)其加SS鎖,讀讀完后即即可釋放放S鎖。二二級(jí)封鎖鎖協(xié)議除除防止了了丟失修修改,還還可進(jìn)一一步防止止讀“臟”數(shù)據(jù)三級(jí)封鎖鎖協(xié)議是是:一級(jí)級(jí)封鎖協(xié)協(xié)議加上上事務(wù)TT在讀取取數(shù)據(jù)RR之前必必

50、須先對(duì)對(duì)其加SS鎖,直直到事務(wù)務(wù)結(jié)束才才釋放。三級(jí)封封鎖協(xié)議議除防止止了丟失失修改和和不讀臟數(shù)據(jù)外外,還進(jìn)進(jìn)一步防防止了不不可重復(fù)復(fù)讀和操作系系統(tǒng)一樣樣,封鎖鎖的方法法可能引引起活鎖鎖和死鎖鎖。一活鎖鎖活鎖:如如果事務(wù)務(wù)T1封鎖鎖了數(shù)據(jù)據(jù)R,事務(wù)務(wù)T2又請(qǐng)請(qǐng)求封鎖鎖R,于是是T2等待待。T33也請(qǐng)求求封鎖RR,當(dāng)T11釋放了了R上的封封鎖之后后系統(tǒng)首首先批準(zhǔn)準(zhǔn)了T33的請(qǐng)求求,T22仍然等等待。然然后T44又請(qǐng)求求封鎖RR,當(dāng)T33釋放了了R上的封封鎖之后后系統(tǒng)又又批準(zhǔn)了了T4的請(qǐng)請(qǐng)求,.,T2有可可能永遠(yuǎn)遠(yuǎn)等待,這這就是活活鎖的情情形二死鎖鎖死鎖:如如果事務(wù)務(wù)T1封鎖鎖了數(shù)據(jù)據(jù)R1,T2封鎖

51、鎖了數(shù)據(jù)據(jù)R2,然然后T11又請(qǐng)求求封鎖RR2,因因T2已封封鎖了RR2,于于是T11等待T22釋放R22上的鎖鎖。接著著T2又申申請(qǐng)封鎖鎖R1,因因T1已封封鎖了RR1,T2也只只能等待待T1釋放放R1上的的鎖。這這樣就出出現(xiàn)了TT1在等等待T22,而T22又在等等待T11的局面面,T11和T2兩個(gè)個(gè)事務(wù)永永遠(yuǎn)不能能結(jié)束,形形成死鎖鎖。死鎖的預(yù)預(yù)防:在數(shù)數(shù)據(jù)庫(kù)中中,產(chǎn)生生死鎖的的原因是是兩個(gè)或或多個(gè)事事務(wù)都已已封鎖了了一些數(shù)數(shù)據(jù)對(duì)象象,然后后又都請(qǐng)請(qǐng)求對(duì)已已被其他他事務(wù)封封鎖的數(shù)數(shù)據(jù)對(duì)象象加鎖,從從而出現(xiàn)現(xiàn)死等待待。防止止死鎖的的發(fā)生其其實(shí)就是是要破壞壞產(chǎn)生死死鎖的條條件。預(yù)預(yù)防死鎖鎖通常有

52、有兩種方方法:一次封鎖鎖法:一次封封鎖法要要求每個(gè)個(gè)事務(wù)必必須一次次將所有有要使用用的數(shù)據(jù)據(jù)全部加加鎖,否否則就不不能繼續(xù)續(xù)執(zhí)行。一次封封鎖法雖雖然可以以有效地地防止死死鎖的發(fā)發(fā)生,但但也存在在問(wèn)題,一一次就將將以后要要用到的的全部數(shù)數(shù)據(jù)加鎖鎖,勢(shì)必必?cái)U(kuò)大了了封鎖的的范圍,從從而降低低了系統(tǒng)統(tǒng)的并發(fā)發(fā)度。順序封鎖鎖法:順順序封鎖鎖法是預(yù)預(yù)先對(duì)數(shù)數(shù)據(jù)對(duì)象象規(guī)定一一個(gè)封鎖鎖順序,所所有事務(wù)務(wù)都按這這個(gè)順序序?qū)嵭蟹夥怄i。順順序封鎖鎖法可以以有效地地防止死死鎖,但但也同樣樣存在問(wèn)問(wèn)題。事事務(wù)的封封鎖請(qǐng)求求可以隨隨著事務(wù)務(wù)的執(zhí)行行而動(dòng)態(tài)態(tài)地決定定,很難難事先確確定每一一個(gè)事務(wù)務(wù)要封鎖鎖哪些對(duì)對(duì)象,因因此

53、也就就很難按按規(guī)定的的順序去去施加封封鎖??梢?jiàn)見(jiàn),在操操作系統(tǒng)統(tǒng)中廣為為采用的的預(yù)防死死鎖的策策略并不不很適合合數(shù)據(jù)庫(kù)庫(kù)的特點(diǎn)點(diǎn),因此此DBMMS在解解決死鎖鎖的問(wèn)題題上普遍遍采用的的是診斷斷并解除除死鎖的的方法。2. 死死鎖的診診斷與解解除超時(shí)法法如果果一個(gè)事事務(wù)的等等待時(shí)間間超過(guò)了了規(guī)定的的時(shí)限,就就認(rèn)為發(fā)發(fā)生了死死鎖。超超時(shí)法實(shí)實(shí)現(xiàn)簡(jiǎn)單單,但其其不足也也很明顯顯。一是是有可能能誤判死死鎖,事事務(wù)因?yàn)闉槠渌蚴沟鹊却龝r(shí)間間超過(guò)時(shí)時(shí)限,系系統(tǒng)會(huì)誤誤認(rèn)為發(fā)發(fā)生了死死鎖。二二是時(shí)限限若設(shè)置置得太長(zhǎng)長(zhǎng),死鎖鎖發(fā)生后后不能及及時(shí)發(fā)現(xiàn)現(xiàn)。等待圖圖法事務(wù)務(wù)等待圖圖是一個(gè)個(gè)有向圖圖G=(T,UU)。

54、T為結(jié)結(jié)點(diǎn)的集集合,每每個(gè)結(jié)點(diǎn)點(diǎn)表示正正運(yùn)行的的事務(wù);U為邊的的集合,每每條邊表表示事務(wù)務(wù)等待的的情況。若T11等待T22 ,則則T1、T2之間間劃一條條有向邊邊,從TT1指向向T2。事事務(wù)等待待圖動(dòng)態(tài)態(tài)地反映映了所有有事務(wù)的的等待情情況。并并發(fā)控制制子系統(tǒng)統(tǒng)周期性性地(比比如每隔隔1分鐘)檢檢測(cè)事務(wù)務(wù)等待圖圖,如果果發(fā)現(xiàn)圖圖中存在在回路,則則表示系系統(tǒng)中出出現(xiàn)了死死鎖。DDBMSS的并發(fā)發(fā)控制子子系統(tǒng)一一旦檢測(cè)測(cè)到系統(tǒng)統(tǒng)中存在在死鎖,就就要設(shè)法法解除。通常采采用的方方法是選選擇一個(gè)個(gè)處理死死鎖代價(jià)價(jià)最小的的事務(wù),將將其撤消消,釋放放此事務(wù)務(wù)持有的的所有的的鎖,使使其它事事務(wù)得以以繼續(xù)運(yùn)運(yùn)行下

55、去去。當(dāng)然然,對(duì)撤撤消的事事務(wù)所執(zhí)執(zhí)行的數(shù)數(shù)據(jù)修改改操作必必須加以以恢復(fù)。如果一個(gè)個(gè)事務(wù)運(yùn)運(yùn)行過(guò)程程中沒(méi)有有其他事事務(wù)同時(shí)時(shí)運(yùn)行,也也就是說(shuō)說(shuō)它沒(méi)有有受到其其他事務(wù)務(wù)的干擾擾,那么么就可以以認(rèn)為該該事務(wù)的的運(yùn)行結(jié)結(jié)果是正正常的或或者預(yù)想想的。因因此將所所有事務(wù)務(wù)串行起起來(lái)的調(diào)調(diào)度策略略一定是是正確的的調(diào)度策策略。雖雖然以不不同的順順序串行行執(zhí)行事事務(wù)可能能會(huì)產(chǎn)生生不同的的結(jié)果,但但由于不不會(huì)將數(shù)數(shù)據(jù)庫(kù)置置于不一一致?tīng)顟B(tài)態(tài),所以以都是正正確的。定義:多多個(gè)事務(wù)務(wù)的并發(fā)發(fā)執(zhí)行是是正確的的,當(dāng)且且僅當(dāng)其其結(jié)果與與按某一一次序串串行地執(zhí)執(zhí)行它們們時(shí)的結(jié)結(jié)果相同同。我們們稱這種種調(diào)度策策略為可可串行化化

56、(Seeriaalizzablle)的的調(diào)度。另外,在在封鎖技技術(shù)方面面,SQQL提供供事務(wù)的的四種一一致性級(jí)級(jí)別,從從高到低低分別是是: serriallizaablee(可串串行化) reppeattablle rreadd(可重重復(fù)讀) reaad ccommmittted(讀讀提交數(shù)數(shù)據(jù)) reaad uuncoommiitteed(可可讀未提提交數(shù)據(jù)據(jù))數(shù)據(jù)庫(kù)安安全:數(shù)據(jù)庫(kù)的的安全性性是指保保護(hù)數(shù)據(jù)據(jù)庫(kù)以防防止不合合法的使使用所造造成的數(shù)數(shù)據(jù)泄露露、更改改或破壞壞。為降低進(jìn)進(jìn)而消除除對(duì)系統(tǒng)統(tǒng)的安全全攻擊,尤尤其是彌彌補(bǔ)原有有系統(tǒng)在在安全保保護(hù)方面面的缺陷陷,在計(jì)計(jì)算機(jī)安安全技術(shù)術(shù)方面

57、逐逐步建立立了一套套可信標(biāo)標(biāo)準(zhǔn)。在在目前各各國(guó)所引引用或制制定的一一系列安安全標(biāo)準(zhǔn)準(zhǔn)中,最最重要的的當(dāng)推119855年美國(guó)國(guó)國(guó)防部部(DooD)正正式頒布布的DDoD可可信計(jì)算算機(jī)系統(tǒng)統(tǒng)評(píng)估標(biāo)標(biāo)準(zhǔn)(Trusted Computer System Evaluation Criteria,簡(jiǎn)記為TCSEC)1或DoD85)。制定這個(gè)個(gè)標(biāo)準(zhǔn)的的目的主主要有:提供一一種標(biāo)準(zhǔn)準(zhǔn),使用用戶可以以對(duì)其計(jì)計(jì)算機(jī)系系統(tǒng)內(nèi)敏敏感信息息安全操操作的可可信程度度做出評(píng)評(píng)估。給計(jì)算算機(jī)行業(yè)業(yè)的制造造商提供供一種可可循的指指導(dǎo)規(guī)則則,使其其產(chǎn)品能能夠更好好的滿足足敏感應(yīng)應(yīng)用的安安全需求求。TCCSECC又稱桔桔皮書(shū),19

58、91年4月美國(guó)NCSC(國(guó)家計(jì)算機(jī)安全中心)頒布了可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于可信數(shù)據(jù)庫(kù)系統(tǒng)的解釋( Trusted Database Interpretation 簡(jiǎn)記為TDI,即紫皮書(shū))。將TCSEC擴(kuò)展到數(shù)據(jù)庫(kù)管理系統(tǒng)。TDI中定義了數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中需滿足和用以進(jìn)行安全性級(jí)別評(píng)估的標(biāo)準(zhǔn)。在TCSSEC中中建立的的安全級(jí)級(jí)別之間間具有一一種偏序序向下兼兼容的關(guān)關(guān)系,即即較高安安全性級(jí)級(jí)別提供供的安全全保護(hù)要要包含較較低級(jí)別別的所有有保護(hù)要要求,同同時(shí)提供供更多或或更完善善的保護(hù)護(hù)能力。下面,我我們簡(jiǎn)略略地對(duì)各各個(gè)等級(jí)級(jí)作一介介紹。D級(jí): D級(jí)是是最低級(jí)級(jí)別。保保留D級(jí)的目目的是為

59、為了將一一切不符符合更高高標(biāo)準(zhǔn)的的系統(tǒng),統(tǒng)統(tǒng)統(tǒng)歸于于D組。如如DOSS就是操操作系統(tǒng)統(tǒng)中安全全標(biāo)準(zhǔn)為為D的典型型例子。它具有有操作系系統(tǒng)的基基本功能能,如文文件系統(tǒng)統(tǒng),進(jìn)程程調(diào)度等等等,但但在安全全性方面面幾乎沒(méi)沒(méi)有什么么專門的的機(jī)制來(lái)來(lái)保障。C1級(jí):只提供供了非常常初級(jí)的的自主安安全保護(hù)護(hù)。能夠夠?qū)崿F(xiàn)對(duì)對(duì)用戶和和數(shù)據(jù)的的分離,進(jìn)進(jìn)行自主主存取控控制(DDAC),保保護(hù)或限限制用戶戶權(quán)限的的傳播。現(xiàn)有的的商業(yè)系系統(tǒng)往往往稍作改改進(jìn)即可可滿足要要求。C2級(jí):實(shí)際是是安全產(chǎn)產(chǎn)品的最最低檔次次,提供供受控的的存取保保護(hù),即即將C11級(jí)的DAAC進(jìn)一一步細(xì)化化,以個(gè)個(gè)人身份份注冊(cè)負(fù)負(fù)責(zé),并并實(shí)施審審計(jì)

60、和資資源隔離離。很多多商業(yè)產(chǎn)產(chǎn)品已得得到該級(jí)級(jí)別的認(rèn)認(rèn)證。達(dá)達(dá)到C22級(jí)的產(chǎn)產(chǎn)品在其其名稱中中往往不不突出“安全”(Seccuriity)這一特特色,如如操作系系統(tǒng)中MMicrrosooft的的Winndowws NNT 33.5,數(shù)數(shù)字設(shè)備備公司的的Opeen VVMS VAXX 6.0和6.11。數(shù)據(jù)據(jù)庫(kù)產(chǎn)品品有Orraclle公司司的Orraclle 77,Sybbasee公司的的 SQQL SServver 11.0.66 等。B1級(jí):標(biāo)記安安全保護(hù)護(hù)。對(duì)系系統(tǒng)的數(shù)數(shù)據(jù)加以以標(biāo)記,并并對(duì)標(biāo)記記的主體體和客體體實(shí)施強(qiáng)強(qiáng)制存取取控制(MAC)以及審計(jì)等安全機(jī)制。B1級(jí)能夠較好地滿足大型企業(yè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論