亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

數(shù)據(jù)庫(kù)系統(tǒng)概論筆記

來(lái)源:一只小杰鴿 發(fā)布時(shí)間:2020-04-28 17:01:45 閱讀量:1426

數(shù)據(jù)庫(kù)系統(tǒng)概論

緒論

數(shù)據(jù)庫(kù)DB


數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。


數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS


數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件(計(jì)算機(jī)的基礎(chǔ)軟件)


(1)數(shù)據(jù)定義功能


(2)數(shù)據(jù)組織、存儲(chǔ)和管理


(3)數(shù)據(jù)操縱功能


(4)數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理


(5)數(shù)據(jù)庫(kù)的建立和維護(hù)功能


(6)其他功能


數(shù)據(jù)庫(kù)系統(tǒng)


數(shù)據(jù)庫(kù)系統(tǒng)是由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其應(yīng)用開(kāi)發(fā)工具)、應(yīng)用程序和數(shù)據(jù)庫(kù)管理員(DBA)組成的存儲(chǔ)、管理、處理和維護(hù)數(shù)據(jù)的系統(tǒng)。


數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)


(1)數(shù)據(jù)結(jié)構(gòu)化


數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫(kù)系統(tǒng)的主要特征之一,也是數(shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。


(2)數(shù)據(jù)獨(dú)立性高


數(shù)據(jù)獨(dú)立性是由數(shù)據(jù)庫(kù)管理系統(tǒng)提供的二級(jí)映像功能來(lái)保證的。


a.物理獨(dú)立性是指用戶(hù)的應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的物理存儲(chǔ)是相互獨(dú)立的。


b.邏輯獨(dú)立性是指用戶(hù)的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。


概念模型


(1)信息世界中的基本概念


a.實(shí)體


b.屬性


c.碼


d.實(shí)體型


e.實(shí)體集


f.聯(lián)系


(2)概念模型的一種表示方法:實(shí)體-聯(lián)系方法(E-R方法/E-R模型)


數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)


(1)模式


模式也稱(chēng)邏輯模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶(hù)的公共數(shù)據(jù)視圖。


一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式。


(2)外模式


外模式也稱(chēng)子模式或用戶(hù)模式,它是數(shù)據(jù)庫(kù)用戶(hù)能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶(hù)的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。


(3)內(nèi)模式


內(nèi)模式也稱(chēng)存儲(chǔ)模式,一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)的存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的組織方式。


數(shù)據(jù)庫(kù)系統(tǒng)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性


(1)外模式/模式映像


當(dāng)模式改變時(shí),由數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式/模式的映像作相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變。保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的邏輯獨(dú)立性。


(2)模式/內(nèi)模式映像


當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),由數(shù)據(jù)庫(kù)管理員對(duì)模式/內(nèi)模式映像作相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的物理獨(dú)立性。


關(guān)系數(shù)據(jù)庫(kù)

關(guān)系


候選碼、主碼、主屬性、非主屬性(非碼屬性)


基本關(guān)系的六條性質(zhì):


(1)列是同質(zhì)的


(2)不同列可出自同一個(gè)域,每一列為一個(gè)屬性,不同屬性(列)給不同屬性名


(3)列的順序可任意交換


(4)任意兩個(gè)元組不能完全相同


(5)行的順序可任意交換


(6)每一分量是不可分的數(shù)據(jù)項(xiàng)


關(guān)系模式:關(guān)系的描述R(U, D, dom, F),簡(jiǎn)記為R(U)或R(A1, A2, …, An)


關(guān)系操作


查詢(xún)操作和插入、刪除、修改操作兩部分


關(guān)系的完整性


(1)實(shí)體完整性


(2)參照完整性


(3)用戶(hù)定義的完整性


關(guān)系代數(shù)


(1)傳統(tǒng)的集合運(yùn)算(前三者都有n個(gè)屬性且相應(yīng)屬性取自同一個(gè)域)


并(合并)


差(去除)


交(共同)


笛卡爾積(元組連接)


(2)專(zhuān)門(mén)的關(guān)系運(yùn)算


