數據庫期末重點復習_第1頁
數據庫期末重點復習_第2頁
數據庫期末重點復習_第3頁
數據庫期末重點復習_第4頁
數據庫期末重點復習_第5頁
已閱讀5頁,還剩13頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

數據庫期末重點復習

?題型

?選擇題(20分,每題1分,共20題)

?簡答題(20分,每題4分,共5題)

?關系規范化(10分,1題)

?對于給定的關系模式及其上的函數依賴,求下列問題:部分函數依賴

?1)屬性集的函數閉包;

?2)關系模式的候選碼;

?3)關系模式達到的范式,并說明原因。

?應用題(30分)

?關系代數(選擇、投影、連接、差、除)3.關系代數

?SQL語句的數據操作(查詢、更新)、數據控制(grant,revoke)4.SQL基本語句

?設計題(20分)

?概念結構設計——E-R模型

?設計局部或全局E-R模型,局部E-R模型需要合并成全局模型,合并時考慮的沖突問題;(看書上

例題,弄清幾類沖突問題和解決方法)

?邏輯結構設計

.第一早

?1.數據庫的四個概念

?數據:描述事物的符號記錄

?數據庫:長期存在在計算機內、有組織、可共享的大量數據的集合

?數據庫管理系統:位于用戶和數據庫之間的數據管理軟件

?數據庫系統:由數據庫、數據庫管理系統(及其應用開發工具)、應用程序和數據庫管理員組

成的存儲、管理、處理和維護數據的系統

?2.文件系統與數據庫系統的區別和聯系以及發展的三個階段

人工管理階段文件系統階段數據庫系統階段

應用背景科學計算科學計算、數據管理大規模數據管理

硬件背景無亙接存取存儲設備破盤.磁鼓大容量磁里.磁盤陣列

背景

軟件背景沒有操作系統由文件系統由數據庫管理系統

聯機實時處理、分都處理、批處

處理方式批處理聯機實時處理、批處理

數據的管理者用戶(程序員)文件系統數據庫管理系統

數據面向的對象某一應用程序某一應用現實世界

數據的共享程度無共享、冗余度極高共享度箜.冗余度大共享度高.冗余度小

特點具有高度的物理獨立性和一定的

數據的獨立性不獨立.完全依籟于程序獨立性復

邏輯獨立性

數據的結構化無結構記錄內有結構.整體無結構整體機構化,用數據模型描述

由數據麻管理系蛻提供數據安全

數據控制能力應用程序自己控制應用程序自己控制

性.完整性.并發控制和恢復能力

其余特點數據不保存(即用即撤)文件長期存儲

?聯系:文件系統與數據庫系統計算機系統中管理數據的軟件

?文件系統是操作系統的重要組成部分,而DBMS是獨立于操作系統的軟件

?3.試述數據庫系統的特點

?1)共享性高,冗余度低且極易擴充

?數據可以被多個用戶、應用共享使用;數據共享能夠避免數據之間的不相容性與不一致性;

數據面向整個系統,具有結構性,所以數據庫系統彈性大,易于擴充

?2)較高的數據獨立性

?包括數據的物理獨立性(用戶的應用程序與數據庫中的數據物理存儲相互獨立)和邏輯獨

立性(用戶的應用程序和數據庫的邏輯結構是相互獨立的

?3)由數據庫管理系統統一管理和控制

?這要求數據提供數據的安全性保護(保護數據以防止不合法使用造成的數據泄密和破壞)、

數據的完整性檢查(指數據的正確性、有效性和相容性)、并發控制、數據庫恢復

?4)數據結構化

?整體數據實現了結構化,這是數據庫的主要特征之一,也是數據庫系統與文件系統的本質

區別

?4.定義并解釋術語;

?模式:又稱邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據

視圖

?外模式:也稱子模式或用戶模式,是數據庫用戶能夠看見和使用的局部數據的邏輯結構,是數

據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示

?內模式:又稱存儲模式(storageschema);是數據庫物理結構和存儲方式的描述,是數據在

數據庫內部的組織方式

?數據定義語言:用于定義數據庫模式、外模式和內模式的語言

