




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)概論王珊第五版學 習筆記第一章1 .數(shù)據(jù)庫的四個基本概念:數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù):是數(shù)據(jù)庫中存儲的基本對象。描述事物的符號稱為數(shù)據(jù)。數(shù)據(jù)庫:是長期存儲在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫數(shù)據(jù)具有永久存儲、有組織和可共享三個基本特點。數(shù)據(jù)庫管理系統(tǒng):是計算機的基礎(chǔ)軟件。數(shù)據(jù)庫系統(tǒng):是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用程序和人組成的存儲、管理、處 理和維護數(shù)據(jù)的系統(tǒng)。2 .數(shù)據(jù)處理和數(shù)據(jù)管理。數(shù)據(jù)處理:指對各種數(shù)據(jù)進行手機、存儲、加工和傳播的一系列活動的總和。數(shù)據(jù)管理:指對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護。3 .數(shù)據(jù)獨立性。物理獨立性:指用戶
2、的應用程序與數(shù)據(jù)庫中數(shù)據(jù)的物理存儲是相互獨立的。邏輯獨立性:指用戶的應用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。4 .數(shù)據(jù)模型-是對現(xiàn)實世界數(shù)據(jù)特征的抽象(現(xiàn)實世界的模擬)。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。概念模型:信息模型,按照用戶的觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計。邏輯模型:按照計算機系統(tǒng)的觀點對數(shù)據(jù)建模。物理模型:描述數(shù)據(jù)在計算機內(nèi)部的表示方式和存取方法。數(shù)據(jù)模型組成要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)的完整性約束條件。5 .信息世界中的基本概念。實體:客觀存在并可相互區(qū)別的事物。屬性:實體所具有的某一特征。碼:唯一標識實體的屬性集。聯(lián)系:失誤內(nèi)部以及事物之間是有聯(lián)系的。實體內(nèi)部的聯(lián)系
3、通常是指組成實體的個屬性之間的聯(lián)系,實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。實體之間的聯(lián)系有一對一、一對多和多對多等各種類型。6 .數(shù)據(jù)完整性約束條件。實體完整性:檢查主碼值是否唯一,檢查主碼的各個屬性是否為空。實體完整性在創(chuàng)建表時用primary key主鍵來定義。參照完整性:檢查增刪改時檢查外碼約束。在創(chuàng)建表時用外碼foreign key 短語定義。用戶定義完整性:創(chuàng)建表中定義屬性的同時,可以根據(jù)應用要求定義屬性上的約束條件,即屬性值限制。列值非空(not null )、列值唯一(unique )、檢查列值是否滿足一個條件表達式(check短語)7 .數(shù)據(jù)庫系統(tǒng)的模式。型:是指對某一類
4、數(shù)據(jù)的結(jié)構(gòu)和屬性的說明,對結(jié)構(gòu)的描述和說明。值:是型的一個具體賦值。模式:是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,對結(jié)構(gòu)進行描述,僅僅涉及 型。模式的一個具體值稱為模式的一個實例。模式反應的事數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系,而實例反應的是數(shù)據(jù)庫某一時刻的狀態(tài)。8 .數(shù)據(jù)庫的三級模式結(jié)構(gòu)。模式(邏輯模式):是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,需要定義數(shù)據(jù)想的名字,類型,取值范圍和數(shù)據(jù)之間的聯(lián)系,安全性完整性要求等。外模式(子模式):數(shù)據(jù)庫中數(shù)據(jù)的局部邏輯結(jié)構(gòu)。內(nèi)模式(存儲模式):是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的 組織方式。第二章1 .關(guān)系模型-關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系完整
5、性約束三部分組成。2 .關(guān)系。域:一組具有相同數(shù)據(jù)類型的值的集合。關(guān)系:笛卡爾積的有限子集。候選碼:關(guān)系中某一屬性組的值能唯一地標識一個元組。候選碼的諸屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性。3 .表?;颈恚ɑ娟P(guān)系、基表):實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示。查詢表:是查詢結(jié)果對應的表。視圖表:是由基本表或其他視圖表導出的表,虛表,不對應實際存儲的數(shù)據(jù)。4 .關(guān)系代數(shù):用對關(guān)系的運算來表達查詢。關(guān)系代數(shù)運算的三個要素:1.運算對象:關(guān)系;2.運算結(jié)果:關(guān)系;3:運算符:四類運算符I含義1運算符專門的關(guān) 系 運算符0JI選擇邏輯運算 投影符 連接非與或選擇運算是從行的角度
6、進行的運算查詢信息系(IS系)全體學生(T Sdept = 'IS' (Student)投影操作主要是從列的角度進行運算。投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復行)查詢學生的姓名和所在系,即求 Student關(guān)系上學生姓名和所在系兩個屬性上的投影n Sname Sdept(Student)連接也稱e連接:連接運算從 R和S的廣義笛卡爾積 RX S中選?。≧關(guān)系)在A 屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組A/%C7«3/Qb.%A%6,b.%一b.?!縣人bz二%2EB在關(guān)系R中,A可以取四個值aL a2, a3, a4
7、司的象集為(bv5),(為,q),(用,q)全的象集為(多G,(%,q)名的象集為e,q)久的象集為(4,必的(R。上的投影為(bl, c2), (b2, cl), (b2, c3) 只有藥的象集包含了融(A。屬性組上的投影所以 /?S=/交: RCS= R -(火-0連接:R X1S = o A0B (RXS)A&B除:R=S=五 x(R)- n X(兀 x(R)X JI y(S)-R)例10查詢選修了全部課程的學生號碼和姓名。Sao. Cno)小n皿£)枷Sno« Snme(Student)第四章什么是數(shù)據(jù)庫的安令性k數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫,防止因用戶非法
8、使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。,數(shù)據(jù)庫察統(tǒng)的安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)主要 的性能指標之一.數(shù)據(jù)庫安全控制層次層層設(shè)防k 巴J)用戶標s只DBMS枇婢與鱉劑在取拄油U加那審計也時1 .數(shù)據(jù)庫安全性控制。用戶身份鑒別:靜態(tài)口令鑒別,動態(tài)口令鑒別、生物特征鑒別、智能卡鑒別。存取控制:定義用戶權(quán)限。合法權(quán)限檢查。自主存取控制:授予不同對象不同權(quán)限。強制存取控制:數(shù)據(jù)庫中的內(nèi)容帶有密級標記,只有具有相應標記的用戶才能夠訪 問。 強制存取控制規(guī)則,當某一用戶(或某一主體)以標記1M1注冊入系統(tǒng)時,系統(tǒng)要求他對任何客 體的存取必須遵循下面兩條規(guī)則:(1)僅當主體的許可證皺別大于或等于客體的密級
9、時,該主體才能讀取相應的 客體;(2)僅當主體的許可睜別等于客體的密級時,該主體才能寫相應的客體. 修正規(guī)則,主體的許可證級別 二客體的密級6 主體能寫客體 規(guī)則的共同點禁止了擁有高許可證級別的主體更新低密級的數(shù)據(jù)對象2 .授權(quán)。授權(quán):-對屬性列授權(quán)必須指出相應的屬性列名grant select,insert,delete,update on table Student,Scto 用戶1,用戶2收回權(quán)限:revoke selecton table Student,Scfrom用戶1,用戶23 .角色。數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限,角色是權(quán)限的集合。創(chuàng)建角色、對角色進行授權(quán)、將
10、角色授權(quán)給其他的角色或者用戶、角色權(quán)限 的收回。創(chuàng)建角色:create role 角色1,角色2給角色授權(quán):grant select,insert on table Studentto 角色1,角色2將角色授權(quán)給其他用戶:grant 角色1to 用戶1,用戶2收回角色權(quán)限:Revoke selectOn table StudentFrom角色14 .視圖。創(chuàng)建視圖:Create view 視圖 1AsSelect *From StudentWhere Sdept ='CS第五章1 .數(shù)據(jù)庫完整性。數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容 性。數(shù)據(jù)的正確性是指額數(shù)據(jù)是符合現(xiàn)實世界語 義、反應
11、當前實際狀況的。數(shù)據(jù)的相容性是指數(shù) 據(jù)庫同一對象在不同的關(guān)系表中的數(shù)據(jù)是符合 邏輯的。2 .保障數(shù)據(jù)庫的完整性。提供定義完整性約束條件的機制。提供完整性檢查的方法。進行違約處理。數(shù)據(jù)完整性約束條件前文中已經(jīng)講述,此處不再贅述。第六章1.函數(shù)依賴。若對于R(U)的任意一個可能的關(guān)系r)r中不 可能存在兩個元組在X上的屬性值相等,而在 Y 上的屬性值不等,則稱“X函數(shù)確定Y 或 “Y 函數(shù)依賴于X”,記作Xf Y可以從不同角度分類: 平凡函數(shù)依賴與非平凡函數(shù)依賴 完全函數(shù)依賴與部分函數(shù)依賴 直接函短依賴與傳遞函數(shù)依賴如果X-Y, fiYcX,則稱X-Y是平凡的函教懶若果戶Y,但Y &X,則
12、稱介丫是非平凡的函數(shù)礴如果XfY,并且對于X的任何一個真子集X',都有好十匕 則稱Y完全函數(shù)依賴于X,記作X1八若XfY,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X, 記作XY.如果XfY, YfZ,且Y0X, Y、X,則稱Z傳遞函數(shù)依賴于X。如果X-»Y,貝Ijz直接依賴于X。一個低一級范式的關(guān)系模式,通過模式分解 可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集 合,這種過程叫做規(guī)范化。1NF (第一范式)如果一個關(guān)系模式 R的所 有屬性都是不可分的基本數(shù)據(jù)項,則RW 1NF第一范式是對關(guān)系模式的最起碼的要求。不 滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)2NE如果RW 1NF
13、,且每一個非主屬性完全 依賴于碼,則RG 2NF采用投影分解法將一個 1NF的關(guān)系分解為多個2NF的關(guān)系3NE如果R是2NF,且每個非主屬性都不傳遞依賴于R的候選碼,則R屬于3NR2NF消除非主屬性的部分依賴,3NF消除非 主屬性的傳遞依賴2NF和3NE都是對非主屬性的要求,2NF要求每一個非主屬性完全函數(shù)依賴于碼:3NI耍求每一個非1:屬性既不部分依賴于碼也不傳遞依賴于碼力R FINFr若X-Y且Y生X時X必含有碼,則, BCNF勺定義:R6BCNF.BCNF不僅對非主屬性有要求,而且也對主 屬性有要求如果一個關(guān)系模式只有兩個屬性構(gòu)成,則該 關(guān)系模式一定屬于BCNF思考.指出該關(guān)系模式的候選
14、碼 指出主屬性、非主屬性 該關(guān)寮棋式是否是心 該關(guān)系模式是否是BCNF?例:關(guān)系模式j(luò).p)中.s是學生學號,j是課程號.p 表示名次(沒有并列名次),每一個學生班修每門課程的成績 有一定的名次,由語義可得朝函教依艘集F如下工 P- g J) fP. (Jt P) -*s)有兩個:(&J) ,(J,P)主屬性: S. J. F;沒有其主屬性SJP 戶 3XFSJP BCNF有兩個:(S,J) , (S,T)主屬性:S、J、P;沒有非主屬性SJP F3NFSJP &BCNF例:關(guān)系模式STJ(S,T,J)中,S是學生學號,T表示教師編號,般課程號,每個教師只教一門課,每門課有若干
15、 教師講費,某一學生選定某門課,就對應一個固定的教師。由語義可得到函數(shù)依賴集砌下:F= (S, J) -T, T f J思考.'指由該關(guān)系模式的候選碼 指出主屬性、非主屬性 該關(guān)系模式是否是3NF? 該關(guān)系模式是否是BCNE?1NFI2NFI3NF消除非主屬性對碼的部分函數(shù)依賴消除非主屬性對碼的傳遞函數(shù)依賴消除主屬性對碼的部分和傳遞函數(shù)依賴BCNF合并規(guī)則:由AX AZ有戶區(qū)偽傳遞規(guī)則:由戶K小Z,有朋一乙分解規(guī)則:由戶陽有戶K X-Z.U= A, B, C, D ; F=A 一 B, BC - D)計算(AC)f+(AC)f+ =A,B,C, I)判斷一個函數(shù)依賴在R上是否成立R(A
16、, B, C, D), F=4A - B, BC - D;問:AC f D是否在吐成立?第一種解決方法=計算M 看看AC -U是否在其中n該方法計 算量大,不可行.第二種解決方法工如果ACD成立網(wǎng)D一定屬于,因此, 目先計算(AC)f+ ,如果D£(ACV ,則成立,否則,不成 立.由于(AC)f* =A,B,C,D,所以AC-D在R上成立己知關(guān)系模式R<U, F>t其中3A, B, C, D, E; FABfC, BD. C-*E, ECB, AC田.求關(guān)系的候選碼并判斷該關(guān)系模式是幾范式?過程:苜先,找出所有沒有在任何一個函數(shù)依賴右側(cè)出現(xiàn)的屬杵, 把他們組成一個屬性組
17、K,候選碼一定含有K; 計算如果IQ,=U,則K為候選碼,而且只有這一個; 否則,基于K擴充屬性,形成新的屬性組(含有K但不含 候選碼的所有可能的屬性組合),計算新屬性組的閉包, 判斷其是否為候選碼。候選碼:4可-1范式第七章1 .數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫設(shè)計分6個階段需求分析概念結(jié)構(gòu)設(shè)計。邏輯結(jié)構(gòu)設(shè)計。物理結(jié)構(gòu)設(shè)計。數(shù)據(jù)庫實施。數(shù)據(jù)庫運行和維護。2.數(shù)據(jù)項是不可再分的數(shù)據(jù)單位數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也就 是流的來源和去向之一。具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述, 是元數(shù) 據(jù),而不
18、是數(shù)據(jù)本身。數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設(shè)計 過程中不斷修改、充實、完善。概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù) 據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定。自頂向下的進行需求分析,自低向上的設(shè)計概 念結(jié)構(gòu)O定義數(shù)據(jù)庫模式主要是從系統(tǒng)的時間效率、 空 間效率、易維護等角度出發(fā)物理設(shè)計的第一任務(wù)就是要確定選擇那些存 取方法,即建立哪些存取路徑。什么是數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱 為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的計算機 系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理 設(shè)計。3. E R圖實體型:用矩形表示,矩形框內(nèi)寫明實
19、體名屬性:用橢圓形表示,并用無向邊將其與相 應的實體型連接起來聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名, 并用無向邊分別與有關(guān)實體連接起來,同時在無 向邊旁標上聯(lián)系的類型(1:1、1:n或m:n)聯(lián)系的屬性:聯(lián)系本身也是一種實體型,也 可以有屬性。如果一個聯(lián)系具有屬性,則這些屬 性也要用無向邊與該聯(lián)系連接起來(姓名)學生;<, >jr.富電話), .1"iCD<»>A A玉/gjf > G作)()程yy(堞-2)(胡巡)i*rTTnpm工1時四(.贏 )在關(guān)系總數(shù)盡量少的情況下,該E-R圖轉(zhuǎn)換 后關(guān)系模式包括:學生(學號,姓名,性別,專業(yè),出生日期
20、, 學院編號)課程(課程編號,課程名稱,課程類別,學分)學院(學院編號,學院名稱,辦公室電話,院長教職工編號)教職工(教職工編號,姓名,參加工作時間, 職稱,學院編號)選課(學號,課程號,成績)第八章1 .游標。使用:聲明游標、打開游標、從一個游標中提 取信息、關(guān)閉釋放游標。For select *聲明游標 : Declare XXX cursoropen XXXclose XXXdeallocate XXX打開游標: 關(guān)閉游標: 釋放游標:聲明一個名為curAllCourse的游標,完成統(tǒng)計有多少學生選修了全部課程,輸出學生學號和姓名。declare curAllCourse cursor/
21、 聲明游標for SELECT SNO, sname from studentwhere sno in ( select sno from sc group by sno havingCOUNT;*)>=(select COUNT*) from course ) )for read onlyopen curAllCourse/打開游標declare sno char (10), sname char (10)/ 聲明變量set sno=0fetch next from curAllCourse into sno, sname / 從游標中取數(shù)據(jù) while FETCH_STATUS= 0
22、 beginif sname is nullset sno = sno + 1select sno 學號,sname 姓名fetch next from curAllCourse into sno, sname endCLOSE curAllCourse/ 關(guān)閉游標DEALLOCATE curAllCourse/ 釋放游標2 .存儲過程。視圖、存儲過程和自定義函數(shù)視圖存儲過程自定義函數(shù)語句只能是SELECT語句可以包含程序流、邏輯以及SELECT語句可以包含程序流、 邏輯以及SELECT 符句輸入不能接受參數(shù)同以有輸入輸出參數(shù)有輸入?yún)?shù)返回值只能返回結(jié)果集返回值只能是整數(shù)可以返回標量值、 裝典
23、型應 用多個表格的連接查 詢完成某個特定的較復 雜的任務(wù)可以完成比被復雜 的任務(wù),可以出現(xiàn)在馬elect語句中類似與C語言中的函數(shù)。編寫一個存儲過程,在sc表統(tǒng)計每個學生的平均分.create proc avergrade/創(chuàng)建存儲過程asbeginselect sno , avg ( grade ) 平均分from scgroup by snoendexec avergrade/執(zhí)行存儲過程drop procedure avergrade/ 刪除存儲過程對練習1的存儲過程進行改進,添加一個輸入?yún)?數(shù)一一學號,使存儲過程能根據(jù)輸入的學號計算 該學生的平均分create proc avergra
24、desno char (10)asbeginselect sno , avg ( grade ) 平均分from scwhere sno = snogroup by snoendexec avergrade'04'drop procedure avergrade在練習2的基礎(chǔ)上添加一個輸出參數(shù)平均分,計算指定學號的平均分,然后將平均分輸出。 create proc avergrade sno char (10), saving int out as begin select saving = avg (grade ) from sc where sno = sno group
25、by snoenddeclare avg int set avg = 0 exec avergrade '02' , avg out select avg 平均分drop procedure avergrade3 .函數(shù)。函數(shù)必須返回指定類型,可以返回表,有輸入 參數(shù)。創(chuàng)建成績轉(zhuǎn)換函數(shù),實現(xiàn)百分制成績與優(yōu)、良、 中、及格、不及格五個等級的換算.CREATE FUNCTION grade_trans(grade FLOAT)RETURNS CHAR(16)ASBEGINDECLARE class CHAR(16)SELECT class = CASEWHEN grade IS N
26、ULL THEN '還沒參力口考試'WHEN grade < 60 THEN '不及格'WHEN grade >= 60 and grade< 70 THEN'及格'WHEN grade >= 70 and grade< 80 THEN'中等'WHEN grade >= 80 and grade< 90 THEN'良好'ELSE '優(yōu)秀!ENDRETURN(class)END select dbo.grade_trans(88)查詢某個院系所有學生所選的每門課的平均
27、成績。createfunctionaver ( p char ( 10)returnstableasreturn (select cno 課程號,avg (grade ) 平均成績from student , scwhere student . sno =sc. sno and sdept =pgroup by cnoselect)* from dbo . aver ('cs' ) drop function aver求某個院系選修了某門課的學生人數(shù)create functionpeople (p0 char (10), p1 char (4) returnsintasbegi
28、ndeclare renshu intselect renshu =(select COUNT(*)選課人數(shù) from student , scwhere student . sno = sc . sno and cno = p1 and sdept = p0 ) return renshu endselect dbo . people ( 'cs' , '2')drop function people4,觸發(fā)器。Create trigger XXXOn tablefor /after /instead of Insert,delete,updateAs觸發(fā)器實
29、際需要觸發(fā)內(nèi)容For:用法同afterAfter :執(zhí)行完sql語句之后進行檢查,檢查不符合條件的話回滾roll backafter觸發(fā)器只能在表上指定。Instead of:指定觸發(fā)器時代替SQM句執(zhí)行的,其優(yōu)先級高于觸發(fā)語句的操作。例:sage值大于0為student表建立觸發(fā)器T1,當插入或更新表中的數(shù)據(jù)時,保證所操作的記錄的create triggerT1on studentafter insert , update as begindeclare sage intselect sage = inserted . sage from insertedif ( sage < 0 )
30、 beginprint '年齡錯誤' rollback transactionend endupdate student set sage = 38where sno = '01'insert into student (sno , sname , ssex , sage , sdept ) values ('2007011','張三','男',55, 'ma')為student 表建立觸發(fā)器T2 ,禁止刪除編號為“ 0001 ”的學生 insertinto student (sno , sname
31、 , ssex , sage , sdept )values ( '0001','傻大個','男',19 , 'is')createtrigger T2on student after delete as begindeclare sno char (10)select sno = deleted . sno from deletedif (sno = '0001')beginprint '禁止刪除學號0001信息rollback transactionendenddelete studentwhere s
32、no = '0001'drop trigger T2第十章1 .事務(wù)。是一系列的數(shù)據(jù)庫操作,是數(shù)據(jù)庫應用程序的 基本邏輯單元。是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作 要么全做,要么全不做,是一個不可分割的工作 單元。2 .事務(wù)的四個特性。原子性:事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù) 總包括的諸操作要么全做,要么全不做。一致性:數(shù)據(jù)庫只包含成功事務(wù)提交的結(jié)果,就說數(shù)據(jù)庫處于一致性狀態(tài)。隔離性:一個事務(wù)的執(zhí)行不能被其他事務(wù)干 擾。即一個事務(wù)的內(nèi)部操作及使用的數(shù)據(jù)對其他 并發(fā)事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不 能互相干擾。持續(xù)性:指一個事務(wù)一旦提交,他對數(shù)據(jù)庫中 數(shù)據(jù)的改變就應該是
33、永久性的。事務(wù)是恢復和并發(fā)控制的基本單位。3 .數(shù)據(jù)庫恢復。把數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確 狀態(tài)的功能。1 .運行事務(wù)非正常中斷。2 .數(shù)據(jù)丟失。4 .故障種類。運行事務(wù)非正常中斷 恢復-事務(wù)撤銷。系統(tǒng)故障、介質(zhì)故障、計算機病毒。5 .恢復實現(xiàn)技術(shù)。數(shù)據(jù)恢復的基本原理:冗余。建立冗余數(shù)據(jù)最常用的技術(shù)是數(shù)據(jù)轉(zhuǎn)儲和登 記日志文件。6 .數(shù)據(jù)轉(zhuǎn)儲。靜態(tài)轉(zhuǎn)儲:是在系統(tǒng)中無運行事務(wù)時進行的轉(zhuǎn) 儲操作。動態(tài)轉(zhuǎn)儲:是指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進行存 取或修改。即轉(zhuǎn)儲和用戶事務(wù)可以并發(fā)執(zhí)行。海量轉(zhuǎn)儲:每次轉(zhuǎn)儲全部數(shù)據(jù)庫。增量轉(zhuǎn)儲:指每次只轉(zhuǎn)儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。7 .日志文件。是用來記錄事務(wù)對數(shù)據(jù)庫
34、的更新操作的文件。在事務(wù)故障恢復和系統(tǒng)故障恢復必須用日志 文件。在動態(tài)轉(zhuǎn)儲方式中必須建立日志文件,后備副 本和日志文件結(jié)合起來才能有效地恢復數(shù)據(jù)庫。在靜態(tài)轉(zhuǎn)儲中也建立日志文件8 .登記日志文件(對數(shù)據(jù)庫的操作記錄)。 登記的次序嚴格按并發(fā)事務(wù)執(zhí)行的時間次序。 必須先寫日志文件,后寫數(shù)據(jù)庫。9 .事務(wù)故障的恢復?;謴妥酉到y(tǒng)應利用日志文件撤銷此事務(wù)已對 數(shù)據(jù)庫進行的修改,系統(tǒng)自動進行。10 .系統(tǒng)故障恢復。導致故障原因可能有兩個:1 .未完成事務(wù)對數(shù)據(jù)庫的更新可能已寫入數(shù)據(jù)庫。2 .已提交事務(wù)對數(shù)據(jù)庫的更新可能還留在緩沖區(qū)沒來得及寫入數(shù)據(jù)庫?;謴筒呗允浅蜂N故障發(fā)生時未完成的事物, 重做已完成的事物
35、。11 .介質(zhì)故障的恢復。數(shù)據(jù)庫副本。第十一章1 .并發(fā)操作帶來的數(shù)據(jù)不一致性。并發(fā)操作破壞了事務(wù)的隔離性。丟失修改:兩個事務(wù)同時讀入同一數(shù)據(jù)并修 改,T2提交的結(jié)構(gòu)破壞了 T1提交的結(jié)果,導致 T1的修改被丟失。不可重復讀:事務(wù)1讀取數(shù)據(jù)后,事務(wù)2執(zhí)行 更新操作,使T1無法再現(xiàn)前一次讀取結(jié)果。讀臟數(shù)據(jù):事務(wù)1修改某一數(shù)據(jù)并將其寫回磁 盤,事務(wù)2讀取同一數(shù)據(jù)后,T1由于某種原因 被撤銷,這時被T1修改過的數(shù)據(jù)恢復原值,T2 讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為臟數(shù)據(jù),即不正確的數(shù)據(jù)。2 .并發(fā)控制的主要技術(shù)。封鎖、時間戳、樂觀控制法、多版本并發(fā)控制等。3 .封鎖。封鎖就是事務(wù)T對某個數(shù)據(jù)對象操作之前,先 向系統(tǒng)發(fā)出請求,對該數(shù)據(jù)對象進行加鎖。加鎖 后事務(wù)T就對該數(shù)據(jù)對象有了 一定的控制,在事 務(wù)T釋放它的鎖之前,其他事務(wù)不能更新此數(shù)據(jù) 對象。4 .封鎖類型。排他鎖(寫鎖):若事務(wù)T對數(shù)據(jù)對象A加上 X鎖,則只允許T讀取和修改A,其他任何事務(wù) 都不能再對A加任何類型的鎖,直到T釋放A上 的鎖為止。保證了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 凈化廠房承包合同
- 煤礦機電產(chǎn)品買賣合同煤炭
- 《油漆藝術(shù)》課件
- 家居行業(yè)創(chuàng)新突破
- 管理學理念演進
- 代理合委托合同范本
- 合同范本到時里去找
- 健康管理師復習資料練習試題
- 健康管理師復習測試附答案(一)
- 焊工理論試題及答案練習試卷附答案
- 2025年湖南水利水電職業(yè)技術(shù)學院單招職業(yè)技能測試題庫參考答案
- (部編版2025新教材)道德與法治一年級下冊-第1課《有個新目標》課件
- 廉政從業(yè)培訓課件
- 2025新 公司法知識競賽題庫與參考答案
- 《苗圃生產(chǎn)與管理》教案-第三章 園林植物的播種育苗
- 大學生美甲創(chuàng)業(yè)項目路演
- 2025年中國中煤能源集團有限公司招聘筆試參考題庫含答案解析
- 《肺結(jié)節(jié)影像診斷》課件
- 2024年濰坊工程職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 殯儀服務(wù)員職業(yè)技能鑒定考試題(附答案)
- 2024年湖北省聯(lián)合發(fā)展投資集團有限公司人員招聘考試題庫及答案解析
評論
0/150
提交評論