選擇(滿(mǎn)足條件的行)


投影(列的組合)


連接(元組連接且滿(mǎn)足條件θ)


a.等值連接(條件θ為相等)


b.自然連接(等值連接去除重復(fù)列,默認(rèn)舍棄懸浮元組)


除(R÷S,R中公共屬性在非公共屬性上的象集包含了S中公共屬性投影集合,R÷S結(jié)果為這些滿(mǎn)足條件的非公共屬性的元組集合)


關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL

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


對(duì)模式SCHEMA、基本表TABLE、視圖VIEW、索引INDEX的創(chuàng)建CREATE、刪除DROP和修改ALTER(9種組合,不能修改模式、視圖和索引)(10種組合,不能修改模式和視圖)


數(shù)據(jù)查詢(xún)


單表查詢(xún)

查詢(xún)所有*


消除重復(fù)行DISTINCT,默認(rèn)是全部行ALL


范圍閉區(qū)間(NOT) BETWEEN AND


屬性值的集合(NOT) IN


字符匹配LIKE+通配符(任意長(zhǎng)度% 任意單個(gè)字符_)(+ 轉(zhuǎn)義符ESCAPE)


空值IS (NOT) NULL


按屬性列排序ORDER BY + 升序ASC(默認(rèn),空值最后)/降序DESC(空值最先)


元組個(gè)數(shù)COUNT(*) (遇到空值不影響)


某列中值的:個(gè)數(shù)COUNT(),總和SUM(),平均值A(chǔ)VG(),最大值MAX(),最小值MIN() (遇到空值跳過(guò))


分組GROUP BY (+ HAVING)


連接查詢(xún)

自身連接FIRST,SECOND


外連接LEFT/RIGHR/FULL OUTER JOIN ON()


嵌套查詢(xún)

子查詢(xún)結(jié)果屬性值的集合(NOT) IN


子查詢(xún)結(jié)果的某個(gè)值A(chǔ)NY


子查詢(xún)結(jié)果的所有值A(chǔ)LL


返回查詢(xún)結(jié)果(NOT) EXISTS


多層嵌套


集合查詢(xún)

查詢(xún)結(jié)果是元組的集合,可以進(jìn)行集合操作并UNION、交INTERSECT、差EXCEPT


基于派生表查詢(xún)

子查詢(xún)生成的臨時(shí)派生表作為主查詢(xún)的對(duì)象,AS設(shè)置別名


數(shù)據(jù)更新


插入

INSERT


INTO


VALUES


修改

UPDATE


SET


WHERE


刪除

DELETE


FROM


WHERE


空值


空值與其他值算術(shù)運(yùn)算為空值,比較運(yùn)算為UNKNOWN


視圖的作用


視圖能夠簡(jiǎn)化用戶(hù)的操作

視圖使用戶(hù)能以多種角度看待同一數(shù)據(jù)

視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性

視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)

適當(dāng)利用視圖可以更清晰地表達(dá)查詢(xún)

數(shù)據(jù)庫(kù)安全性

數(shù)據(jù)庫(kù)的安全性


是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法使用所造成的數(shù)據(jù)泄漏、更改或破壞。


TCSEC/TDI(四組七個(gè)等級(jí))


C1級(jí)(自主安全保護(hù)):該級(jí)只提供了非常初級(jí)的自主安全保護(hù),能實(shí)現(xiàn)對(duì)用戶(hù)和數(shù)據(jù)的分離。進(jìn)行自主存取控制(DAC),保護(hù)或限制用戶(hù)權(quán)限的傳播?,F(xiàn)有的商業(yè)系統(tǒng)往往稍作改進(jìn)即可滿(mǎn)足要求。


B1級(jí)(標(biāo)記安全保護(hù)):對(duì)系統(tǒng)的數(shù)據(jù)加以標(biāo)記,并對(duì)標(biāo)記的主體和客體實(shí)施強(qiáng)制存取控制(MAC)以及審計(jì)等安全機(jī)制。B1級(jí)別的產(chǎn)品才被認(rèn)為是真正意義上的安全產(chǎn)品。


自主存取控制