?數據操縱語言:用來對數據庫中的數據進行查詢、插入、刪除和修改的語句

?5.數據庫系統的組成

?數據庫、數據庫管理系統、應用程序和數據庫管理員

?6.解釋

?1)數據與程序的物理獨立性:當數據庫存儲結構改變,由管理員對模式/內模式映像作相應改

變,可以使模式保持不變,從而應用程序也不必改變

?2)數據與程序的邏輯獨立性:當數據庫邏輯結構改變,由管理員對外模式/模式映像作相應改

變,可以使模式保持不變,從而應用程序也不必改變

?3)為什么數據庫系統具有數據與程序的獨立性:DBMS在三級模式之間提供的兩級映像保證

了數據庫系統中的數據有較高的邏輯獨立性和物理獨立性

?數據模型

?概念

?是對現實世界數據特征的抽象;(數據模型是用來描述、組織、操作數據)

?類型

?概念模型=信息模型

?定義

?按用戶的觀點對數據和信息建模,主要用于數據庫設計

?基本概念

?實體:客觀存在并可相互區別的事物

?屬性:實體所具有的某T性

?碼(key):唯一表示實體屬性集

?實體型(entitytype):用實體名及其屬性集合來抽象和刻畫同類實體,被稱為實

體型;例:學生(學號、姓

名、性別)

?實體集(entityset):同一類型實體的集合

.聯系(relationship):實體之間的聯系通常是指不同實體之間的聯系(存在一對

一、一對多、多對多等類型),

實體內部的聯系通常是指實體的各屬性

之間的聯系

?一種表示方式

?實體一聯系方法(E—R模型)

?邏輯模型和物理模型

?邏輯模型:按計算機系統的觀點對數據建模,主要用于數據庫管理系統的實現

?包括:層次模型、網狀模型、關系模型、面向對象模型、半結構化模型、對象關系

數據模型

?物理模型:描述數據在系統內部的表示方式和存取方式(同適用于磁盤和磁帶),面向

計算機系統,是對數據最底層的抽象

?三要素

?數據結構

?描述數據庫的組成對象以及對象之間的聯系

?數據操作

?對數據庫中的各種對象(型)的實例(值)的操作的集合,包括操作及相關的規則

?數據的完整約束條件

?一組完整性規則,用以限定數據模型的數據庫狀態以及狀態變化

?關系模型

?關系

?元組

?表中的一行為

?屬性

?碼=碼鍵

?域

?一組具有相同數據類型

?分量

?元組中的f屬性值

?關系模式

?對關系的描述,一般表示為關系名(屬性1,屬性2...)

?常用數據模型

?層次模型、網狀模型、關系模型、面向對象數據模型、對象關系數據模型、半結構化數據

模型

?數據庫的三級模式/二級映像結構

應用A|應用B應用C應用D應用E

/

外模式3

外模式/模式映像

模式

內模式/模式映像

內模式|

數據庠

?數據庫系統的三級模式結構由外模式、模式和內模式組成

?圖中兩種映像保證了數據庫系統中數據有較高的邏輯獨立性(用戶的應用程序和數據庫的邏輯

結構是相互獨立的)和物理獨立性(用戶的應用程序與數據庫中的數據物理存儲相互獨立)

?第二章

?1.試述關系模型的完整性規則。在參照完整性中,什么情況下外碼屬性的值可以為空值

?關系模型中有三類完整性約束

?實體完整性:屬性A是基本關系R的主屬性,則A不能為空

?參照完整性:若屬性F是基本關系R的外碼,他與基本關系S的主碼K相對應,則對于R

中每個元組在F上的值必須為空值或S中某個元組的主碼值

?用戶定義的完整性:反映某一具體應用所涉及的數據必須滿足的語義要求+

?在參照完整性中,如果外碼屬性不是其所在關系的主屬性,外碼屬性的值可以取空值

?2.等值連接與自然連接的區別和聯系

?自然連接是一種特殊的等值連接,他要求兩個關系中進行比較的分量,即連接屬性必須是相同

的屬性組,并且要在結果中去掉其中一個重復屬性

