![成教學習wl數(shù)據(jù)庫第5章_第1頁](http://file4.renrendoc.com/view/b3cc66f79329ab58d6727c093c1b5b73/b3cc66f79329ab58d6727c093c1b5b731.gif)
![成教學習wl數(shù)據(jù)庫第5章_第2頁](http://file4.renrendoc.com/view/b3cc66f79329ab58d6727c093c1b5b73/b3cc66f79329ab58d6727c093c1b5b732.gif)
![成教學習wl數(shù)據(jù)庫第5章_第3頁](http://file4.renrendoc.com/view/b3cc66f79329ab58d6727c093c1b5b73/b3cc66f79329ab58d6727c093c1b5b733.gif)
![成教學習wl數(shù)據(jù)庫第5章_第4頁](http://file4.renrendoc.com/view/b3cc66f79329ab58d6727c093c1b5b73/b3cc66f79329ab58d6727c093c1b5b734.gif)
![成教學習wl數(shù)據(jù)庫第5章_第5頁](http://file4.renrendoc.com/view/b3cc66f79329ab58d6727c093c1b5b73/b3cc66f79329ab58d6727c093c1b5b735.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第5章數(shù)據(jù)庫保第5章5.15.25.35.4
第九章數(shù)據(jù)庫安全性第十章數(shù)據(jù)庫完整性第八章迸發(fā)控制5.5數(shù)據(jù) 第5章數(shù)據(jù)庫保第5章5.15.25.35.45.5數(shù)據(jù) 第5章數(shù)據(jù)庫保護 5.1第5章數(shù)據(jù)庫保護5.15.1 5.1安全 使用數(shù)據(jù)庫造成共享共享分戶分戶 格的
戶允許他存取 編寫應用程序執(zhí)行 操
數(shù)
圖5-1 行用戶鑒定不再詳敘。另外對于強力迫
口令、物理設備等行為而
用戶標
④審 戶要求進入系統(tǒng)時,由系統(tǒng)將用戶提供的標識是系統(tǒng)提供的最外層安全保護措施或用戶標識號來標明用戶,系統(tǒng)鑒別此用戶是
行,但用戶名與口令容易竊取,因此還例如,每個用戶都預先約定好一個計算過程或者函數(shù),鑒別用戶時,系統(tǒng)提供一結(jié)果是否正確進一步鑒定用戶。用戶可以約定比較簡單的計算過程或函數(shù),以便 表表5 數(shù)據(jù)表 表5-表5- 關(guān)系………對象的范圍。定義中圍越小,子系統(tǒng)就越 列A行C列A行C英682 對象對象關(guān)系關(guān)系………
表5-4一 表5-4一 表5- …列o…… ………
另外,還可以在存取謂詞中系統(tǒng)變量。如終端設備號,系實現(xiàn)和收回所力。 機制把要的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱 但實際上任何系統(tǒng)的安全性措施都不可能是完美無缺的,蓄意、的處理極為重要時,就必須以審計技術(shù)作為預防,監(jiān)測可能的不合法行 供供洞以動對和傳輸?shù)臄?shù)據(jù)進行加理,另一些數(shù)據(jù)庫產(chǎn)品雖然本身未提供加 所有提供加密機制的系統(tǒng)必然也提供相應的程序。這些程序本身也必須具有一定的安全性保護措施,否則由于數(shù)據(jù)加密與也是比較費時的操作,而且數(shù)據(jù)加密與程序會占用大量系統(tǒng)資源,因此數(shù)據(jù)加密功能通常 ,只對高度的數(shù)據(jù) SQLServer的安全等級SQLServer采用了集成WindowsNT SQLServer的安全等級(2(2SQLServer登錄SQLSQLServer的登錄安全機制建立在控制數(shù)據(jù)庫服務器SQLServer的登錄安全機制建立在控制數(shù)據(jù)庫服務器 的基礎上。SQLServer采用了標準SQLServer登錄和集成WindowsNT登錄兩種方式。無論使用那 戶能否獲得SQLServer的 SQLSQLSQL SQLServer的安全等級SQLSQLSQLSQL
SQLServer的安全等級SQL
SQLSQLSQL
5.1.2ORACLE數(shù)據(jù)庫的安全性措ORACLE還 5.1.2ORACLE數(shù)據(jù)庫的安全性措22ORACLE 5.1.2ORACLE數(shù)據(jù)庫的安全性措
CONNECT角色允許用戶登錄數(shù)據(jù)庫,并執(zhí)行數(shù)據(jù)查詢和 允許用戶執(zhí)行ALTERTABLE,CREATEVIEW,CREATEINDEX, 5.1.2ORACLE數(shù)據(jù)庫的安全性措
RESOURCE角色允許用戶建表,即執(zhí)行CREATETABLE操作。 TABLE,CREATEVIEW,CREATEINDEX,DROP GRANTCONNECTTOU12這樣就可以省略十幾條GRANT 5.1.2ORACLE數(shù)據(jù)庫的安全性措
GRANT/REVOKE
GRANTSELECTONSCTO 5.1.2ORACLE數(shù)據(jù)庫的安全性措
CREATEVIEWSELECTCREATEVIEWSELECTFROMWHERESdept=’IS’ 全許用戶U12查看自己創(chuàng)性建的Student表中有關(guān)信視圖GRANTSELECTONS_ISGRANTSELECTONS_ISTO 5.1.2ORACLE數(shù)據(jù)庫的安全性措Cno的UPDATE權(quán)力授予U12: 5.1.2ORACLE數(shù)據(jù)庫的安全性措 圖5-2 圖5-2 5.1.2ORACLE數(shù)據(jù)庫的安全性措功的要求以及各種類型的SQL操作。系統(tǒng)級審計只能由DBA進行, ALTERUPDATEONSC 5.1.2ORACLE數(shù)據(jù)庫的安全性措NOAUDITNOAUDITALLONSC 5.1.2ORACLE數(shù)據(jù)庫的安全性措CREATEORRE CETRIGGERsecure_studentBEFOREINSERTORUPDATEORDELETEONStudentIF(TO_CHAR(sysdate,’DY’)IN(’SAT’,’SUN’)OR(TO_NUMBER(sysdate,’HH24’)NOTBETWEEN8AND’Youmayonlychangedataduringnormalbusinesshours.’)ENDIF; 5.1.2ORACLE數(shù)據(jù)庫的安全性措觸發(fā)器一經(jīng)定義后,將存放在數(shù)據(jù)字典中。用戶每次對Student表 ORACLE的安全性和檢查以及審計技術(shù)中起著重要作用。 5.25.25.25.2第五例如,學生的必須是整數(shù),取值范圍為14~29;學生的只能是男或 5.2.1完整性約束條 列級 5.2.1完整性約束條 5.2.1完整性約束條圖5-3圖5-3
⑥
①①對數(shù)據(jù)格式 5.2.1完整性約束條 5.2.1完整性約束條③函數(shù)依賴 系SJT(S,J,T)中存在如下的函數(shù)依賴(S,J→T,T→J),將(S,J)作為主碼,還 5.2.1完整性約束條統(tǒng)計約束即某個字段值與一個關(guān)系多個元組的統(tǒng)計值之間的約束關(guān)系。 5.2.1完整性約束條修改列定義修改列定義 5.2.1完整性約束條表5-5表5-5 5.2.2完整性控 5.2.2完整性控5.2.2
(deferredconstraints)。 5.2.2完整性控5.2.2 5.2.2完整性控5.2.2
D,O,A,C
5.2.2完整性控5.2.2 5.2.2完整性控5.2.2 5.2.2完整性控的 5.2.2完整性控值,但在學生-選課數(shù)據(jù)庫中,Student關(guān)系為被參照關(guān)系,其主碼為的某個學生,或者某個不知學號的學生,選修了某門課程,其成績記錄在Grade列中。這與學校的應用環(huán)境是不相符的,因此SC的Sno列不能取空值。從上面的討論中,我們看到外碼是否能夠取空值是依賴于應用環(huán)境的語義的,因此在實現(xiàn)參照完整性時,系統(tǒng)除了應該提供定 5.2.2完整性控 5.2.2完整性控 5.2.2完整性控 5.2.2完整性控②受限修改(restricted)。即此修改操作。只當參照關(guān)系中沒有任何元組 5.2.3ORACLE的完整CREATETABLE SnameVARCHAR(20),SageNUMBER(20),CREATETABLE SnameVARCHAR(20),SageNUMBER(20),
5.2.3ORACLE的完整例
CREATETABLESCCREATETABLESC GradeCONSTRAINTPK_SCPRIMARYKEY(Sno,在用在用PRIMARYKEY語句定義了關(guān)系的主碼后,每當用戶程序?qū)χ鞔a使主碼值在表中不唯一,系統(tǒng)此操作,從而保證了實體完整性。 5.2.3ORACLE的完整ORACLE的CREATETABLE語句不僅可以定義關(guān)系的實體完整性規(guī)則,CREATETABLE(EmpnoNUMBER(4),EnameCREATETABLE(EmpnoNUMBER(4),EnameVARCHAR(10),JobVERCHAR(9),MgrNUMBER(4),SalNUMBER(7,2),DeptnoCONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFERENCESDEPT(Deptno)); 沒有,接受此操作;否則這一更新
CREATECREATETABLE(EmpnoNUMBER(4),EnameVARCHAR(10),JobVERCHAR(9),MgrSalDeptnoCONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFERENCESDEPT(Deptno));5.25.25.2.3ORACLE
CREATECREATETABLE(EmpnoNUMBER(4),EnameVARCHAR(10),JobVERCHAR(9),MgrSalDeptnoCONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFERENCESDEPT(Deptno)ONDELETECASCADE));5.25.25.2.3ORACLE 5.2.3ORACLE的完整 5.2.3ORACLE的完整CREATETABLE DnameVARCHAR(9)CONSTRAINTU1LocCONSTRAINTPK_DETPRIMARYKEY(Deptno) 5.2.3ORACLE的完整 SnameVARCHAR(20)CONSTRAINTC2NOT CONSTRAINTC4CHECK IN(’男’,’女’))); 5.2.3ORACLE的完整例JobSal
5.2.3ORACLE的完整例CREATETRIGGERUPDATE_SALBEFOREINSERTORUPDATEOFFOREACHROWIF :new.sal< :new.Sal:=2800
Sal,PosONTeacherENDIF 5.2.3ORACLE的完整來實現(xiàn)。所謂數(shù)據(jù)庫觸發(fā)器,就是一類靠驅(qū)動的特殊過程,一旦動激活相應的觸發(fā)子,在層進行集中的完整性控制。定義數(shù)據(jù)庫觸發(fā)器的語句是CREATEORRECETRIGGER。 第五章數(shù)據(jù)庫保 5.3并發(fā)控 5.3并發(fā)控共享共享串 并
5.3.1并發(fā)控制概BEGINBEGIN 5.3.1并發(fā)控制概BEGINBEGINTRANSACTION事務通常是以BEGINTRANSACTION開始,以COMMIT或 5.3.1并發(fā)控制概 5.3.1并發(fā)控制概性性及使用的數(shù)據(jù)對并發(fā)的其他事務是的,并發(fā)執(zhí)行的各個事 5.3.1并發(fā)控制概
例如,在該系統(tǒng)中的一個活動序列①甲售票員讀出某航班的機票余額A,設②乙售票員讀出同一航班的機票余額A,也為←④乙售票點也賣出一張機票,修改機票余額A←A-1,所以A=15,把A 5.3.1并發(fā)控制概
讀t2讀 tt 例子
t4更新圖5-4圖5-4 5.3.1并發(fā)控制概不可重復讀是指事務 事務 事務 務
回寫讀讀圖5-5圖5-5 5.3.1并發(fā)控制概事務1按一定條件從數(shù)據(jù)庫中某些數(shù)據(jù)再次按相同條件數(shù)據(jù)時,發(fā)現(xiàn)某些記錄神密地 5.3.1并發(fā)控制概盤,事務
讀讀C←C寫回C恢復為
據(jù)B
讀 5.3.2并發(fā)操作的調(diào)個是不正確的呢?串行性(serializability)是并行事務正確性的唯一準則。 5.3.2并發(fā)操作的調(diào)
AAB寫回
BBA寫回讀A←B讀A←B寫回讀B←A寫回圖5-7圖5-75.3.2并發(fā)操作的調(diào)度5.3.2并發(fā)操作的調(diào)度以是錯誤的調(diào)度。(d)中兩個事務也是交錯執(zhí)行的,由于其執(zhí)行結(jié)果與串行 讀讀 讀讀A←B寫回A←B寫回讀A←B寫回A←B寫回讀B←A寫回讀B←A寫回B←A寫回圖5-7圖5-7 5.3.2并發(fā)操作的調(diào) 從理論上講,在某一事務執(zhí)行時其他事務執(zhí)行的調(diào)度策略 封鎖封鎖 DBMS通常提供了多種類型的。一個事務對某個數(shù)據(jù)對象加鎖后究竟擁有什么樣的控制是由的類型決定的?;镜念愋陀袃?/p>
T和修改A,其他任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。配合適當?shù)膮f(xié)議,這就可以保證其他事務在T釋放A上的鎖之前不能再和修改A。 XS-XNNYSNYY-YYY在圖58的類型相容矩陣的XS-XNNYSNYY-YYYT2
圖5-圖5- 類型的相容矩 粒度與系統(tǒng)的并發(fā)度和并發(fā)控制的開銷密切相關(guān)。的粒度越大,系統(tǒng)中能夠被的對象就越少,并發(fā)度也就越小,但同時系統(tǒng)開銷也越??;相反,的粒度越小,并發(fā)度越高,但系統(tǒng)開 因此,如果在一個系統(tǒng)中同時存在不同大小的單元供不同的事務選擇使用是比較理想的。而選擇同時考慮鎖機構(gòu)和與進行最優(yōu)的效果可以以關(guān)系為庫為;而對于一個處理少量元組的元組為單位以提高并發(fā)度。 修改、不可重復讀和讀“臟”數(shù)據(jù)。三級協(xié)議分別在不同程度 1級協(xié)議的內(nèi)容是:事務T在修改數(shù)據(jù)R之前必須先對其加 1
tt3
Xlock讀 A←寫回
A
Xlock
Unlock
Xlock讀5 A←A-1UnlockA5圖5-9圖5-9 2
由于讀完
Xlock讀C←寫回t
C⌒CS
Slock…放S鎖,所 4它不能保 4可重復讀
3UnlockC
…C⌒C Xlock讀圖5-10圖5-10 3級協(xié)議的內(nèi)容是:1級協(xié)議加上事務T在數(shù)據(jù)R之3級協(xié)議除防止了丟失修改和不讀“臟”數(shù)據(jù)外,還進一步防止了不可重復讀。例如圖5-11使用3級協(xié)議解決了圖5-6中的不
封封 SlockSlock讀
ASAB⌒BSB
Xlockt3讀讀UnlockAUnlock
B
……圖5-11圖5-11 Xlock讀寫回 表5-6表5-6不同級別 XS操作操作復√√√√√√√√√√√√√√√√ 據(jù)的,而且②在釋放一個之后,事務不再獲得任何其他封 SlockA….SlockB…XlockSlockA….SlockB…XlockC…UnlockA….UnlockB…UnlockC
SlockA…UnlockSlockA…UnlockA…SlockB…XlockC…UnlockC…UnlockB
tSlockt讀 Y←BXlock3 3UnlockUnlock
Slockt讀 tY←BUnlockBXlock 圖5-3圖5-3寫回UnlockSlockSlock………Slock讀Y←XlockUnlockBUnlockSlock………Slock讀Y←UnlockXlock寫回Unlock
5.3.45.3.4
5.3.4 ?Xlock??Unlock???
?Xlock ?Xlock??R?Unlock
???Slock???
R R⌒?
Xlock ??????Slock?????避免活鎖的簡單方法是采用先來先服務的策略。當多個事務請求同一數(shù)據(jù)對象時,子系統(tǒng)按請求的先后次序?qū)@些事務排隊,該數(shù)據(jù)對象上5.3.4如果事務T1了數(shù)據(jù)A,事務T2了數(shù)據(jù)B。之后T1又申請數(shù)據(jù)B,因T2已Xlock??Xlock???
XlockXlockXlock 圖5-14 了A,T2也只能等待T1 能結(jié)束,形成死鎖。如圖5-14圖5-14
Xlock??
5.3.4死鎖和活
在數(shù)據(jù)庫中,產(chǎn)生死鎖的原因是兩個或多個事務都已了一些數(shù)據(jù)對象,然后又都請求對已為其他事務的數(shù)據(jù)對象加鎖,從而出現(xiàn)死等待。防止死鎖 5.3.4死鎖和活①一①一 一次法雖然可以有效地防止死鎖的發(fā)生,但也存在問題。第一,一次就將以后要用到的全部數(shù)據(jù)加鎖,勢必擴大了的范圍,從而降低了系統(tǒng)的并發(fā)度。第二,數(shù)據(jù)庫中數(shù)據(jù)是不斷變化的,原來不要求的數(shù)據(jù),在執(zhí)行過程中可能會變成對象,所以很難事先精確地確定每個 要的數(shù)據(jù)對象,只能采取擴大范圍,將事務在執(zhí)行過程中可能要的數(shù)據(jù)對象 5.3.4死鎖和活②順②順 順序法同樣可以有效地防止死鎖,但也同樣存在問題。第一,數(shù)據(jù)庫系統(tǒng)中可的數(shù)據(jù)對象極其眾多,并且隨數(shù)據(jù)的插入、刪除等操作而不斷地變化,要這樣極多而且變化的資源的順序非常,成本很高。,事務的請求可以隨著事務的執(zhí)行而動態(tài)地決定,很難事先確定每一個事務要哪些對象,因此也就很難按規(guī)定的順序去施加。例如,規(guī)定數(shù)據(jù)對象的順序為A,B,C,D,E。事務T3起初要求數(shù)據(jù)對 5.3.4死鎖和活 5.3.5ORACLE的并發(fā)控
5.3.5T1SX—SYNYNNYXNNNNNYYNYYYYNNYYNYNT1SX—SYNYNNYXNNNNNYYNYYYYNNYYNYNNYNNY—YYYYYY 圖5-15圖5-15ORACLE 5.3.5ORACLE的并發(fā)控 問 5.3.5ORACLE的并發(fā)控
5.3.5ORACLE的并發(fā)控 不同級別的協(xié)議提供不同的數(shù)據(jù)一致性保證,提供不同對數(shù)據(jù)對象施加,會帶來活鎖和死鎖問題, 5.45.45.4恢復第五章數(shù)據(jù)庫保 5.4恢恢
5.4.1恢復的原 5.4.1恢復的原
5.4.1恢復的原出、了某些完整性限制、某些應用程序的錯誤以及并行事務發(fā) 5.4.1恢復的原 5.4.1恢復的原 5.4.1恢復的原 5.4.1恢復的原 5.4.2恢復的實現(xiàn)技 常在一個數(shù)據(jù)庫系統(tǒng)中,這兩種方法是一起 5.4.2恢復的實現(xiàn)技 5.4.2恢復的實現(xiàn)技術(shù) TT的所有更新事務,或根據(jù)日志文件(logfile)將這些事務對數(shù)據(jù)庫重新圖5-165.4.2恢復的實現(xiàn)技術(shù)5.4.2.1 態(tài)態(tài) 5.4.2恢復的實現(xiàn)技術(shù)5.4.2.1 態(tài)轉(zhuǎn)轉(zhuǎn) 5.4恢 5.4.2恢復的實現(xiàn)技5.4.2.15.4.2.15.4.2.1表5-7轉(zhuǎn)儲狀靜海量動態(tài)海量靜態(tài)海量增量動態(tài)增量靜態(tài)增量5.4恢 5.4.2恢復的實現(xiàn)技5.4恢 5.4.2恢復的實現(xiàn)技5.4.2.2登記日志文件(Jogging5.4恢 5.4.2恢復的實現(xiàn)技5.4.2.2登記日志文件(Jogging
圖5-17圖5-175.4恢 5.4.2恢復的實現(xiàn)技5.4.2.2登記日志文件(Jogging5.4恢 5.4.2恢復的實現(xiàn)技5.4.2.2登記日志文件(Jogging5.4恢 5.4.2恢復的實現(xiàn)技5.4.2.3技術(shù)也不一樣。①反向掃描文件日志(即從最后向前掃描日志文件),查找該事務的更新5.4恢 5.4.2恢復的實現(xiàn)技重做已完成的事務。具體做法如下。 5.4恢 5.4.2恢復的實現(xiàn)技5.4.2.3 5.4恢 5.4.2恢復的實現(xiàn)技
5.4.2.3 5.4恢 5.4.3ORACLE的恢復技 5.4.3ORACLE的恢復技在ORACLE5中,日志文件以塊為單位,ORACLE將更新前的舊值與值的日志文件稱為數(shù)據(jù)庫前象文件(beforeimage,簡稱BI文件),記錄數(shù)據(jù)庫更新后的新值的日志文件稱為數(shù)據(jù)庫的后象文件(afterimage,簡稱AI文必需的。而AI文件的作用僅是盡可能地將數(shù)據(jù)庫向前推進,減少必須重 5.4.3ORACLE的恢復技
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中秋禮盒銷售合同范本
- 中國抗感染類藥物行業(yè)市場發(fā)展監(jiān)測及投資方向研究報告
- 住宅供暖改造合同范本
- 出口紙張采購合同范本
- 淺析單片機的應用
- 勞務攬承合同范本
- 加工糾紛合同范本
- 公司簽訂私人合同范例
- 勞務及材料合同范本
- 務工勞動合同范例
- 安防監(jiān)控工程施工方案(3篇)
- 2025年藍莓種苗行業(yè)深度研究分析報告
- 《糖尿病診療規(guī)范》課件
- 2025年度消防工程安全防護措施設計固定總價合同范本3篇
- 2025年事業(yè)單位財務工作計劃(三篇)
- Unit 2 Know your body(說課稿)-2024-2025學年外研版(三起)(2024)英語三年級下冊
- 名師工作室建設課件
- 《電子技術(shù)應用》課程標準(含課程思政)
- 紙尿褲使用管理制度內(nèi)容
- 電力儲能用集裝箱技術(shù)規(guī)范
- 體檢中心員工禮儀培訓
評論
0/150
提交評論