用戶(hù)對(duì)于不同的數(shù)據(jù)庫(kù)對(duì)象有不同的存取權(quán)限,不同的用戶(hù)對(duì)同一對(duì)象也有不同的權(quán)限,而且用戶(hù)還可將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶(hù)。


因此自主存取控制非常靈活。


強(qiáng)制存取控制


每一個(gè)數(shù)據(jù)庫(kù)對(duì)象被標(biāo)記以一定的密級(jí),每一個(gè)用戶(hù)也被授予某一個(gè)級(jí)別的許可證。對(duì)于任意一個(gè)對(duì)象,只有具有合法許可證的用戶(hù)才可以存取。


因此強(qiáng)制存取控制相對(duì)比較嚴(yán)格。


數(shù)據(jù)庫(kù)完整性

(1)實(shí)體完整性


說(shuō)明方法:在列級(jí)定義(只適合單屬性構(gòu)成的碼)、在表級(jí)定義


檢查:主碼值是否唯一、主碼的各個(gè)屬性是否為空


處理:拒絕插入或修改


(2)參照完整性


檢查:參照表插入、修改;被參照表刪除、修改


處理:拒絕執(zhí)行、級(jí)聯(lián)刪除、設(shè)置為空值


(3)用戶(hù)定義的完整性


a.屬性上約束條件


檢查:列值非空、列值唯一、檢查列值是否滿(mǎn)足一個(gè)條件表達(dá)式(CHECK短語(yǔ))


處理:拒絕執(zhí)行


b.元組上的約束條件(不同屬性之間的約束條件)


檢查:CHECK語(yǔ)句定義約束條件


處理:拒絕執(zhí)行


關(guān)系數(shù)據(jù)庫(kù)理論

函數(shù)依賴(lài)


設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是U的子集。若對(duì)于R的任何一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X屬性值上相等而在Y屬性值上不等,則稱(chēng)X函數(shù)確定Y或Y函數(shù)依賴(lài)于X,記作:X→Y。


完全函數(shù)依賴(lài)


在R(U)中如果X→Y,并且對(duì)X的任何一個(gè)真子集X’,都有X’→Y,則稱(chēng)Y對(duì)X完全函數(shù)依賴(lài),記作:X → Y


部分函數(shù)依賴(lài)


若X → Y,但Y不完全函數(shù)依賴(lài)于X,則稱(chēng)Y對(duì)X部分函數(shù)依賴(lài),記作:X → Y


傳遞函數(shù)依賴(lài)




候選碼




主屬性


包含在任何候選碼中的屬性。


非主屬性(非碼屬性)


不包含在任何候選碼中的屬性。


外碼


關(guān)系模式R中的屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱(chēng)X是R的外部碼,簡(jiǎn)稱(chēng)外碼。


1NF


每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)

2NF


若R∈1NF,對(duì)R的每一個(gè)非平凡的函數(shù)依賴(lài)X→Y,要么Y是主屬性,要么X不是任何碼的真子集,則R∈2NF。

若R∈1NF,且每一個(gè)非主屬性完全函數(shù)依賴(lài)于任何一個(gè)候選碼,則R∈2NF。

2NF在1NF基礎(chǔ)上消除了非主屬性對(duì)碼的部分函數(shù)依賴(lài)。


3NF


若R∈1NF,對(duì)R中的每一個(gè)非平凡的函數(shù)依賴(lài)X→Y,要么Y是主屬性,要么X中含有碼,則R∈3NF。

3NF在2NF的基礎(chǔ)上消除了非主屬性對(duì)碼的傳遞函數(shù)依賴(lài),不存在非主屬性對(duì)非主屬性的函數(shù)依賴(lài)。


BCNF


若R∈1NF,對(duì)R中的每一個(gè)非平凡的函數(shù)依賴(lài)X→Y,X中均含有碼,則R∈BCNF。

不允許主屬性對(duì)碼的部分和傳遞函數(shù)依賴(lài)。


多值依賴(lài)


