freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫(kù)管理ppt課件(編輯修改稿)

2025-02-06 01:35 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 和 S鎖這兩種基本封鎖,對(duì)一定粒度的數(shù)據(jù)對(duì)象加鎖時(shí),還需要約定一些規(guī)則,例如,應(yīng)何時(shí)申請(qǐng) X鎖或 S鎖、持鎖時(shí)間、何時(shí)釋放等。稱(chēng)這些規(guī)則為封鎖協(xié)議( 1ockingprotocol)。對(duì)封鎖方式規(guī)定不同的規(guī)則,就形成了各種不同的封鎖協(xié)議,它們分別在不同的程度上為并發(fā)操作的正確調(diào)度提供一定的保證。( 1)、保證數(shù)據(jù)一致性的封鎖協(xié)議 ① PX協(xié)議和 PXC協(xié)議----使用 X鎖的規(guī)則。 PX協(xié)議: PXC協(xié)議: 任何事務(wù) T在 更新記錄 R之前 必須先執(zhí)行 “ XFIND R” 操 作, 以獲得對(duì) R的 X鎖,才能讀或?qū)懹涗?R; 如果未獲準(zhǔn) X鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài)。 一直到獲準(zhǔn) X鎖,事務(wù)才能繼續(xù)做下去。(如果 過(guò)早地解鎖 ,有可能使其他事務(wù)讀了未提交數(shù)據(jù)(且隨后被回退), 引起丟失其他事務(wù)的更新 。 PX協(xié)議加上 X鎖的解除操作應(yīng)該合并到事務(wù)的結(jié) 束 ( COMMIT或 ROLLBACK)操作中。 (可解決丟失更新)等事務(wù) T1更新完成后再執(zhí)行事務(wù) T2:( 可解決丟失更新) 時(shí)間 事務(wù) T1 數(shù)據(jù)庫(kù)中 A的值 事務(wù) T2t0 18 t1 加鎖: XFIND A T1♀ 加鎖 t2 XFIND A( 失?。﹖3 更新: A:=A1 等待T4 寫(xiě)回 A=17: UPD A 等待t5 17 等待t6 COMMIT(包括解鎖 ) T1 ♂ 解鎖 等待t7 T2 ♀ 加鎖 XFIND A( 重做)t8 更新: A:=A2t9 寫(xiě)回 A=15: UPD AT1 15 COMMIT(包括解鎖) ② PS協(xié)議和 PSC協(xié)議 ----使用 S鎖的規(guī)則 PS協(xié)議: PSC協(xié)議: 任何要更新記錄 R的事務(wù)必須先執(zhí)行 “ SFIND R” 操作, 以獲得對(duì) R的 S鎖 .當(dāng)事務(wù)獲準(zhǔn)對(duì) R的 S鎖后 ,若要更新記錄 R必須用 “ UPDX R” 操作,這個(gè)操作首先把 S鎖升級(jí)為 X鎖,若成功則更新 記錄,否則這個(gè)事務(wù)進(jìn)入等待隊(duì)列。 注意:獲準(zhǔn) S鎖的鎖事務(wù)只能讀數(shù)據(jù),不能更新數(shù)據(jù),若要更 新,則先要把 S鎖升級(jí)為 X鎖。 PS協(xié)議加上 S鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束 ( COMMIT或 ROLLBACK)操作中。 ( PSC協(xié)議解決不一致分析和讀 “ 臟 ” 數(shù)據(jù)問(wèn)題) 時(shí)間 事務(wù) T1 數(shù)據(jù)庫(kù)中 A、 B的值 事務(wù) T2 t0 50、 100 t1 加鎖 SFIND A, B T1:♀ A、 B加 S鎖 t2 求和: A+B=150 t3 T2:♀ A、 B加 S鎖 加鎖 : SFIND BT4 更新: B:=B*2t5 寫(xiě)回 B=200 UPDX B 失敗t6 等待t7 檢索 (驗(yàn)算 )A= 0,B=100 等待t8 求和: A+B=150 等待t9 COMMIT(包括解鎖 A,B) T1:♂解鎖 A,B 等待t10 T2 :♀ B加 X鎖 寫(xiě)回 B=200:UPDX B重做t11 50,200 COMMIT(包括解鎖 B) 解決不一致分析和讀 “ 臟 ” 數(shù)據(jù)問(wèn)題:封鎖技術(shù)可以有效地解決并行操作的一致性問(wèn)題 。但也帶來(lái)新的問(wèn)題,即 活鎖和死鎖 的問(wèn)題。 “ 活鎖 ” :系統(tǒng)可能使某個(gè)事務(wù)永遠(yuǎn)處于等待狀態(tài),得不到封鎖的 機(jī)會(huì)。 “ 死 鎖 ” :系 統(tǒng) 中有兩個(gè)或兩個(gè)以上的事 務(wù) 都 處 于等待狀 態(tài) ,并 且每個(gè)事 務(wù) 都在等待其中另一個(gè)事 務(wù) 解除封 鎖 ,它才能 繼續(xù)執(zhí) 行下去, 結(jié) 果造成任何一個(gè)事 務(wù) 都無(wú)法 繼續(xù)執(zhí) 行 。 事務(wù) T1 數(shù)據(jù) A 事務(wù) T2 事務(wù) T3 事務(wù) T4XFINDA T1♀加 X鎖 。 .。 XFINDA(失敗 ) 等待 XFINDA(失敗 ) 解鎖 A T1♂解鎖 等待 等待 XFINDA(失敗 ) T3♀加 X鎖 等待 XFINDA(重做 ) 等待 等待 。 。 等待 。 。 等待 。 。 T3♂解鎖 等待 解鎖 A 等待 等待 。 等待 T4♀加 X鎖 等待 。 XFINDA(重做 ) 等待 。 ?;? 鎖 :避免 活鎖的 簡(jiǎn)單方法是:采用先來(lái)先服務(wù)的策略?!?死 鎖 ” : 系 統(tǒng) 中有兩個(gè)或兩個(gè)以上的事 務(wù) 都 處 于等待狀 態(tài) ,并且每個(gè)事 務(wù) 都在等待其中另一個(gè)事 務(wù) 解除封 鎖 ,它才能 繼續(xù)執(zhí) 行下去, 結(jié) 果造成任何一個(gè)事 務(wù) 都無(wú)法 繼續(xù)執(zhí) 行。 事務(wù) T1 數(shù)據(jù) A、 B 事務(wù) T2加鎖 :XFIND A T1 ♀ A 加 X鎖 .。 T2 ♀ B 加 X鎖 加鎖 :XFIND B 加鎖 :XFIND B( 失敗) 等待 加鎖 :XFIND A( 失?。? 等待 等待等待 等待。 。 。 。用事務(wù)依賴(lài)圖的形式測(cè)試系統(tǒng)中是否存在死鎖。事務(wù)依賴(lài)圖中: 每一個(gè)結(jié)點(diǎn)表示 “ 事務(wù) ” ; 箭頭表示事務(wù)間的依賴(lài)關(guān)系。例 :并發(fā)執(zhí)行中兩個(gè)事務(wù)的依賴(lài)關(guān)系如下圖所示: ① 事務(wù) T1需要數(shù)據(jù) B,但 B已被事務(wù) T2封鎖, 那么從 T1到 T2畫(huà)一個(gè)箭頭; ② 事務(wù) T2需要數(shù)據(jù) A,但 A已被事務(wù) T1封鎖, 那么從 T2到 T1也應(yīng)畫(huà)一個(gè)箭頭。如果在事務(wù)依賴(lài)圖中沿著箭頭方向存在一個(gè)循環(huán),那么死鎖的條件就形成了,系統(tǒng)進(jìn)入死鎖狀態(tài)。事務(wù)依賴(lài)圖 :T1 T2數(shù) 據(jù) B數(shù) 據(jù) A DBMS中有一個(gè)死鎖測(cè)試程序 : 每隔一段時(shí)間檢查并發(fā)的事務(wù)之間是否發(fā)生死鎖。 如果發(fā)生死鎖 : 只能抽取某個(gè)事務(wù)作為犧牲品,把它撤消, 做回退操作,解除它的所有封鎖,恢復(fù)到該事務(wù)的初始 狀態(tài)。釋放出來(lái)的資源就可以分配給其他事務(wù),使其他 事務(wù)有可能繼續(xù)運(yùn)行下去,就有可能消除死鎖現(xiàn)象。 理論上講 , 系統(tǒng)進(jìn)入死鎖狀態(tài)時(shí)可能會(huì)有許多事務(wù)在相互等待, 但是 System R的實(shí)驗(yàn)表明,實(shí)際上絕大部分的死鎖只涉及到兩個(gè)事務(wù),也就是事務(wù)依賴(lài)圖中的循環(huán)里只有兩個(gè)事務(wù)。 死鎖也被形象地稱(chēng)作 “ 死死擁抱 ” 。( 2)、保證并行調(diào)度可串行性的封鎖協(xié)議 —— 兩段鎖協(xié)議 可串行性是并行調(diào)度正確性的唯一準(zhǔn)則 ,兩段鎖( twophase 1ocking) 協(xié)議是為了保證并行調(diào)度可串行性提供的封鎖協(xié)議。 兩段鎖協(xié)議規(guī)定:① 在對(duì)任何數(shù)據(jù)進(jìn)行讀寫(xiě)操作之前 ,事務(wù)必須獲得對(duì)該數(shù)據(jù)的封鎖② 在釋放一個(gè)封鎖之后,事務(wù)不再獲得任何其他封鎖。兩段鎖的實(shí)際含義是事務(wù)分為兩個(gè)階段:第一階段是獲得封鎖,也稱(chēng)為擴(kuò)展階段;第二階段是釋放封鎖,也稱(chēng)為收縮階段。例 :事務(wù) T1的封鎖序列是: (遵守兩段鎖協(xié)議 )SFINDA…SFINDB…XFINDC 解鎖 B… 解鎖 A… 解鎖 C。事務(wù) T2的封鎖序列是: (不遵守兩段鎖協(xié)議 )SFINDA解鎖 A…SFINDBXFINDC … 解鎖 C… 解鎖 B??梢宰C明, 若并行執(zhí)行的所有事務(wù)均遵守兩段鎖協(xié)議,則對(duì)這些事務(wù)的所有并行調(diào)度策略都是可串行化的。結(jié)論: 所有遵守兩段鎖協(xié)議的事務(wù),并行執(zhí)行的結(jié)果一定是正確的。注意:事務(wù)遵守兩段鎖協(xié)議是可串行化調(diào)度的充分條件,而不是必要條件。即可串行化的調(diào)度中,不一定所有事務(wù)都必須符合兩段鎖協(xié)議。兩段鎖協(xié)議仍有可能導(dǎo)致死鎖,而且會(huì)增多,因?yàn)槊總€(gè)事務(wù)都不能及時(shí)解除被它封鎖的數(shù)據(jù) 167。4 數(shù)據(jù)庫(kù)管理-完整性 教學(xué)內(nèi)容:?完整性的定義;?完整性子系統(tǒng)的功能;?完整性規(guī)則的組成;?SQL中的三大類(lèi)完整性約束;?SQL3中的觸發(fā)器技術(shù)。重點(diǎn): SQL中的三大類(lèi)完整性約束; SQL3中的觸發(fā)器技術(shù)。 數(shù)據(jù) 庫(kù) 的完整性是指數(shù)據(jù)的正確性和相容性 。 數(shù)據(jù)庫(kù)的完整性機(jī)制 : 檢查數(shù)據(jù)庫(kù)中數(shù)據(jù)是否滿(mǎn)足規(guī)定的條件 (完整性檢查 )。 完整性約束條件: 數(shù)據(jù)庫(kù)中數(shù)據(jù)應(yīng)該滿(mǎn)足的條件。 也稱(chēng)為完整性規(guī)則。 DBMS中執(zhí)行完整性檢查的子系統(tǒng)稱(chēng)為 “ 完整性子系統(tǒng) ”。 一、 完整性子系統(tǒng)的主要功能: ① 監(jiān)督事務(wù)的執(zhí)行,并測(cè)試是否違反完整性規(guī)則。 ② 如有違反現(xiàn)象,則采取恰當(dāng)?shù)牟僮鳌? 如拒絕,報(bào)告違反情況,改正錯(cuò)誤等方法來(lái)處理。 二、完整性規(guī)則的組成與分類(lèi)每個(gè) 規(guī)則 由三部分 組 成: ① 什么時(shí)候使用規(guī)則進(jìn)行檢查(規(guī)則的 “ 觸發(fā)條件 ” ); ② 要檢查什么樣的錯(cuò)誤( “ 約束條件 ” 或 “ 謂詞 ” ); ③ 若檢查出錯(cuò)誤,該怎樣處理( “ ELSE子句 ” ,即違反時(shí) 要做的動(dòng)作)。在關(guān)系數(shù)據(jù)庫(kù)中,完整性規(guī)則可分為三類(lèi): ① 域完整性規(guī)則:定義屬性的取值范圍; ② 基本表約束; ③ 斷言。三、 SQL中的完整性約束 1. 域完整性規(guī)則: 定義屬性的取值范圍 ― 屬性值約束。包括: 域約束子句、非空值約束、基于屬性的檢查子句。① 用 “ CREATE DOMAIN” 語(yǔ)句定義新的域 ,并可出現(xiàn) CHECK子句。例 : 定義一個(gè)新的域 DEPT, 可用下列語(yǔ)句實(shí)現(xiàn):CREATE DOMAIN DEPT CHAR ( 20) DEFAULT ‘ 計(jì)算機(jī)軟件 ’CONSTRAINT VALID_ DEPT /*域約束名字 */CHECK( VALUE IN (‘ 計(jì)算機(jī)科學(xué)與技術(shù) ’ ,‘ 計(jì)算機(jī)軟件 ’ ));允許域約束上的 CHECK子句中可以有任意復(fù)雜的條件表達(dá)式。② 非空值約束( NOT NULL) 例: SNO char(4) NOT NULL③ 基于屬性的檢查子句 (CHECK): 例: CHECK (GRADE IS NULL) OR (GRADE BRTWEEN 0 AND 100)2. 基本表約束:① 主鍵約束: 主鍵可用主鍵子句或主鍵短語(yǔ)定義 。② 外鍵約束: 用外鍵子句定義外鍵: FOREIGN KEY( 〈 列名序列 1〉 ) . REFERENCES 參照表 [( 列名序列 2) ] [ ON DELETE 參照動(dòng)作 ] [ ON UPDATE 參照動(dòng)作 ]其中:列名序列 1是外鍵 。 列名序列 2是參照表中的主鍵或候選鍵。參照動(dòng)作可以有五種方式: NO ACTION( 無(wú)影響)、 CASCADE( 級(jí)聯(lián)方式)、 RESTRICT( 受限方式)、 SET NULL( 置空值) SET DEFAULT( 置缺省值)。③ 基于元組的檢查子句 ―― 全局約束 CHECK( 條件表達(dá)式) 3. 斷言: 如果完整性約束與多個(gè)關(guān)系有關(guān),或者與聚合操作有關(guān), SQL提供 “ 斷言 ” ( Assertions) 機(jī)制讓用戶(hù)書(shū)寫(xiě)完整性約束。 斷言可以像關(guān)系一樣,用 CREATE語(yǔ)句定義。 定義斷言: CREATE ASSERTION 斷言名 CHECK( 條件 ) 條件 與 SELECT語(yǔ)句中 WHERE子句中的條件表達(dá)式一樣。 撤消斷言: DROP ASSERTION 斷言名 例:設(shè)有三個(gè)關(guān)系模式: EMP( ENO, ENAME, AGE, SEX, ECITY) COMP( CNO, CNAME, CITY) WORKS( ENO, CNO, SALARY) 試用 SQL的 斷言機(jī)制 定義下列完整性約束: ① 每個(gè)職工至多可在 3個(gè)公司兼職工作 : CREATE ASSERTION ASSE1 CHECK ( 3 = ALL (SELECT COUNT(CNO) FROM WORK GROUP BY ENO )); ② 每門(mén)公司男職工的平均年齡不超過(guò) 40歲 : CREATE ASSERTION ASSE2 CHECK ( 40 = ALL( SELECT AVG()
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1