




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第八章數(shù)據(jù)庫管理一、本章重要概念1)事務(wù)的定義, COMMIT 和 ROLLBACK 的語義,事務(wù)是由若干 數(shù)據(jù)庫操作 組成的 一個(gè)邏輯工作單位 ,是一個(gè)不可分割的工作單位。一個(gè)應(yīng)用程序可以包括多個(gè)事務(wù)。事務(wù)以BEGINTRANSACTION語句的成功執(zhí)行開始,以COMMIT或ROLLBACK語句的成功執(zhí)行結(jié)束。COMMIT (提交)語句表示一事務(wù)的全部操作都已成功,它對 DB 的所有更新可真正寫到 DB 中。ROLLBACK (回退)語句表示事務(wù)沒有成功地完成全部操作,系統(tǒng)將撤消該事務(wù)對 DB 已作的更新事務(wù)的 ACID 性質(zhì)事務(wù)有四個(gè)重要性質(zhì):原子性、一致性、隔離性和持久性。通常稱為“AC
2、ID性質(zhì)”。原子性( atomicity):事務(wù)對數(shù)據(jù)庫的更新要么全部起作用,要么完全不起作用。DBMS 的事務(wù)管理子系統(tǒng)一致性( consistency):事務(wù)將數(shù)據(jù)庫從一個(gè)一致性狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€(gè)一致性狀態(tài)。程序員(正確地編寫事務(wù))DBMS 的完整性子系統(tǒng)隔離性( isolation ):事務(wù)相互隔離,在多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),任一事務(wù)的更新操作在該事務(wù)成功提交前對其他事務(wù)都是不可見的。DBMS 的并發(fā)控制子系統(tǒng)持久性( durability ):事務(wù)一旦成功提交,其對數(shù)據(jù)庫的更新就永久有效,不會因系統(tǒng)崩潰等而丟失。 DBMS 的恢復(fù)管理子系統(tǒng)事務(wù)的狀態(tài)變遷圖。2)存儲器類型,穩(wěn)定存儲器的實(shí)現(xiàn),
3、數(shù)據(jù)傳送過程。3)恢復(fù)的定義、系統(tǒng)能把數(shù)據(jù)庫從被破壞、不正確的狀態(tài)、恢復(fù)到最近一個(gè)正確的狀態(tài),DBMS的這種能力稱為數(shù)據(jù)庫的可恢復(fù)性?;驹瓌t和實(shí)現(xiàn)方法,恢復(fù)的基本策略:冗余(數(shù)據(jù)重復(fù)存儲)實(shí)現(xiàn)方法:備份定期對數(shù)據(jù)庫復(fù)制或轉(zhuǎn)儲 (靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲, 海量轉(zhuǎn)儲和增量轉(zhuǎn)儲)。日志執(zhí)行事務(wù)時(shí),記錄其開始、結(jié)束和對DB 的每次更新操作。故障的類型,事務(wù)故障非預(yù)期事務(wù)故障:運(yùn)算錯(cuò)誤、數(shù)據(jù)錯(cuò)誤、死鎖等,故障事務(wù)夭折可預(yù)期事務(wù)故障:在事務(wù)中可預(yù)期出錯(cuò)的地方所加的ROLLBACK 語句系統(tǒng)故障: 硬件、系統(tǒng)軟件出錯(cuò),停電等,事務(wù)執(zhí)行被打斷,內(nèi)存中數(shù)據(jù)被破壞介質(zhì)故障: 磁頭、磁盤控制器或磁盤損壞,盤上數(shù)據(jù)丟失
4、,病毒破壞等,DB遭破壞檢查點(diǎn)機(jī)制,DBMS 定時(shí)設(shè)置檢查點(diǎn), 在檢查點(diǎn)時(shí)刻才真正做到把對DB 的修改寫到磁盤, 并在日志文件寫入一條檢查點(diǎn)記錄。根據(jù)日志文件建立重做隊(duì)列和事務(wù)撤消隊(duì)列。對重做隊(duì)列中的事務(wù)進(jìn)行REDO 處理,對撤消隊(duì)列中的事務(wù)進(jìn)行UNDO 處理。REDO 和 UNDO 操作,運(yùn)行記錄優(yōu)先原則。( 4)并發(fā)操作帶來的三個(gè)問題,丟失更新問題: 一事務(wù)所作的更新操作因另一事務(wù)的操作而丟失。讀“臟數(shù)據(jù)”問題: 又稱為未提交依賴,指一事務(wù)取用了別的事務(wù)未提交隨后又被撤消的數(shù)據(jù)。不一致分析問題: 指事務(wù)從數(shù)據(jù)庫中讀取了處于不一致狀態(tài)的數(shù)據(jù),并因此進(jìn)行了不一致的分析。鎖、排它型封鎖(寫鎖,
5、X 封鎖):一個(gè)事務(wù)對數(shù)據(jù)對象加了X 鎖后,在它釋放 X 鎖之前不允許其他事務(wù)再對該數(shù)據(jù)對象加任何鎖。共享型鎖(讀鎖, S 封鎖) :一個(gè)事務(wù)對數(shù)據(jù)對象加了 S 鎖后,允許其他事務(wù)再對該數(shù)據(jù)對象加 S 鎖,但在它釋放 S 鎖之前不允許其他事務(wù)加 X 鎖。PX協(xié)議、事務(wù)若要更新數(shù)據(jù),則必須先提出對此數(shù)據(jù)對象的X 封鎖請求;事務(wù)如果未獲準(zhǔn) X 封鎖,那么進(jìn)入等待狀態(tài),直至獲準(zhǔn)在此數(shù)據(jù)對象上的X 封鎖,才能繼續(xù)執(zhí)行。PX 協(xié)議可以解決因多事務(wù)同時(shí)更新同一數(shù)據(jù)對象而引起的更新丟失問題。任何事務(wù) T 在更新記錄 R 之前必須先執(zhí)行“ XFIND R ”操作,以獲得對 R 的 X 鎖,才能讀或?qū)懹涗汻;如
6、果未獲準(zhǔn) X 鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài)。一直到獲準(zhǔn)X 鎖,事務(wù)才能繼續(xù)做下去。(如果過早地解鎖,有可能使其他事務(wù)讀了未提交數(shù)據(jù)(且隨后被回退),引起丟失其他事務(wù)的更新。PXC 協(xié)議,是在“ PX 協(xié)議”上再加一規(guī)定:解除X 鎖的操作合并到事務(wù)的結(jié)束(COMMIT或 ROLLBACK )操作中。 PXC 協(xié)議可以解決因事務(wù) ROLLBACK 而引起的更新丟失問題。S 鎖、 PS 協(xié)議、 PSC 協(xié)議,PS:任何要更新記錄R 的事務(wù)必須先執(zhí)行 “ SFIND R”操作 ,以獲得對 R 的 S 鎖 .當(dāng)事務(wù)獲準(zhǔn)對 R 的 S 鎖后 ,若要更新記錄 R 必須用“UPDXR”操作 ,這個(gè)操作首先 把
7、 S 鎖升級為 X 鎖,若成功則更新記錄,否則這個(gè)事務(wù)進(jìn)入等待隊(duì)列。PSC:PS 協(xié)議加上 S 鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束(COMMIT 或 ROLLBACK )操作中?;铈i、出現(xiàn)某個(gè)事務(wù)永遠(yuǎn)處于等待狀態(tài)得不到執(zhí)行的現(xiàn)象。避免活鎖的一個(gè)簡便方法是采用“先來先服務(wù)” 排隊(duì)的策略。 封鎖子系統(tǒng)按請求在時(shí)間上的先后次序?qū)κ聞?wù)排序,數(shù)據(jù)對象上原有的鎖一釋放,即執(zhí)行隊(duì)列中第一個(gè)事務(wù)的封鎖請求。餓死和死鎖,出現(xiàn)若干事務(wù)因循環(huán)等待而無法繼續(xù)執(zhí)行的現(xiàn)象。并發(fā)調(diào)度,串行調(diào)度,并發(fā)調(diào)度的可串行化,兩段封鎖法,事務(wù)的執(zhí)行次序稱為“調(diào)度” 。若多個(gè)事務(wù)依次執(zhí)行,則稱為事務(wù)的串行調(diào)度 。若設(shè)法(例如利用分時(shí)的方法
8、)多個(gè)事務(wù)同時(shí)被處理(即交錯(cuò)執(zhí)行) ,則稱為事務(wù)的并發(fā)調(diào)度 。在應(yīng)用環(huán)境中,事務(wù)的任一串行調(diào)度都是有效的(正確的) ,但是事務(wù)的并發(fā)調(diào)度不一定是正確的,有可能產(chǎn)生前面提到的不一致性問題。可串行化概念如果一個(gè)并發(fā)調(diào)度與某一串行調(diào)度具有相同的執(zhí)行結(jié)果, 那么稱這個(gè)并發(fā)調(diào)度是“可串行化的調(diào)度” (即正確的并發(fā)調(diào)度),否則是不可串行化的調(diào)度。兩段封鎖協(xié)議事務(wù)在對數(shù)據(jù)對象存取之前必須先獲得對此數(shù)據(jù)對象的封鎖,事務(wù)在解除了一個(gè)鎖之后不再獲得任何鎖。SQL 中事務(wù)的存取模式和隔離級別。事務(wù)的存取模式READ ONLY (只讀型)READ WRITE (讀寫型)事務(wù)的隔離級別SERIALIZABLE (可串行
9、化)REPEATABLE READ(可重復(fù)讀)READ COMMITED (讀提交數(shù)據(jù))READ UNCOMMITED (讀未提交數(shù)據(jù))5)完整性的定義,是指數(shù)據(jù)的正確性、有效性和相容性。完整性子系統(tǒng)的功能,完整性子系統(tǒng): DBMS 中執(zhí)行完整性檢查的子系統(tǒng)。其功能:監(jiān)督事務(wù)的執(zhí)行,測試其是否違反完整性約束條件;若有違反,則按進(jìn)行預(yù)定的處理。完整性規(guī)則的組成。每個(gè)規(guī)則包括三部分:觸發(fā)條件 規(guī)定何時(shí)執(zhí)行本規(guī)則進(jìn)行檢查;約束條件 又稱謂詞,定義應(yīng)滿足的條件;否則子句 規(guī)定不滿足條件時(shí)該作的處理。域完整性規(guī)則:定義屬性取值范圍。域聯(lián)系的規(guī)則:定義屬性間的聯(lián)系、影響和約束。關(guān)系完整性規(guī)則:定義更新操作
10、對值的影響和限制。SQL 中的三大類完整性約束,完整性約束分為三大類:域約束用“ CREATE DOMAIN ”語句定義新的域 ,并可出現(xiàn) CHECK 子句。非空值約束( NOT NULL )基于屬性的檢查子句 (CHECK):基本表約束主鍵約束可用主鍵約束來描述實(shí)體完整性規(guī)則。 主鍵約束可用兩種形式表示: 主鍵子句和主鍵短語。主碼可在定義關(guān)系的 CREATE TABLE 語句中使用 PRIMARY KEY 關(guān)鍵字加以定義。有兩種定義主鍵的方法, 一種是在屬性后增加關(guān)鍵字, 另一種是在屬性表中加入額外的定義主鍵的子句:PRIMARY KEY( 主鍵屬性名表 )使用關(guān)鍵字 UNIQUE ,說明該
11、屬性(或?qū)傩越M)的值不能重復(fù)出現(xiàn)。外鍵約束FOREIGNKEY (列名序列REFERENCES ONDELETE 參照動作 ONUPDATE 參照動作1).( 2)參照動作可以有五種方式:NO ACTION (無影響)CASCADE (級聯(lián)方式)RESTRICT(受限方式)SETNULL (置空值)SETDEFAULT (置缺省值) 檢查約束對單個(gè)關(guān)系的元組值加以約束。對表內(nèi)元組說明約束時(shí),在 CREATE TABLE 語句中的屬性表、主碼、外部碼的說明之后加上 CHECK 子句。每當(dāng)對元組進(jìn)行插入或修改操作時(shí), 都要對 CHECK 子句的條件表達(dá)式求值, 如果條件為假, 違背了約束, 系統(tǒng)將
12、拒絕該插入或修改操作。CHECK 子句的一般格式為:CHECK 斷言定義:CREATE ASSERTION 斷言名CHECK (條件)撤消:DROP ASSERTION 斷言名斷言也可以在關(guān)系定義中用檢查子句形式定義, 但是檢查子句不一定能保證完整性約束徹底實(shí)現(xiàn),而斷言能保證不出差錯(cuò)。 SQL3 中的觸發(fā)器技術(shù)。觸發(fā)器( Trigger)是一個(gè)能由系統(tǒng)自動執(zhí)行對數(shù)據(jù)庫修改的語句。觸發(fā)器有時(shí)也稱為主動規(guī)則(Active Rule )或事件條件動作規(guī)則 (Event ConditionActionRule,ECA 規(guī)則)。(1)觸發(fā)時(shí)間 : BEFORE、 AFTER 、 INSTEADOF ;(
13、2)觸發(fā)事件 :有三類 - UPDATE 、 DELETE 、INSERT(3)目標(biāo)表名 : 當(dāng)目標(biāo)表的數(shù)據(jù)被更新 (插入、刪除、修改)時(shí) , 將激活觸發(fā)器。(4)舊值和新值的別名表 : REFERENCES 子句觸發(fā)器有兩類:元組級觸發(fā)器和語句級觸發(fā)器。元組級觸發(fā)器帶 “ FOREACHROW ” 子句,而語句級觸發(fā)器沒有;元組級觸發(fā)器對每一個(gè)修改的元組都要檢查一次,而語句級觸發(fā)器對SQL 語句的執(zhí)行結(jié)果去檢查。語句級觸發(fā)器,不能直接引用修改前后的元組,但可以引用修改前后的元組集。舊的元組集由被刪除的元組或被修改元組的舊值組成,而新的元組集由插入的元組或被修改元組的新值組成。INSTEAD
14、OF 表示:在觸發(fā)事件發(fā)生時(shí) ,只要滿足 WHEN 條件,就執(zhí)行動作部分的操作,而觸發(fā)事件的操作不再執(zhí)行。6)安全性的定義、級別,定義是指保護(hù) DB ,防止不合法的使用,以免數(shù)據(jù)的泄漏、非法更改和破壞。安全性級別設(shè)置安全措施所牽涉的層次。分成環(huán)境級、職員級、 OS 級、網(wǎng)絡(luò)級和 DBS 級等五個(gè)級別。這里只討論DBS 級的安全性問題。權(quán)限,權(quán)限的授予、轉(zhuǎn)授與回收授權(quán)可根據(jù)需要把在某對象上的某些權(quán)限授予特定的用戶。轉(zhuǎn)授若擁有轉(zhuǎn)授權(quán),則允許把已獲得的權(quán)限再轉(zhuǎn)授給其他用戶。回收也可以撤消已授給某用戶的某些權(quán)限。權(quán)限的種類:讀插入修改刪除SQL 中的安全性機(jī)制(視圖、SQL 用戶權(quán)限及操作 )視圖視圖
15、是虛表,視圖機(jī)制使DBS 具有三個(gè)優(yōu)點(diǎn):數(shù)據(jù)安全性、邏輯獨(dú)立性、用戶操作簡便性。SQL 中的用戶權(quán)限及操作六類權(quán)限: SELECT,INSERT, DELETE ,UPDATE,REFERENCES, USAGE。授權(quán)( GRANT )語句:將關(guān)系和視圖操作權(quán)授予特定用戶回收( REVOKE )語句:回收已授給某用戶的權(quán)限。第十章對象數(shù)據(jù)庫系統(tǒng)一、本章重要概念1)新一代 DBS 的兩條途徑: ORDBS 和 OODBS 。ORDB 中的 SELECT 語句( SQL3 標(biāo)準(zhǔn)):引入了路徑表達(dá)式、嵌套與解除嵌套等概念。在傳統(tǒng)的關(guān)系數(shù)據(jù)模型基礎(chǔ)上,提供元組、 數(shù)組、集合一類豐富的數(shù)據(jù)類型以及處理新
16、的數(shù)據(jù)類型操作的能力,并且有繼承性和對象標(biāo)識等面向?qū)ο筇攸c(diǎn)。OODB 中的 SELECT 語句( ODMG 標(biāo)準(zhǔn) OQL ):有了更多的擴(kuò)充,并與宿主語言語句混合起來,可以表達(dá)更為復(fù)雜的查詢操作。( 2)平面關(guān)系模型,嵌套關(guān)系模型,復(fù)合對象模型,引用類型,對象聯(lián)系圖的成分及表示方法,對象聯(lián)系圖數(shù)據(jù)的泛化 /細(xì)化,繼承性。數(shù)據(jù)的泛化細(xì)化:對概念之間聯(lián)系進(jìn)行抽象的一種方法。“泛化”:稱較高層上抽象是較低層上抽象的“泛化” 。(在較低層上抽象表達(dá)與之聯(lián)系的較高層上的抽象, )“細(xì)化”:稱較低層上抽象是較高層上抽象的 “細(xì)化”。這種細(xì)化聯(lián)系是一種 “是”( is a)的聯(lián)系。子類具有 繼承性 ,繼承超類的特征 ,而子類本身又有其它的特征。泛化 /細(xì)化聯(lián)系用泛化邊 (雙線箭頭 )表示 ,泛化邊從子類指向超類。3) OO 的數(shù)據(jù)類型系統(tǒng) :基本類型,五種復(fù)合類型,引用類型。一、基本數(shù)據(jù)類型 :整型、浮點(diǎn)型、字符型、字符串、布爾型和枚舉型;二、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 激光測量技術(shù)的應(yīng)用及考核考題試題及答案
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師考試內(nèi)容與形式比較試題及答案
- 應(yīng)試衛(wèi)生管理證書的技巧試題及答案
- 護(hù)士資格證考試應(yīng)急處理流程試題及答案
- 知識產(chǎn)權(quán)評估過程中的問題的考試試題及答案
- 西醫(yī)臨床常見誤區(qū)分析試題及答案
- 2025重慶市安全員B證(項(xiàng)目經(jīng)理)考試題庫
- 藥物臨床試驗(yàn)的設(shè)計(jì)與實(shí)施考試試題及答案
- 藥物質(zhì)量監(jiān)測與控制的考題試題及答案
- 理解企業(yè)如何通過專利加強(qiáng)市場競爭優(yōu)勢試題及答案
- 智能輔具在康復(fù)中的應(yīng)用-全面剖析
- 福彩項(xiàng)目合伙協(xié)議書
- 2025年內(nèi)蒙古自治區(qū)中考一模語文試題(原卷版+解析版)
- 2025-2030中國濾紙市場現(xiàn)狀調(diào)查及營銷發(fā)展趨勢研究研究報(bào)告
- 征文投稿(答題模板)原卷版-2025年高考英語答題技巧與模板構(gòu)建
- 智慧樹知到《中國文化精粹(河北政法職業(yè)學(xué)院)》2025章節(jié)測試附答案
- 空壓機(jī)每日巡檢記錄表-
- 2024-2025學(xué)年統(tǒng)編版七年級下冊歷史第一單元測驗(yàn)卷
- 10.2.2 加減消元法(課件)2024-2025學(xué)年新教材七年級下冊數(shù)學(xué)
- 信息科技開學(xué)第一課課件 哪吒 人工智能 機(jī)器人 信息科技
- 智能電網(wǎng)負(fù)荷預(yù)測-深度研究
評論
0/150
提交評論