設(shè)有關(guān)系模式R(U),X, Y, Z是U的非空子集。對(duì)于R的任一關(guān)系r,給定一對(duì)(x, z)值,就有一組Y的值與之對(duì)應(yīng),這組值僅僅決定于x值而與z值無(wú)關(guān),則稱(chēng)“Y多值依賴(lài)于X”或“X多值決定Y”。記作X→→Y。


4NF


若關(guān)系模式R(U,F(xiàn))∈1NF,如果對(duì)于R的每個(gè)非平凡多值依賴(lài)X →→ Y(Y不包含于X),X都含有碼,則稱(chēng)R(U,F(xiàn))∈4NF。


4NF消除了多值依賴(lài)。


模式分解


無(wú)損連接性和函數(shù)依賴(lài)


具有無(wú)損連接性:分解后的(幾個(gè))小模式可自然連接恢復(fù)位原來(lái)的模式


保持函數(shù)依賴(lài):分解前后函數(shù)依賴(lài)集等價(jià)


分解為一組具有無(wú)損連接性,保持函數(shù)依賴(lài),且滿(mǎn)足3NF的關(guān)系范式

數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)基本步驟


需求分析


概念結(jié)構(gòu)設(shè)計(jì) 構(gòu)造ER模型


邏輯結(jié)構(gòu)設(shè)計(jì) 生成一組關(guān)系模式


物理結(jié)構(gòu)設(shè)計(jì) 設(shè)計(jì)具體DBMS下的表、視圖、索引


數(shù)據(jù)庫(kù)實(shí)施


數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)


ER方法


實(shí)體、聯(lián)系以及它們的屬性,關(guān)系是一對(duì)一,一對(duì)多還是多對(duì)多,是否存在弱實(shí)體型。


如果一個(gè)實(shí)體型的存在依賴(lài)于其他實(shí)體型的存在,則這個(gè)實(shí)體型叫做弱實(shí)體型,否則叫做強(qiáng)實(shí)體型。一般地講,如果不能從一個(gè)實(shí)體型的屬性中找出可以作為碼的屬性,則這個(gè)實(shí)體型是弱實(shí)體型。


ER模型到關(guān)系模型的9步映射算法(前七步)


S1: 每一強(qiáng)實(shí)體用一個(gè)新表表示


對(duì)ER模型中的每一實(shí)體E創(chuàng)建對(duì)應(yīng)的新表T

確定新表T的屬性:

E的所有簡(jiǎn)單屬性轉(zhuǎn)換為對(duì)應(yīng)的表T的屬性

對(duì)于E的復(fù)合屬性,直接從其簡(jiǎn)單成分轉(zhuǎn)換

確定T的主碼和Unique碼

E的碼轉(zhuǎn)換為候選碼,選定一個(gè)(意義最明顯的)為主碼,其余作Unique碼

S2: 處理ER模型中所有參與1:1標(biāo)識(shí)聯(lián)系的弱實(shí)體W


找出W所依賴(lài)的強(qiáng)實(shí)體對(duì)應(yīng)的表T

在T表中加入W的所有簡(jiǎn)單屬性和復(fù)合屬性的簡(jiǎn)單成分

S3: 處理ER模型中所有參與1:N或M:N標(biāo)識(shí)聯(lián)系的弱實(shí)體W


為W創(chuàng)建對(duì)應(yīng)的新表T

確定新表T的屬性:

E的所有簡(jiǎn)單屬性轉(zhuǎn)換為對(duì)應(yīng)的表T的屬性

對(duì)于E的復(fù)合屬性,直接從其簡(jiǎn)單成分轉(zhuǎn)換

確定T的主碼

對(duì)于1:N聯(lián)系,T中增加W所依賴(lài)的強(qiáng)實(shí)體對(duì)應(yīng)表的主碼為外碼,T的主碼為該外碼+W的鑒別器(部分碼)

如果是M:N聯(lián)系,構(gòu)建新列(具有惟一值)為主碼

S4: 處理ER模型中每一二元1:1聯(lián)系R


確定參與該聯(lián)系的實(shí)體型轉(zhuǎn)換的表S和T

選定S(最好是全參與的一方,推廣到參與程度高的一方)