?要求兩個關系表中進行連接的必須是相通的屬性列

?等值連接:連接運算符號為"="

?3.關系代數

?基本運算:并、差、笛卡爾積、投影、選擇

?差

?R—S(R中不屬于S的內容)

?笛卡爾積

?投影

?nA(R)從R中選擇屬性列A組成新的關系

?選擇

選擇例題

查詢代京仝休受生

備夠件賄宣詢胎

仲通名件

?其他運算:交、連接、除

交運算:HcS=K-(K-S)

連接運算:~RWS="“(KXS)

除運算:R(x,y)+s(y.z)=n,(/e)-n,(n,(/f)*nf(s)-?)

?除運算

?關系R和關系擁有共同的屬性B,C,R+S得到的屬性值就是關系R包含而關系S不

包含的屬性的

在R關系中可以或{"a2a.M)

aljrjfiiffSMm(b1.c2)(b2.cU(bax3]|)

?2(blc7)(Wx3j)

a3對fiM3ME?((X.ce?

*sflW何3象集冽(b0.c6?

關系&TB..C上的投影制(blc2>(M.cH.(b2.e3?

RWai的fBJt掘gCJ含美率S的長照《.所以只含&A?E

所UlR—S方?i

80WUIIR+SK.15梆!03阻凌食的一1義*下面的躋法

關系麗美財I曰共崎墉愎&C.R,SA推M(付31天包含而關系訐色含的■性的.

Aan同XWHQ??nQQG5口

?出自CSDN-數據庫中的除運算一點就通

?連接

R,S如圖2?14所定義.求A>vS

C>D

關系R'關系S

ABC

albl3DE

alb264el

a2b257e2

a3b31115e3

連接結果滅>vS關系

ABCDE

alb264el

a2b254el

a3b3114el

a3b3117e2

4at--3±E.

?第二早

?1.什么是基本表,什么是視圖;二者的區別和聯系

?基本表是本身獨立存在的表,在SQL中一個關系就對應一個基本表

?視圖是從一個或幾個基本表導出的表,視圖本身不獨立存儲都在數據庫中,是一個虛表

?2.視圖的特點

?簡化用戶操作

?使用戶能以多種角度看待同一數據

?視圖對重構數據庫提供了一定程度的邏輯獨立性

?視圖能夠對機密數據提供安全保護

?3.哪類視圖是可以更新的;哪類視圖不可更新

?基本表的行列子集視圖一般是可更新的

?若視圖的屬性來自聚集函數、表達式,視圖是不可更新的

?4.SQL基本語句

?建表

?createtable表名(屬性列)primarykey(主碼)

?查詢

?用(BETWEEN下限AND上限)確定查詢范圍

?通配符

?%表示任意長度的字符串

?(a%b,可查到aaab,asdfdsfb等)

?_(下劃線)代表任意單個字符(漢字每個字為兩個字符)

?(a_b只能查到字長為三個的如acb、anb等)

?當_和%前有/,則/緊跟的一個字符不具備通配符含義

?空值查詢

?WHERE?ISNULL

?ORDERBYASC(升序)/DESC(降序

?(默認升序)

?聚集函數(只能用在HAVING語句中)

?count(*)統計元組個數

?count(列名)統計一列中值的個數

?sum

?avg

?max

?min

?groupby

?EXISIT返回true或false值

?并查詢(UNION),交操作(INTERSECT),差操作(EXCEPT)

?連接查詢(書P99)、嵌套查詢(書P103)

?更新

?插入INSERT

?insertinto〈表名>[(〈屬性歹!11>,<屬性歹?。輛alues(〈常量1>(常量

?insertinto(表名>[(<屬性列1>,(屬性列2〉」子查詢;

?修改UPDATE

?update表名set列名=表達式[where條件];

?刪除DELETE

?deletefrom表名[where條件];(Ps:條件可以為子直詢)

?grant

?GRANT權限(列名)ONTABLE表名TO用戶名;

?例

[例4]把查詢Student表和修改學生學號的權限

授給用戶U4。

GRANTUPDATE(Sno),SELECT

ONTABLEStudent

TOU4;

?revoke

?revoke具體權限ontable表名from用戶名、

?觸發器

[例1]當對表SC的Grade屬性進行修改時,若分數增加了10%,則

將此次操作記錄到另一個表SC_U(Sno,Cno,Oldgrade,Newgrade)

巾,其中Oldgrade是修改前的分敦,Newgrad?是修改后的分數。

CREATETRIGGERSCT

AFTERUPDATEOFGradeONSC

REFERENCING

OLDROWASOIdTuple,

NEWROWASNewluple令SC_U表需要首先創建

FOREACHROW

WHEN(NewTuple.Grade>=1.1?OldTuple.Grade)

INSERTINTOSC_U(Sno,CnotOldgrade,Newgrade)

VALUES(OldTuple.Sno,Oldluple.Cno,OldTuple.Grade,N

Grade)

?索引

?create[UNIQUE][CLUSTER]index索引名on表名(列名)[Ps:列名后可用ORDERBY

ASC(升序)/DESC(降序]

?UNIQUE:此索引的每一個索引值只對應唯一的數據記錄

?CLUSTER:建立的索引是聚簇索引

?口表示可選項

?存儲過程

?createorreplaceprocedure過程名([參數1]...)AS過程化sql塊

?5.SQL特點

?綜合統一

?高度非過程化

?面向集合的操作方式

?以同一種語法結構提供多種使用方式

?語言簡潔、易學易用

?第四章

?1.什么是數據庫的安全性

?保護數據庫以防止不合法的使用造成數據泄露、更改或破壞

?2.實現數據庫安全性控制的常用方法和技術

?常用方法技術

?用戶身份鑒別

?多層存取控制

?視圖機制

?審計

?數據加密

?3.什么是數據庫中的自主存取控制方法和強制存取控制方法

?自主存取控制:定義各個用戶對不同數據對象的存取權限。當用戶對數據庫訪問時首先檢查用

戶的存取權限。防止不合法用戶對數據庫的存取

?自主是指用戶可以將自己擁有的存取權限自主地授予別人

?強制存取控制:每一個數據對象被強制標以一定的密級,每一個用戶也被強制授予某一個級別

的許可證。規定只有具有某一許可證的用戶才能存取某一密級的數據對象

?TCSEC/TDI系統安全標準,系統可信程度次序(書P135)

安全級別定義

AI驗證設計(verifieddesign)

B3安全域(securitydomains>

B21結構化保護(structuralprotection)

BI標記安全保護(labeledsecurityprotection)

C2受控的存取保護(controlledaccessprotection)

CI自主安全保護<discretionarysecurityprotection)

DAi小保護(minimalprolection)

?B1級別的產品才被認為是真正意義上的安全產品

?第五章

?1.數據庫的完整性

?數據的正確性,相容性和正確性

?2.關系數據庫管理系統的完整性控制機制應具有哪三方面的功能

?定義功能:提供定義完整性約束條件的機制

?檢查功能:檢查用戶發出的操作請求是否違背了完整性約束條件

?違約處理功能:如果發現用戶的操作使數據違背了完整性約束條件,則3采取一定的動作保證

數據的完整性

?3.在關系系統中,當操作違反實體完整性、參照完整性和用戶定義的完整性約束條件時,分別是怎

樣處理的

被拿照&(例如Student)參照&(例如SC)違妁處理

可除破壞參照完整性-摘人元18拒艷

可能破壞卷照完整性一修改外叼依拒婚

?除元組-*可能破壞參照完整性拒絕/級取射除/設置為空值

修改主碼值可能破壞參鼎完整性拒絕/級聯修改/設置為空值

?第六章

?寫出下列術語定義

?部分函數依賴

函數依穩:沒斤(U)是一個關系模式.〃是"的M性集合和Y&〃的千娘,時干

做〃)的任意一個可能的關系,.如果,中不存在兩個無組,它們在x上的屜性值相同.而在y

上的屬性值不同,則稱“、函數確定r?或-Y函數依賴于丁.記作x一九

**析:

?函數依賴是址基本的種依據依帔.也是最嗔嬰的?種數據依假

②函數依賴是屬性之間的?種聯系.體現在房件值是杳相等由上曲的定義可以知道,如

果x4.則,中任意兩個元如.若它們在人上的■性值相同.那么在y上的履性值一定也相同

③我們要從屬性間實際存在的諳義來確定它們之間的函數依管.即函數依贛反映門描

述了)現實世界的書酒義

④函數依賴不是指關系模式&在某個時刻的關系(值)滿足的妁收條件,而是指農住任

何時刻的-切關系均要滿足的約束條件

答:

完全襦數依賴、部分函數依賴:在做〃)中,如果x-匕并且對于*的任何一個女于集

X'.都行匕則稱>'對'完全函數依贛.記作:

X-^Y

若.丫一丫.(0Y不完全函數依賴T九則稱y對x部分函數依賴,記作:

X-^Y

傳遞依賴:住例。)中.如果A'-匚ytx.Ykx.yTZ.zt匚則稱z對、傳遞函數依贛.

候選碼,主碼:設&為/?<〃,/>中的屬性或屬性組合,若K二”,蜥人為A的候選碼若

帔選碼多下一個,則選定H中的一個為主碼

?解析:

①這里用函數依穩來嚴格定義碼的概念,住第2點2.I.I小節中只是描述性地定義碼

若關系中的某屬性綱的值能唯地懷儀一個元組,則稱誨料性紙為候選碼

②因為外有「嚴格定義,讀者在學習r《概論》6.33數據依償的公理系統后.就可以從

&<£/./>的函畋依賴集尸出發.用算法來求帔選碼

答:

外碼:關系模式R中屬性或屬性ft!V并出R的碼.但X是另一個關系模式的碼.則林X

是人的外部碼.也稱外碼

全碼:核個發性組是碼.稱為全碼(all-key)

_______________________________________________________________第6章關一收■理論?■

答:

1NF:如果個關系模式/?的所有屬性都是不可分的根本數據項.則RwINK

?解析:

第?他式是對關系模式的最起碼的要求不滿足第一他式的數據庫模式不徙稱為關系

數據庫.

答:

2NF:若關系模式/?wINF.并且你?個非在屬性部完全函數依賴于K的碼.則Rw2NF

3NF:關系模式/?<£//>中若不存在這樣的碼鼠屬性組丫及非主屬性Z(Z*丫)使沏

X-r.(r-vx).r-z成立,則稱R<U,F>€3NF

BCNF:關系模式R<U.F>eINF若X”且V時X必什仃瑪,則R<U,F>eBCNF

?解析:

讀衣要在正理斛這些池式的內浦各種柩式之間的聯系:5NFU4NFUBCNFU3NFU

2NFUINF(《概論》圖6.2),能夠理解為什么有這種包含關系

答:

多位依賴:設"(U)是屬性集U上的一個關系模式.XJ、Z是。的子集,并"/=〃-1-

1關系模式做U)中多值依佛*-y成S.當且僅當對R(u)的任關系,.給定的對

(x.x)tt.W-ffiy的例,這組值僅僅決定F*值而與:值無關。

4NF:關系模式R<UJ'>wlNF,如果對于/?的每個小平凡多僮依賴V^Y(Y^X),X

都含有碼.則稱&<U.F>€4NE,

?解析:

對于多值依他的定義布多種《微論》書定義6.9的后面乂給出了種等價的定義習

題中的第4題型另?種等價的定義,讀者可以對比不同的定義來理弟多值依慢.選擇門已容

易理解的種定義來掌握多值依賴概念

?第一范式:只要是關系數據庫即可

?第二范式:不存在函數依賴

?第三范式:不存在傳遞函數依賴

?BCNF范式:左側包含候選碼(碼)

?基本范式的求法、閉包運算、求候選碼等

?候選碼

?第七章

?數據庫設計的過程,各階段的目標

?需求分析:明確用戶的各種需求,并在此基礎上設計新的系統

?概念結構設計

?邏輯結構設計

?數據庫物理設計

?數據庫實施

?數據庫運行和維護?

?數據庫設計過程中形成的數據庫模式

*

數據庫設計的不同階段形成數據庫的各級模式,即:

①在:概念結構設計階段形成獨“丁機器特點.獨立于各個DBMS產品的慨念模式,在本

箱中就是E-R圖

②在邏郴結構設計階段招E-R圖轉換成II體的數據庫產品支持的效據模型,如關系模

V.形成數據庫遺料模式;然所在基木&的基礎I:再建立必要的視圖(vie),形成數據的外模式

③在:物理結構設計階段,根據DBMS特點和處理的需要進行物理存儲安排.建立索引.

形成數據庫內模式

讀者可以參考〈概論》圖7.4圖中概念模式是面向用戶和設計人員的.屬I:概念模型的

層次;邏輯模式、外模式、內模式是DBMS支持的模式,14『數據模型的層次,可以在DBMS中

加以描述和“儲,

?第十章

?1.試述事物的概念和事務的4個特性。恢復技術能保證事務的哪些特性

?原子性

?事務是數據庫的邏輯工作單位,事務中包括的諸操作要么都做,要么都不做

?一致性

?事務執行的結果是數據庫從一個一致狀態變到另一個一致狀態

?隔離性

?一個事務的執行不能被其他事務影響

?持續性

?一個事務一旦提交,那么他對數據庫中的數據的改變是永久性的

?可以保證事務的原子性和持續性

?2.登錄日志文件時為什么必須先寫日志文件,后寫數據庫

?把對數據的修改寫到數據庫中和把表示這個修改的日志記錄寫到日志文件中是兩個不同的操作。

有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。如果先寫了數據庫修改,

而在運行記錄中沒有登記這個修改,則以后就無法恢復這個修改了。如果先寫日志,但沒有修

改數據庫,在恢復時只不過是多執行一次UNDO操作,并不會影響數據庫的正確性。所以一

定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數據庫的修改

?3.如何進行事務故障的恢復,如何進行系統故障的恢復;如何進行介質故障恢復

?事務故障的恢復步驟是

?①反向掃描文件日志,查找該事務的更新操作。

?②對該事務的更新操作執行逆操作。即將日志記錄中"更新前的值"寫人數據庫。直至讀

到此事務的開始標記,該事務故障的恢復就完成了

?系統故障的恢復步驟是

?①正向掃描日志文件,找出在故障發生前已經提交的事務隊列(REDO隊列)和未完成的

事務隊列(UNDO隊列)。

?②對未完成的事務隊列中的各個事務進行UNDO處理

?③對已經提交的事務隊列中的各個事務進行REDO處理

?介質故障的恢復步驟是

?裝人最新的數據庫后備副本(離故障發生時刻最近的轉儲副本),使數據庫恢復到最近一

次轉儲時的一致性狀態

?裝人轉儲結束時刻的日志文件副本

?啟動系統恢復命令,由DBMS完成恢復功能,即重做已完成的事務

?4.具有檢查點的恢復技術有什么優點?試舉例

?檢查點記錄

?檢查點記錄是一類新的日志紀錄。它的內容包括:①建立檢查點時刻所有正在執行的事務

清單,如下圖中的Tl、T2②這些事務的最近一個日志記錄的地址,如下圖中的DI、D2

(檢查點sj“檢套點S2)〃(系統故障)

口志文件-----[------------------------------1------------------------------------------------

1r.H----------------------------------1

石I-----------------------------------!

利用H志技術進行數據庫恢復時?恢復子系統必御搜索整個日志.這將耗費大量的時間,

此外,需暨REDO處理的事務實際上巳經將它們的更新操作結果寫到數據庫中了.恢復干系

統乂而新執行了這些操作,浪費了大量時間,

檢套點技術就是為了解決這些問期

例如:

M檢玄點S)〃(系統放陣)

H*文件一一

0

在采用檢A點技術之愉,恢復時需要從頭掃描H志文件.而利用檢侵點技術只需要從,

開始打描II志,這就縮短了掃描H志的時間。

界務7\的更新操作實際上已姓寫到數據庫中進行恢更時沒有必要再REDO處珅.采

用檢看點技術做到r這一點。

9.試述使用檢置點方法進行恢復的步驟

?第十一章

?1.數據庫中為什么要并發控制,并發控制能保證事物的哪些特征

?數據庫是共享資源,通常有多個事務同時在運行。當多個事務并發地存取數據庫時就會產生同

時讀取和/或修改同一數據的情況。若對并發操作不加控制就可能會存取和存儲不正確的數據,

破壞數據庫的一致性。所以數據庫管理系統必須提供并發控制機制。

?并發機制可以保證事務的一致性和隔離性,

?2.并發操作可能會產生哪三類數據不一致;用什么方法能夠避免各種不一致情況

?并發操作帶來的數據不一致性包括三類

?(1)丟失修改

?兩個事務T1和T2讀人同一數據并修改,T2提交的結果破壞了(覆蓋了)T1提交的結果,

導致T1的修改被丟失。

?(2)不可重復讀

?不可重復讀是指事務T1讀取某一數據后,事務T2對其執行更新操作,使T1無法再現前

次讀取結果。不可重復讀包括三種情況:

?①事務T1讀取某一數據后,事務T2對其做了修改,當事務T1再次讀該數據時,得到

與前一次不同的值。

?②事務T1按一定條件從數據庫中讀取了某些數據記錄后,事務T2刪除了其中部分記

錄,當T再次按相同條件讀取數據時,發現某些記錄消失了

?③事務T1按一定條件從數據庫中讀取某些數據記錄后,事務T2插人了一些記錄,當

T1再次按相同條件讀取數據時,發現多了一些記錄。

?后兩種不可重復讀有時也稱為幻影(phantomrow)現象

?(3)讀"臟"數據

?讀"臟"數據是指事務T1修改某一數據,并將其寫回磁盤,事務T2讀取同一數據后,T1

由于某種原因被撤銷,這時T1已修改過的數據恢復原值,T2讀到的數據就與數據庫中的

數據不一致,則T2讀到的數據就為"臟"數據,即不正確的數據。

?避免不一致性的方法就是并發控制。常用的并發控制技術包括封鎖方法、時間戳方法、樂觀控

制方法和多版本并發控制方法等。

?3.什么是封鎖;基本封鎖類型有幾種;這些基本封鎖的含義

?圭擷就是事務T在對某個數據對象例如表、記錄等操作之前,先向系統發出請求,對其加鎖。

加鎖后事務T就對該數據對象有了一定的控制,在事務T釋放它的鎖之前,其他的事務不能更

新或讀取此數據對象。

?基本的封鎖類型有兩種:

?排他鎖(簡稱X鎖)

?排他鎖又稱為寫鎖。若事務T對數據對象A加上X鎖,則只允許T讀取和修改A,其

他任彳可事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其他事

務在T釋放S上的鎖之前不能再讀取和修改A

?共享鎖(簡稱S鎖)

?共享鎖又稱為讀鎖。若事務T對數據對象A加上S鎖,則事務T可以讀A但不能修改

A,其他事務只能再對A力口S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證

了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。

?4.如何用封鎖機制保證數據的一致性

DBMS在對敢好選行讀*提作之前為先對Mt敢據執行好他操作,例如用中隼處

選行修改之的先對,執行X?'k(4)卬咐XMX?|這樣.當T,講求M4toXH!時就破步

T,科放41:的然后才能佚w時4的X依.這時它設到的41r,更新后的他.

fflittifisW這樣就不會丟失。的更新,

8X—

Xkx-kA

等待

?4-4T等待

IJH4-IS等待

*拘

I'nlorkA

像網XlorkX

IK4?1S

寫回A=I4

Commit

L'nlorkA

DBMS按黑一定的封鎖協議時并發搽作進行控制,使得多個并發操作介序施執h.二,,I

以避免丟失修改、不可境復讀和讀“臟“數據等敢IK不一致性

<44->>0.*£MvIUIU

?5.例題:

包,今修個事務的個■度WBWNAMMRkKBXN

溫馨提示

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

評論

0/150

提交評論