將T的主碼作為外碼加入S

將聯(lián)系R的所有簡(jiǎn)單屬性和復(fù)合屬性成分作為列加入S

S5: 處理ER模型中每一二元1:N聯(lián)系R


確定處于N端的實(shí)體表S和1端的實(shí)體表T

將T的主碼作為外碼加入S

將R的所有簡(jiǎn)單屬性和復(fù)合屬性成分作為列加入S

S6: 處理ER模型中的每一多元聯(lián)系和二元(M:N聯(lián)系)R


為R創(chuàng)建對(duì)應(yīng)的新表T

將R的所有簡(jiǎn)單屬性和復(fù)合屬性成分作為列加入T

將參與聯(lián)系的(強(qiáng)、弱)實(shí)體型的主碼作為外碼加入T

將(上步得到的)所有外碼組合,共同構(gòu)成T的主碼

S7: 處理ER模型中的每一多值屬性A


為A創(chuàng)建對(duì)應(yīng)的新表T

將A的所有簡(jiǎn)單屬性和復(fù)合屬性成分作為列加入T

將A所屬的實(shí)體或聯(lián)系轉(zhuǎn)換得到的表的主碼作為外碼加入T

將(上步得到的)外碼和A對(duì)應(yīng)的全部屬性確定為T(mén)的主碼

關(guān)系查詢(xún)處理和查詢(xún)優(yōu)化

1.選擇變串連


2.盡可能先做選擇


3.盡可能先做投影


4.同時(shí)執(zhí)行多個(gè)選擇和投影


5.分組


數(shù)據(jù)庫(kù)恢復(fù)技術(shù)

事務(wù)


事務(wù)是用戶(hù)定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位。


事務(wù)是恢復(fù)和并發(fā)控制的基本單位。


保證事務(wù)ACID特性是事務(wù)處理的重要任務(wù)。


事務(wù)的特性(ACID)


原子性(Atomicity) :最小工作單位


一致性(Consistency): 一個(gè)正確狀態(tài)到另一個(gè)正確狀態(tài)


隔離性(Isolation) :事務(wù)不相互干擾


持續(xù)性(Durability) :事務(wù)提交對(duì)數(shù)據(jù)庫(kù)影響是永久性的


事務(wù)ACID特性可能遭到破壞的因素


多個(gè)事務(wù)并行運(yùn)行時(shí),不同事物的操作交叉執(zhí)行

事務(wù)在運(yùn)行過(guò)程中被強(qiáng)制停止

數(shù)據(jù)庫(kù)恢復(fù)


數(shù)據(jù)庫(kù)管理系統(tǒng)必須具有把數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)的功能


恢復(fù)的基本原理:冗余


建立冗余數(shù)據(jù)最常用的技術(shù)是數(shù)據(jù)轉(zhuǎn)儲(chǔ)和登記日志文件。


數(shù)據(jù)轉(zhuǎn)儲(chǔ)


按照狀態(tài):動(dòng)態(tài)轉(zhuǎn)儲(chǔ)、靜態(tài)轉(zhuǎn)儲(chǔ)


按照方式:海量轉(zhuǎn)儲(chǔ)、增量轉(zhuǎn)儲(chǔ)


登記日志文件


日志文件的作用


事務(wù)故障恢復(fù)和系統(tǒng)恢復(fù)必須用日志文件

在動(dòng)態(tài)轉(zhuǎn)儲(chǔ)方式中必須建立日志文件,后備副本和日志文件結(jié)合起來(lái)才能有效地恢復(fù)數(shù)據(jù)庫(kù)

在靜態(tài)轉(zhuǎn)儲(chǔ)方式中也可以建立日志文件,當(dāng)數(shù)據(jù)庫(kù)毀壞后可重新裝入后援副本把數(shù)據(jù)庫(kù)恢復(fù)到轉(zhuǎn)儲(chǔ)結(jié)束時(shí)刻的正確狀態(tài),然后利用日志文件把已完成的事務(wù)進(jìn)行重做處理,對(duì)故障發(fā)生時(shí)尚未完成的事務(wù)進(jìn)行撤銷(xiāo)處理。這樣不必重新運(yùn)行那些已完成的事務(wù)程序就可把數(shù)據(jù)庫(kù)恢復(fù)到故障前某一時(shí)刻的正確狀態(tài)。

事務(wù)內(nèi)部的故障


事務(wù)故障是指事務(wù)在運(yùn)行至正常終點(diǎn)前被終止,這時(shí)恢復(fù)子系統(tǒng)應(yīng)利用日志文件撤銷(xiāo)(UNDO)此事務(wù)已對(duì)數(shù)據(jù)庫(kù)進(jìn)行的修改。


事務(wù)故障的恢復(fù)是由系統(tǒng)自動(dòng)完成的,對(duì)用戶(hù)是透明的。


恢復(fù)步驟:


反向掃描日志文件,查找未完成事務(wù)的更新操作


對(duì)該事務(wù)的更新操作做逆操作


繼續(xù)反向掃描,查找該事務(wù)的其他更新操作,并做同樣處理


直至該事務(wù)的開(kāi)始標(biāo)記為止


系統(tǒng)故障(軟故障)


系統(tǒng)故障是指造成系統(tǒng)停止運(yùn)轉(zhuǎn)的任何事件,使得系統(tǒng)要重新啟動(dòng)。


系統(tǒng)故障的恢復(fù)是由系統(tǒng)在重新啟動(dòng)時(shí)自動(dòng)完成的,不需要用戶(hù)干預(yù)。


系統(tǒng)故障造成數(shù)據(jù)庫(kù)不一致?tīng)顟B(tài)的原因


未完成事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新可能已寫(xiě)入數(shù)據(jù)庫(kù)

已提交事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新可能還留在緩沖區(qū)沒(méi)來(lái)得及寫(xiě)入數(shù)據(jù)庫(kù)

恢復(fù)步驟


正向掃描日志文件,將已提交事務(wù)(故障發(fā)生前已COMMIT)標(biāo)志記入REDO隊(duì)列,未完成事務(wù),將其事務(wù)標(biāo)志記入U(xiǎn)NDO隊(duì)列

對(duì)UNDO隊(duì)列中的事務(wù)進(jìn)行UNDO處理

對(duì)REDO隊(duì)列中的事務(wù)進(jìn)行REDO處理

介質(zhì)故障(硬故障)


介質(zhì)故障是指外存故障,這類(lèi)故障將破壞數(shù)據(jù)庫(kù)或部分?jǐn)?shù)據(jù)庫(kù),并影響正在存取這部分?jǐn)?shù)據(jù)的所有事務(wù)。


介質(zhì)故障的恢復(fù)需要數(shù)據(jù)庫(kù)管理員介入,具體的恢復(fù)操作仍由數(shù)據(jù)庫(kù)管理系統(tǒng)完成。


恢復(fù)方法


重裝數(shù)據(jù)庫(kù),然后重做已完成的事務(wù)


恢復(fù)步驟


裝入最新的數(shù)據(jù)庫(kù)后備副本,使數(shù)據(jù)庫(kù)恢復(fù)到故障發(fā)生前最近轉(zhuǎn)儲(chǔ)時(shí)的一致性狀態(tài)

裝入日志文件副本,利用日志文件進(jìn)行REDO。

并發(fā)控制

并發(fā)控制


DBMS必須提供并發(fā)控制機(jī)制來(lái)協(xié)調(diào)并發(fā)用戶(hù)的并發(fā)操作以保證并發(fā)事務(wù)的隔離性和一致性


封鎖


事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出加鎖請(qǐng)求,在獲得封鎖后,事務(wù)T就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在事務(wù)T釋放它的鎖之前,其他的事務(wù)不能更新此數(shù)據(jù)對(duì)象。


排它鎖(寫(xiě)鎖,Exclusive Locks,簡(jiǎn)稱(chēng)X鎖)


共享鎖(讀鎖,Share Locks,簡(jiǎn)稱(chēng)S鎖)


封鎖協(xié)議



評(píng)論:
你還沒(méi)有登錄,請(qǐng)先