數(shù)據(jù)庫保護(hù)課件_第1頁
數(shù)據(jù)庫保護(hù)課件_第2頁
數(shù)據(jù)庫保護(hù)課件_第3頁
數(shù)據(jù)庫保護(hù)課件_第4頁
數(shù)據(jù)庫保護(hù)課件_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫保護(hù)16、云無心以出岫,鳥倦飛而知還。17、童孺縱行歌,斑白歡游詣。18、福不虛至,禍不易來。19、久在樊籠里,復(fù)得返自然。20、羈鳥戀舊林,池魚思故淵。數(shù)據(jù)庫保護(hù)數(shù)據(jù)庫保護(hù)16、云無心以出岫,鳥倦飛而知還。17、童孺縱行歌,斑白歡游詣。18、福不虛至,禍不易來。19、久在樊籠里,復(fù)得返自然。20、羈鳥戀舊林,池魚思故淵。第8章數(shù)據(jù)庫保護(hù)本章重要概念(1)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)則的組成。SQL中的三大類完整性約束,SQL3中的觸發(fā)器技術(shù)。(2)安全性的定義、級別,權(quán)限,SQL中的安全性機(jī)制,幾種常用的安全性措施,自然環(huán)境的安全性。退役軍人通過軍營的艱苦磨練,具備了嚴(yán)格律己、吃苦耐勞的優(yōu)良品質(zhì),如果能夠在職業(yè)技能上加以系統(tǒng)的學(xué)習(xí),掌握適應(yīng)市場需求的IT技術(shù),就會在今后擇業(yè)的目標(biāo)上更加明確,創(chuàng)業(yè)的前景更加開闊。在這種社會需求下,筆者所在學(xué)校在退役軍人培訓(xùn)班中開設(shè)了《機(jī)械CAD》課程?!稒C(jī)械CAD》是一門知識與技能融為一體的課程,該門課程的實(shí)用性和實(shí)踐性強(qiáng)、動手能力要求高,學(xué)員必須在掌握《機(jī)械制圖》課程的基礎(chǔ)之上,才能進(jìn)行計(jì)算機(jī)操作繪圖。因此,熟練使用AutoCAD進(jìn)行機(jī)械設(shè)計(jì)的前提,是學(xué)好AutoCAD中的各項(xiàng)操作,并熟練掌握機(jī)械設(shè)計(jì)方面的知識。為了讓學(xué)員努力學(xué)習(xí)并融入新的班級團(tuán)隊(duì),身為任課教師,筆者為培訓(xùn)班的學(xué)員量身打造恰當(dāng)?shù)慕虒W(xué)指導(dǎo)思想,制定合理的教學(xué)計(jì)劃和教學(xué)方案。一、加強(qiáng)教學(xué)的引導(dǎo)性由于退役軍人從未涉及過制造加工業(yè),對機(jī)械行業(yè)和機(jī)械常識缺乏了解,他們對機(jī)械制圖課程在機(jī)械CAD中的作用重視不足,聽課注意力難以集中,學(xué)習(xí)效率較低。同時,由于其專業(yè)技能和文化水平的限制,學(xué)員對授課內(nèi)容的反應(yīng)相對較慢,理解能力不足。針對上述問題,筆者在教學(xué)中盡量降低教學(xué)難度,減慢授課進(jìn)度,遵循多鼓勵、多輔導(dǎo)、多引導(dǎo)的原則,消除他們對學(xué)習(xí)的畏懼。在教學(xué)中,更多地關(guān)注每位學(xué)員學(xué)習(xí)信息的反饋,及時做出相應(yīng)的教學(xué)調(diào)整。同時,筆者還認(rèn)真發(fā)現(xiàn)學(xué)員們的閃光點(diǎn),鼓勵他們點(diǎn)滴的進(jìn)步,讓學(xué)員們看到自己的能力和潛力,重新獲得學(xué)習(xí)的信心,增加克服困難的勇氣。二、提高教學(xué)的目的性為了培養(yǎng)學(xué)員的讀圖能力,讓他們讀懂機(jī)械制圖的圖樣,授課時有計(jì)劃、有目的地教學(xué)員讀圖的方法,讓其建立多讀圖、多思考的習(xí)慣。通過多讀、多看,熟能生巧,掌握繪圖的要領(lǐng)。在零件圖識讀方面,筆者把零件圖制作成幻燈片進(jìn)行講解,增加了教學(xué)的直觀性和趣味性,激發(fā)了學(xué)員的學(xué)習(xí)興趣,提高了教學(xué)和學(xué)習(xí)效率。三、突出教學(xué)的層次性1.教學(xué)目標(biāo)的分層設(shè)置培訓(xùn)班中,學(xué)員的思維能力和接受能力各不相同。CAD課程要求學(xué)員在掌握《機(jī)械制圖》課程的基礎(chǔ)上進(jìn)行操作繪圖,因此,對學(xué)員能力的分層尤為必要。對于不同層次的學(xué)員,CAD成績必定出現(xiàn)“高、中、低”的階梯式現(xiàn)象。如果采用傳統(tǒng)教學(xué)的“一鍋煮”,勢必出現(xiàn)能力較強(qiáng)的學(xué)生“吃不飽”、中層的學(xué)生“吃不消”、能力較弱的學(xué)生“吃不下”的現(xiàn)象。只有把握好學(xué)員的能力差異,合理劃分層次,針對不同層次的學(xué)生,提出不同的教學(xué)要求和實(shí)施方法,因材施教、因地制宜,才能保證教學(xué)質(zhì)量穩(wěn)步提高。2.教學(xué)方法的分層實(shí)施針對不同層次的學(xué)員,布置不同的任務(wù),讓不同層次的學(xué)生都能夠品嘗到成功的喜悅,增強(qiáng)自信心。上課時,具體以繪圖、修改、標(biāo)注三個工具欄為主線,靈活運(yùn)用不同命令進(jìn)行具體繪圖,邊講解,邊實(shí)例演示,對學(xué)生有疑惑的地方做到及時反饋;再針對難點(diǎn)反復(fù)舉例演示,盡量通俗易懂,使學(xué)生當(dāng)堂消化、隨時答疑。對能力較強(qiáng)的學(xué)生,少講多練,強(qiáng)調(diào)獨(dú)立性和綜合運(yùn)用能力;對中層學(xué)生,精講精練,重點(diǎn)為基礎(chǔ)知識和技能技巧的訓(xùn)練提高;對能力較弱的學(xué)生,則進(jìn)行個別輔導(dǎo),反復(fù)講解,爭取其掌握基本的知識和基本技能。任課老師授課時應(yīng)確保做到多關(guān)心那些渴望進(jìn)步、努力付出、自身能力又有限的學(xué)生。3.課程練習(xí)的分層完成對于實(shí)踐性強(qiáng)、動手能力要求高的CAD課程,合適的訓(xùn)練方法和訓(xùn)練方式,會收到事半功倍的效果。實(shí)操練習(xí)題,可以分為必作圖和選作圖兩部分,對于不同的層次的學(xué)生,要求各不相同。必作圖,強(qiáng)調(diào)基本知識運(yùn)用,屬于基礎(chǔ)操作題,要求全體學(xué)員都完成。采取按完成時間先后排名的形式,增強(qiáng)了學(xué)員學(xué)習(xí)的競爭意識。選作圖留給能力較強(qiáng)的學(xué)員,為其提供充分發(fā)揮的舞臺。初三的學(xué)生,既要學(xué)習(xí)各科新知識,還要復(fù)習(xí)初一、初二的舊知識,同時還必需做各科知識的整理、歸納、綜合。壓力驟增,時間又很有限。在這種情況下,很多學(xué)生把主要精力放在理科的學(xué)習(xí)及英語、政史等容易提分的科目上,忽略了語文的學(xué)習(xí),這讓很多語文老師焦急、抱怨但卻無奈。在這樣的現(xiàn)實(shí)面前,就要求我們的語文老師多動腦子,多想辦法,在有限的語文課堂上,最高效地傳授知識。具體怎么做呢?這里,我談?wù)勎业淖龇?。首先,明確目標(biāo)。這里的目標(biāo)指老師在初三伊始根據(jù)學(xué)生的學(xué)習(xí)水平定下的中考奮斗目標(biāo)。比如針對我們班尖子生只是個別,大部分學(xué)生都是中等生的情況,我確定班級整體目標(biāo)為語文成績90~102分之間。為什么呢?因?yàn)閷τ谥械葘W(xué)生來說,大部分成績的取得得益于他們的踏實(shí)、努力,靈活性的、綜合性較強(qiáng)的題對他們來說是有難度的。所以我定的計(jì)劃是抓基礎(chǔ)、拿閱讀、保作文。抓基礎(chǔ)就是考試中的積累與運(yùn)用的27分要求95%的同學(xué)必須拿到25~27分。因?yàn)檫@部分主要是課內(nèi)基礎(chǔ)知識,通過復(fù)習(xí)完全可以做到。偶爾出現(xiàn)的對聯(lián)或標(biāo)點(diǎn)知識,靈活性及綜合性都較強(qiáng),對同學(xué)們不要求。拿閱讀就是指語文考試中38分的閱讀與感悟部分,要盡可能拿到28~30分。這里我也明確要求說明文及文言文的閱讀不能丟分,因?yàn)檎f明文的閱讀客觀性較強(qiáng),只要多讀幾遍文章,答案就在文中。而文言文在平時的教學(xué)中本身就很重視,雖考察的是課外文言文,但知識卻是課內(nèi)的,只要將這個詞在課內(nèi)的解釋對應(yīng)在這里即可,這樣的題對那些踏實(shí)、認(rèn)真的孩子來說不難。散文的閱讀相對來說靈活性較強(qiáng),對學(xué)生的感悟能力要求較高,所以11~12分的散文閱讀我只要求學(xué)生拿到6~8分就完成目標(biāo)。所謂保作文就是作文只要老老實(shí)實(shí)、穩(wěn)穩(wěn)當(dāng)當(dāng)拿到40~42分就行。因?yàn)橹械壬毡閷W(xué)習(xí)相對吃力,平時沒有閱讀的時間,知識面較窄,閱歷也少,要他們寫出內(nèi)容新穎、主題深刻、境界較高的作文幾乎不可能。所以對作文的指導(dǎo)我主要在圍繞中心、結(jié)構(gòu)清晰、書寫工整三個方面的要求及訓(xùn)練上。其次,瓜分課堂。所謂瓜分課堂是指把課堂分成3個部分。10分鐘的基礎(chǔ)考核,25分鐘的知識講授,10分鐘針對性的訓(xùn)練。10分鐘的基礎(chǔ)考核根據(jù)階段性目標(biāo)有時是字詞的聽寫,有時是課文的背誦,有時是名句的默寫。考核方法有時是個別抽查,有時是全班聽寫,有時是全班挨個過,還有時是學(xué)生考老師??傊?,盡可能的花樣多些,激發(fā)學(xué)生的興趣。25分鐘的知識講授主要是新課的傳授。在前面10分鐘的激發(fā)下,學(xué)生普遍達(dá)到了興奮狀態(tài),這個時候聽講效果明顯提高。最后的10分鐘針對性的訓(xùn)練是針對前面所講的知識點(diǎn)做適當(dāng)?shù)撵柟逃?xùn)練,這樣當(dāng)天知識當(dāng)堂消化,就可以少留作業(yè)甚至不留作業(yè)。我覺得這樣比那些胡亂應(yīng)付寫成的作業(yè)效果好多了。我的學(xué)生就常常感嘆語文作業(yè)最少,語文學(xué)得最輕松,但成績似乎也還不差。數(shù)據(jù)庫保護(hù)16、云無心以出岫,鳥倦飛而知還。數(shù)據(jù)庫保護(hù)數(shù)據(jù)庫1第8章數(shù)據(jù)庫保護(hù)

第8章數(shù)據(jù)庫保護(hù)2本章重要概念(1)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)則的組成。SQL中的三大類完整性約束,SQL3中的觸發(fā)器技術(shù)。(2)安全性的定義、級別,權(quán)限,SQL中的安全性機(jī)制,幾種常用的安全性措施,自然環(huán)境的安全性。本章重要概念(1)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)3本章重要概念(3)事務(wù)的定義,COMMIT和ROLLBACK的語義,事務(wù)的ACID性質(zhì),事務(wù)的狀態(tài)變遷圖。(4)存儲器類型,穩(wěn)定存儲器的實(shí)現(xiàn),數(shù)據(jù)傳送過程。(5)恢復(fù)的定義、基本原則和實(shí)現(xiàn)方法,故障的類型,檢查點(diǎn)技術(shù),REDO和UNDO操作,運(yùn)行記錄優(yōu)先原則。

(6)并發(fā)操作帶來的三個問題,X鎖、PX協(xié)議、PXC協(xié)議,S鎖、PS協(xié)議、PSC協(xié)議,活鎖、餓死和死鎖,并發(fā)調(diào)度,串行調(diào)度,并發(fā)調(diào)度的可串行化,兩段封鎖法,SQL中事務(wù)的存取模式和隔離級別。本章重要概念(3)事務(wù)的定義,COMMIT和ROLLBACK4數(shù)據(jù)庫保護(hù)8.1事務(wù)8.2數(shù)據(jù)庫完整性8.3數(shù)據(jù)庫安全性8.4數(shù)據(jù)庫恢復(fù)技術(shù)8.5并發(fā)控制本章小結(jié)數(shù)據(jù)庫保護(hù)8.1事務(wù)58.1事務(wù)定義事務(wù)(transaction)是構(gòu)成單一邏輯工作單元的操作集合。

性質(zhì)原子性(Atomicity):事務(wù)是一個不可分割的工作單元。

一致性(Consistency):即數(shù)據(jù)不會應(yīng)事務(wù)的執(zhí)行而遭受破壞。隔離性(Isolation):在多個事務(wù)并發(fā)執(zhí)行時,系統(tǒng)應(yīng)保證與這些事務(wù)先后單獨(dú)執(zhí)行時的結(jié)果一樣。持久性(Durability):一個事務(wù)一旦完成全部操作后,它對數(shù)據(jù)庫的所有更新應(yīng)永久地反映在數(shù)據(jù)庫中。8.1事務(wù)定義6例子:事務(wù)及其性質(zhì)相應(yīng)的事務(wù):T:read(A); A:=A–50; write(A); read(B); B:=B+50; write(B).

原子性(A,B同時被修改或同時保持原值)一致性(A+B的值不變)隔離性持久性問題:設(shè)銀行數(shù)據(jù)庫中有一轉(zhuǎn)賬事務(wù)T,從賬號A轉(zhuǎn)一筆款子($50)到賬號B。例子:事務(wù)及其性質(zhì)相應(yīng)的事務(wù):原子性(A,B同時被修改或同時7事務(wù)提交和事務(wù)撤銷事務(wù)的所有操作都完成了,則事務(wù)提交(COMMIT),否則事務(wù)撤銷(ROLLBACK)BEGINTRANSACTION標(biāo)志事務(wù)開始執(zhí)行BEGINTRANSACTION和COMMIT或ROLLBACK一起保證了事務(wù)的四個性質(zhì)對數(shù)據(jù)庫訪問的兩個基本操作:讀和寫,但完成寫操作后,數(shù)據(jù)可能暫時放在內(nèi)存中,而非直接寫進(jìn)數(shù)據(jù)庫。事務(wù)提交和事務(wù)撤銷事務(wù)的所有操作都完成了,則事務(wù)提交(COM88.2數(shù)據(jù)庫完整性數(shù)據(jù)庫的完整性完整性子系統(tǒng)的主要功能監(jiān)督事務(wù)的執(zhí)行,并測試是否違反完整性規(guī)則若有違反現(xiàn)象,則采取恰當(dāng)?shù)牟僮?,譬如拒絕操作、報(bào)告違反情況、改正錯誤等方法來處理完整性規(guī)則什么時候使用規(guī)則進(jìn)行檢查(稱為規(guī)則的“觸發(fā)條件”)要檢查什么樣的錯誤(稱為“約束條件”或“謂詞”)如果查出錯誤,應(yīng)該怎么辦(稱為“ELSE子句”,即違反時要做的動作)8.2數(shù)據(jù)庫完整性數(shù)據(jù)庫的完整性9SQL中的完整性約束1---域約束域約束

用“CREATEDOMAIN”語句定義新的域,并且還可出現(xiàn)CHECK子句

定義一個新的域COLOR,可用下列語句實(shí)現(xiàn):CREATEDOMAINCOLORCHAR(6)DEFAULTˊ???ˊCONSTRAINTV_COLORSCHECK(VALUEIN(ˊRedˊ,ˊBlueˊ,ˊYellowˊ,ˊGreenˊ,ˊ???ˊ));SQL中的完整性約束1---域約束域約束定義一個新的域CO10SQL中的完整性約束2---基本表約束候選鍵的定義UNIQUE(〈列名序列〉)或PRIMARYKEY(〈列名序列〉)外鍵的定義FOREIGNKEY(〈列名序列〉)REFERENCES<參照表>[(<列名序列>)][ONDELETE<參照動作>][ONUPDATE<參照動作>]“檢查約束”的定義CHECK(〈條件表達(dá)式〉)

SQL中的完整性約束2---基本表約束候選鍵的定義11關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式修改參照表中主鍵值時的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時的考慮修改參照表中12關(guān)于數(shù)據(jù)庫完整性的例子學(xué)生關(guān)系S(S#,SNAME,AGE,SEX,SDEPT)選課關(guān)系SC(S#,C#,GRADE)課程關(guān)系C(C#,CNAME,CDEPT,TNAME)在教學(xué)數(shù)據(jù)庫中,要求S中的元組滿足條件:男生年齡在15~35歲之間,女生年齡在15~30歲之間。對應(yīng)的語句為:CHECK(AGE>=15AND((SEX=ˊ男ˊANDAGE<=35)OR(SEX=ˊ女ˊANDAGE<=30)));CREATETABLESC(S#CHAR(4),C#CHAR(4),GRADESMALLINT,PRIMARYKEY(S#,C#),CHECK(S#IN(SELECTS#FROMS)),CHECK(C#IN(SELECTC#FROMC)));

①在SC中插入一個元組,若C#值在C中不存在,則系統(tǒng)將拒絕這個插入操作。②在SC中插入一個元組,若S#值在S中不存在,則系統(tǒng)將拒絕這個插入操作。③在S中刪除一個元組,這個操作將與關(guān)系SC中的檢查子句無關(guān)。若此時SC中存在被刪學(xué)生的選課元組時,SC將違反檢查子句中條件。關(guān)于數(shù)據(jù)庫完整性的例子學(xué)生關(guān)系S(S#,SNAME,AGE,13SQL中的完整性約束3---斷言斷言如果完整性約束牽涉面較廣,與多個關(guān)系有關(guān),或者與聚合操作有關(guān),那么SQL2提供“斷言”(Assertions)機(jī)制讓用戶書寫完整性約束

CREATEASSERTION<斷言名>CHECK(<條件>)

DROPASSERTION<斷言名>

每位教師開設(shè)的課程不能超過10門。CREATEASSERTIONASSE1CHECK(10>=ALL(SELECTCOUNT(C#)FROMC

GROUPBYTNAME));

SQL中的完整性約束3---斷言斷言每位教師開設(shè)的課程不能超14SQL3的觸發(fā)器什么是觸發(fā)器觸發(fā)器的組成事件:插入、刪除、修改等操作,引發(fā)觸發(fā)器的操作條件:引發(fā)觸發(fā)器的條件動作:引發(fā)觸發(fā)器后的操作觸發(fā)器的命名動作時間 觸發(fā)事件 目標(biāo)表名舊值和新值的別名表 動作間隔尺寸觸發(fā)動作 動作時間條件 動作體SQL3的觸發(fā)器什么是觸發(fā)器觸發(fā)器的命名15SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個觸發(fā)器。這個觸發(fā)器規(guī)定,在修改關(guān)系SC的成績值時,要求修改后的成績一定不能比原來的低,否則就拒絕修改CREATETRIGGERTRIG1

AFTERUPDATEOFGRADEONSCREFERENCINGOLDASOLDTUPLENEWASNEWTUPLEFOREACHROW WHEN(OLDTUPLE.GRADE>NEWTUPLE.GRADE)UPDATESCSETGRADE=OLDTUPLE.GRADEWHEREC#=NEWTUPLE.C#

SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個觸發(fā)器。這168.3數(shù)據(jù)庫安全性什么是數(shù)據(jù)庫的安全性安全性級別環(huán)境級:計(jì)算機(jī)系統(tǒng)的機(jī)房和設(shè)備應(yīng)加以保護(hù),防止有人進(jìn)行物理破壞。職員級:工作人員應(yīng)清正廉潔,正確授予用戶訪問數(shù)據(jù)庫的權(quán)限。OS級:應(yīng)防止未經(jīng)授權(quán)的用戶從OS處著手訪問數(shù)據(jù)庫。網(wǎng)絡(luò)級:由于大多數(shù)DBS都允許用戶通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問,因此網(wǎng)絡(luò)軟件內(nèi)部的安全性是很重要的。DBS級:DBS的職責(zé)是檢查用戶的身份是否合法及使用數(shù)據(jù)庫的權(quán)限是否正確。8.3數(shù)據(jù)庫安全性什么是數(shù)據(jù)庫的安全性17(1)讀權(quán)限:允許用戶讀數(shù)據(jù),但不能改數(shù)據(jù)。⑵插入權(quán)限:允許用戶插入新數(shù)據(jù),但不能改數(shù)據(jù)。⑶修改權(quán)限:允許用戶改數(shù)據(jù),但不能刪除數(shù)據(jù)。⑷刪除權(quán)限權(quán)限訪問數(shù)據(jù)的權(quán)限索引(Index)權(quán)限:允許用戶創(chuàng)建和刪除索引。資源(Resourse)權(quán)限:允許用戶創(chuàng)建新的關(guān)系。修改(Alteration)權(quán)限:允許用戶在關(guān)系結(jié)構(gòu)中加入或刪除屬性。撤消(Drop)權(quán)限:允許用戶撤消關(guān)系。(1)讀權(quán)限:允許用戶讀數(shù)據(jù),但不能改數(shù)據(jù)。權(quán)限訪問數(shù)據(jù)的權(quán)18權(quán)限的授予和回收DBAU1U4U2U5U3權(quán)限轉(zhuǎn)授圖一個用戶擁有權(quán)限的充分必要條件是在權(quán)限圖中從根結(jié)點(diǎn)到該用戶結(jié)點(diǎn)存在一條路經(jīng)DBAU1U2U3DBAU1U2U3DBAU1U2U3權(quán)限的授予和回收DBAU1U4U2U5U3權(quán)限轉(zhuǎn)授圖一個用19SQL中的安全性機(jī)制視圖SQL2中的用戶權(quán)限及其操作用戶權(quán)限:

SELECTINSERTDELETEUPDATEREFERENCESUSAG授權(quán)語句GRANT<權(quán)限表>ON<數(shù)據(jù)庫元素>TO<用戶名表>[WITHGRANTOPTION]回收語句REVOKE<權(quán)限表>ON<數(shù)據(jù)庫元素>FROM<用戶名表>[RESTRICT|CASCADE]SQL中的安全性機(jī)制視圖20SQL中的權(quán)限操作實(shí)例GRANTSELECT,UPDATEONSTOWANGWITHGRANTOPTIONGRANTINSERT(S#,C#)ONSCTOLOUWITHGRANTOPTIONGRANTREFERENCES(CNO)ONCTOBAOWITHGRANTOPTIONGRANTUSAGEONDOMAINAGETOCHENREVOKESELECT,UPDATEONSFROMWANGCASCADEREVOKEGRANTOPTIONFORREFERENCES(C#)ONCFROMBAOSQL中的權(quán)限操作實(shí)例GRANTSELECT,UPDAT21常用的安全性措施強(qiáng)制存取控制用戶i只能查看比它級別低或同級的數(shù)據(jù);用戶i只能修改和它同級的數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)庫的安全性一個查詢查到的記錄個數(shù)至少是n;兩個查詢查到的記錄的“交”數(shù)目至多是m數(shù)據(jù)加密法普通加密法密鍵加密法自然環(huán)境的安全性DBS的設(shè)備和硬件安全性(“數(shù)據(jù)銀行”)常用的安全性措施強(qiáng)制存取控制228.4數(shù)據(jù)庫恢復(fù)技術(shù)易失性存儲器(volatilestorage)內(nèi)存、cache存儲器非易失性存儲器(nonvolatilestorage)磁盤和磁帶穩(wěn)定存儲器(stablestorage)這是一個理論上的概念。存儲在穩(wěn)定存儲器中的信息是決不會丟失的。穩(wěn)定存儲器的實(shí)現(xiàn)數(shù)據(jù)備份數(shù)據(jù)銀行存儲器類型8.4數(shù)據(jù)庫恢復(fù)技術(shù)易失性存儲器(volatilesto23塊和塊的操作塊、物理塊和緩沖塊塊的操作input(A):把物理塊A的內(nèi)容傳送到內(nèi)存的緩沖塊中。Output(B):把緩沖塊B的內(nèi)容傳送到磁盤中恰當(dāng)?shù)奈锢韷K中。B內(nèi)存AB磁盤input(A)output(B)圖9.5塊操作塊和塊的操作塊、物理塊和緩沖塊B內(nèi)存AB磁盤input(A)24數(shù)據(jù)訪問write(X)xi包含x的塊Bx存在,read(X)事務(wù)系統(tǒng)開始請求read(X)事務(wù)工作區(qū)分配X磁盤緩沖區(qū)掃描內(nèi)存磁盤包含x的塊Bx不存在,Input(B)數(shù)據(jù)訪問write(X)xi包含x的塊Bx存在,read(25恢復(fù)和原子性的聯(lián)系銀行轉(zhuǎn)賬系統(tǒng)A=2000B=1000事務(wù)A=A-100B=B+100Output(A)Output(B)斷電或其他故障假設(shè)沒有事務(wù)的原子性,那么重新啟動事務(wù)時要么A因?yàn)樵賵?zhí)行一遍而為1800,要么B因從未執(zhí)行而保持原值恢復(fù)和原子性的聯(lián)系銀行轉(zhuǎn)賬系統(tǒng)事務(wù)Output(A)Outp26恢復(fù)的基本原則和實(shí)現(xiàn)方法

基本原則:“冗余”,即數(shù)據(jù)庫重復(fù)存儲具體實(shí)現(xiàn)方法平時做好兩件事:轉(zhuǎn)儲和建立日志周期地(比如一天一次)對整個數(shù)據(jù)庫進(jìn)行拷貝,轉(zhuǎn)儲到另一個磁盤或磁帶一類存儲介質(zhì)中。建立日志數(shù)據(jù)庫。記錄事務(wù)的開始、結(jié)束及數(shù)據(jù)每一次插入、刪除和修改前后的值,并寫到“日志”庫中。

一旦發(fā)生數(shù)據(jù)庫故障,分兩種情況進(jìn)行處理如果數(shù)據(jù)庫已被破壞,則裝入last數(shù)據(jù)庫備份,再利用日志庫將這兩個數(shù)據(jù)庫狀態(tài)之間的所有更新重新做一遍。如果數(shù)據(jù)庫未被破壞,但某些數(shù)據(jù)不可靠,則撤消所有不可靠的修改,把數(shù)據(jù)庫恢復(fù)到正確的狀態(tài)。恢復(fù)的基本原則和實(shí)現(xiàn)方法基本原則:“冗余”,即數(shù)據(jù)庫重復(fù)27故障類型和恢復(fù)方法事務(wù)故障可以預(yù)期的事務(wù)故障,如存款余額透支等非預(yù)期事務(wù)故障,如運(yùn)算溢出、數(shù)據(jù)錯誤、死鎖等系統(tǒng)故障硬件故障、軟件錯誤或掉電等等介質(zhì)故障(硬故障)磁盤物理故障或遭受病毒破壞故障類型和恢復(fù)方法事務(wù)故障28檢查點(diǎn)方法什么是檢查點(diǎn)方法檢查點(diǎn)方法的恢復(fù)算法根據(jù)日志文件建立事務(wù)重做隊(duì)列和事務(wù)撤銷隊(duì)列對重做隊(duì)列中的事務(wù)進(jìn)行REDO處理,對撤消隊(duì)列中的事務(wù)進(jìn)行UNDO處理

-------------------------------------事務(wù)檢查點(diǎn)故障點(diǎn)時間檢查點(diǎn)T1T3T2T5T4事務(wù)T1不必恢復(fù);事務(wù)T2和事務(wù)T4必須重做(REDO);事務(wù)T3和事務(wù)T5必須撤消(UNDO)檢查點(diǎn)方法什么是檢查點(diǎn)方法-----------------29SQL對事務(wù)的支持無begintransactionCommitRollback游標(biāo)SQL對事務(wù)的支持無begintransaction308.5并發(fā)控制時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1FINDA

t2

FINDAt3A:=A-30

t4

A:=A*2t5UPDA

t6

70UPDAt7

200

圖9.10在時間t7丟失了事務(wù)T1的更新(FIND表示從DB中讀值,UPD表示把值寫回到DB)

并發(fā)操作帶來的問題1---丟失更新8.5并發(fā)控制時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t31并發(fā)操作帶來的問題2---讀臟數(shù)據(jù)時間更新事務(wù)T1數(shù)據(jù)庫中A的值讀事務(wù)T2t0

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5*ROLLBACK*

t6

100

圖9.11事務(wù)T2在時間t4讀了未提交的A值(70)

時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5

A:=A*2t6

UPDAt7

140

t8*ROLLBACK*

t9

100

圖9.12事務(wù)T2在時間t4讀了未提交的A值,并在時間t8丟失了自己的更新

并發(fā)操作帶來的問題2---讀臟數(shù)據(jù)時間更新事務(wù)T1數(shù)據(jù)庫中A32并發(fā)操作帶來的問題3---錯誤求和時間讀事務(wù)T1數(shù)據(jù)庫中A、B、C的值更新事務(wù)T2t0

40,50,30

t1FINDA

t2SUM:=A

t3FINDB

t4SUM:=SUM+B

t5

FINDCt6

C:=C-10t7

UPDCt8

40,50,20FINDAt9

A:=A+10t10

UPDAt11

50,50,20COMMITt12FINDC

t13SUM:=SUM+C

事務(wù)T1進(jìn)行了不一致的分析

并發(fā)操作帶來的問題3---錯誤求和時間讀事務(wù)T1數(shù)據(jù)庫中A、33解決方法封鎖技術(shù)時標(biāo)解決方法封鎖技術(shù)34X鎖和S鎖X鎖定義操作XFINDRXRELEASERPX協(xié)議:

任何企圖更新記錄R的事務(wù)必須先執(zhí)行“XFINDR”操作,以獲得對R的X鎖,才能讀或?qū)懹涗汻;如果未獲準(zhǔn)X鎖,那么這個事務(wù)進(jìn)入等待隊(duì)列,一直到獲準(zhǔn)X鎖,事務(wù)才能繼續(xù)做下去。

PXC協(xié)議

X鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束(COMMIT或ROLLBACK)操作中。S鎖定義操作SFINDRUPDXRSRELEASERPS協(xié)議

任何要更新記錄R的事務(wù)必須先執(zhí)行“SFINDR”操作,以獲得對R的S鎖。當(dāng)事務(wù)獲準(zhǔn)對R的S鎖后,若要更新記錄R必須用“UPDXR”操作,這個操作首先把S鎖升級為X鎖,若成功則更新記錄,否則這個事務(wù)進(jìn)入等待隊(duì)列。PSC協(xié)議S鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束。X鎖和S鎖X鎖定義S鎖定義35例:使用X鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1XFINDA

t2

XFINDA(失?。?/p>

wait(等待)t3A:=A-30

waitt4

waitt5UPDA

waitt6

70waitt7COMMIT(包括解鎖)

waitt8

XFINDA(重做)t9

A:=A*2t10

UPDAt11

140COMMIT(包括解鎖)例:使用X鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更36例:使用S鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1SFINDA

t2

SFINDAt3A:=A-30

t4

A:=A*2t5UPDXA(失敗)

t6wait

UPDXA(失?。﹖7wait

Waitt8wait

Wait例:使用S鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更37封鎖的相容矩陣注:①N=NO,不相容的請求Y=YES,相容的請求②X、S、-:分別表示X鎖,S鎖,無鎖③如果兩個封鎖是不相容的,則后提出封鎖的事務(wù)要等待。XS—

X

S

NNY

NYY

YYY

T2T1

封鎖的相容矩陣注:XS—

T238封鎖的粒度封鎖對象的大小稱為封鎖的粒度(granularity)

封鎖的對象

邏輯單元:屬性值、屬性值集合、元組、關(guān)系、索引項(xiàng)、整個索引、整個數(shù)據(jù)庫

物理單元:頁(數(shù)據(jù)頁或索引頁)、塊

封鎖粒度與系統(tǒng)并發(fā)度和并發(fā)控制開銷密切相關(guān)。粒度越大,系統(tǒng)中能被封鎖的對象就越少,并發(fā)度就越小,但同時系統(tǒng)的開銷也就越小;相反,粒度越小,并發(fā)度越高,系統(tǒng)開銷越大

封鎖的粒度封鎖對象的大小稱為封鎖的粒度(granularit39封鎖帶來的問題1---(活鎖)T1XFINDAT2XFINDAT3XFINDAAA已被封鎖,不成功,等待A剛被釋放,成功時間點(diǎn)A剛被T2釋放,成功……T1永遠(yuǎn)等待活鎖!解決方法:先來先服務(wù)封鎖帶來的問題1---(活鎖)T1T2T3AA已被封鎖,不成40封鎖帶來的問題2---餓死T2事務(wù)序列A1A2A3A4A5…資源AT1T1永遠(yuǎn)不能封鎖解決方法,改變授權(quán)方式:當(dāng)事務(wù)T2中請對數(shù)據(jù)項(xiàng)Q加S鎖時,授權(quán)加鎖的條件是:①不存在在數(shù)據(jù)項(xiàng)Q上持有X鎖的其他事務(wù);②不存在等待對數(shù)據(jù)項(xiàng)Q加鎖且先于T2申請加鎖的事務(wù)

每一個事務(wù)均請求A的S鎖,成功后一段時間釋放請求A的X鎖封鎖帶來的問題2---餓死T2資源AT1T1永遠(yuǎn)不解決方法,41封鎖帶來的問題3---死鎖時間事務(wù)T1事務(wù)T2t0XFINDA

t1

XFINDBt2XFINDB

t3waitXFINDAt4waitwait死鎖若事務(wù)依賴圖有環(huán)則可能死鎖T1T2T3T4圖9.20事務(wù)的無環(huán)依賴圖T1T2T3T4圖9.21事務(wù)的有環(huán)依賴圖封鎖帶來的問題3---死鎖時間事務(wù)T1事務(wù)T2t0XFIND42并發(fā)操作的調(diào)度事務(wù)的調(diào)度:事務(wù)的執(zhí)行次序稱為“調(diào)度”串行調(diào)度:如果多個事務(wù)依次執(zhí)行,則稱為事務(wù)的串行調(diào)度(SerialSchedule)并發(fā)調(diào)度:如果利用分時的方法,同時處理多個事務(wù),則稱為事務(wù)的并發(fā)調(diào)度(ConcurrentSchedule)可串行化:如果一個并發(fā)調(diào)度的執(zhí)行結(jié)果與某一串行調(diào)度的執(zhí)行結(jié)果等價,那么這個并發(fā)調(diào)度稱為“可串行化的調(diào)度”,否則是不可串行化的調(diào)度并發(fā)操作的調(diào)度事務(wù)的調(diào)度:事務(wù)的執(zhí)行次序稱為“調(diào)度”43調(diào)度可串行化的測試前趨圖有向圖G=<V,E>V—頂點(diǎn)的集合,包含所有參與調(diào)度的事務(wù)。E—邊的集合,通過分析沖突操作來決定。如果下列條件之一成立,可在E中加邊Ti→Tj:Ri(x)在Wj(x)之前Wi(x)在Rj(x)之前Wi(x)在Wj(x)之前S=W3(y)R1(x)R2(y)W3(x)W2(x)W3(z)R4(z)W4(x)最后,看構(gòu)造好的前趨圖中是否有環(huán)路,如果有,則該調(diào)度不可串行化;否則,可串行化。T1T2T3T4前趨圖調(diào)度可串行化的測試前趨圖最后,看構(gòu)造好的前趨圖中是否有環(huán)路,44可串行化時,決定等價串行調(diào)度序列的算法:由于無環(huán)路,必有入度為0的頂點(diǎn)。將它們及其有關(guān)的邊從圖中移去并將這些頂點(diǎn)存入一個隊(duì)列。對剩下的圖作同樣處理,不過移出的頂點(diǎn)要隊(duì)列中已有頂點(diǎn)之后。重復(fù)1,2直至所有頂點(diǎn)移入隊(duì)列為止。 例對{T1,T2,T3,T4}的一個調(diào)度s

S=W3(y)R1(x)R2(y)W3(x)W2(x)W3(z)R4(z)W4(x) 它是否可串行化?如可串行化找出其等價的串行執(zhí)行序列??纱谢瘯r,決定等價串行調(diào)度序列的算法:由于無環(huán)路,必有入度45S=W3(y)R1(x)R2(y)W3(x)W2(x)W3(z)R4(z)W4(x)T1T2T3T4T2T3T4隊(duì)列:T1T2T4隊(duì)列:T1,T3T4隊(duì)列:T1,T3,T2等價串行序列:T1→T3→T2→T4空S=W3(y)R1(x)R2(y)W3(x)W2(x)W346兩段封鎖協(xié)議在對任何一個數(shù)據(jù)進(jìn)行讀寫操作之前,事務(wù)必須獲得對該數(shù)據(jù)的封鎖;在釋放一個封鎖之后,事務(wù)不再獲得任何其他封鎖遵守該協(xié)議的事務(wù)分為兩個階段:獲得封鎖階段,也稱為“擴(kuò)展”階段;釋放封鎖階段,也稱為“收縮”階段如果所有的事務(wù)都遵守“兩段封鎖協(xié)議”,則所有可能的并發(fā)調(diào)度都是可串行化的T1LockALockBLockC┇UnlockAUnlockBUnlockCT2LockALockBUnlockAUnlockBLockC┇UnlockC2PLnot2PLGrowingphaseShrinkingphase兩段封鎖協(xié)議在對任何一個數(shù)據(jù)進(jìn)行讀寫操作之前,事務(wù)必須獲得47死鎖的檢測、處理與防止死鎖:循環(huán)等待,誰也無法得到全部資源?;铈i:雖然其它事務(wù)都在有限長的時間內(nèi)釋放了資源,但某事務(wù)就是無法得到想要的資源。X_lockR1┇X_lockR2waitTAX_lockR2┇X_lockR1waitTBRT1:S-lockT2:S-lock┇T:x-lock活鎖較簡單,只需稍加修改調(diào)度策略,如FIFO死鎖:(1)防(不允許發(fā)生);(2)治(允許,能消除)死鎖的檢測、處理與防止死鎖:循環(huán)等待,誰也無法得到全部資源。48等待-死亡策略如果T1比T2“年老”(ts(T1)<ts(T2)),則T1等待;不然,T2回滾(死亡),并在一定時間后以原來的時間標(biāo)記重新運(yùn)行。擊傷-等待策略如果T1比T2“年輕”(ts(T1)>ts(T2)),則T1等待;不然,T2回滾(死亡),并在一定時間后以原來的時間標(biāo)記重新運(yùn)行。 上述方法中,都只有一個方向的等待,年老→年輕或年輕→年老,所以不會出現(xiàn)循環(huán)等待,從而避免了死鎖的發(fā)生。

死鎖預(yù)防等待-死亡策略死鎖預(yù)防49死鎖檢測超時法簡單。但死鎖發(fā)生后,須等待一定的時間才能發(fā)現(xiàn),且事務(wù)因其它原因的等待而超過時限時,就會誤判為死鎖。等待圖法G=<V,E> V—setoftransactions E-{<Ti,Tj>|TiwaitsforTj(i≠j)}若圖中有環(huán)路則說明已經(jīng)發(fā)生死鎖。死鎖處理:發(fā)現(xiàn)死鎖時,由鎖管理器作以下處理:在循環(huán)等待事務(wù)中,選擇一個恓性代價最小的事務(wù)執(zhí)行回滾,并釋放它獲得的鎖及其他資源,使其他事務(wù)得以運(yùn)行下去。死鎖檢測超時法50本章小結(jié)事務(wù)以及事務(wù)的四個性質(zhì)數(shù)據(jù)庫的完整性SQL中相應(yīng)的權(quán)限授予語句數(shù)據(jù)庫數(shù)據(jù)的恢復(fù)原理、常用技術(shù)、故障類型和恢復(fù)方法檢查點(diǎn)技術(shù)封鎖操作以及封鎖帶來的問題并發(fā)操作和可串行化本章小結(jié)事務(wù)以及事務(wù)的四個性質(zhì)51

1、最靈繁的人也看不見自己的背脊?!侵?/p>

2、最困難的事情就是認(rèn)識自己?!ED

3、有勇氣承擔(dān)命運(yùn)這才是英雄好漢。——黑塞

4、與肝膽人共事,無字句處讀書?!芏鱽?/p>

5、閱讀使人充實(shí),會談使人敏捷,寫作使人精確?!喔?/p>

1、最靈繁的人也看不見自己的背脊。——非洲

2、最困52數(shù)據(jù)庫保護(hù)16、云無心以出岫,鳥倦飛而知還。17、童孺縱行歌,斑白歡游詣。18、福不虛至,禍不易來。19、久在樊籠里,復(fù)得返自然。20、羈鳥戀舊林,池魚思故淵。數(shù)據(jù)庫保護(hù)數(shù)據(jù)庫保護(hù)16、云無心以出岫,鳥倦飛而知還。17、童孺縱行歌,斑白歡游詣。18、福不虛至,禍不易來。19、久在樊籠里,復(fù)得返自然。20、羈鳥戀舊林,池魚思故淵。第8章數(shù)據(jù)庫保護(hù)本章重要概念(1)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)則的組成。SQL中的三大類完整性約束,SQL3中的觸發(fā)器技術(shù)。(2)安全性的定義、級別,權(quán)限,SQL中的安全性機(jī)制,幾種常用的安全性措施,自然環(huán)境的安全性。退役軍人通過軍營的艱苦磨練,具備了嚴(yán)格律己、吃苦耐勞的優(yōu)良品質(zhì),如果能夠在職業(yè)技能上加以系統(tǒng)的學(xué)習(xí),掌握適應(yīng)市場需求的IT技術(shù),就會在今后擇業(yè)的目標(biāo)上更加明確,創(chuàng)業(yè)的前景更加開闊。在這種社會需求下,筆者所在學(xué)校在退役軍人培訓(xùn)班中開設(shè)了《機(jī)械CAD》課程?!稒C(jī)械CAD》是一門知識與技能融為一體的課程,該門課程的實(shí)用性和實(shí)踐性強(qiáng)、動手能力要求高,學(xué)員必須在掌握《機(jī)械制圖》課程的基礎(chǔ)之上,才能進(jìn)行計(jì)算機(jī)操作繪圖。因此,熟練使用AutoCAD進(jìn)行機(jī)械設(shè)計(jì)的前提,是學(xué)好AutoCAD中的各項(xiàng)操作,并熟練掌握機(jī)械設(shè)計(jì)方面的知識。為了讓學(xué)員努力學(xué)習(xí)并融入新的班級團(tuán)隊(duì),身為任課教師,筆者為培訓(xùn)班的學(xué)員量身打造恰當(dāng)?shù)慕虒W(xué)指導(dǎo)思想,制定合理的教學(xué)計(jì)劃和教學(xué)方案。一、加強(qiáng)教學(xué)的引導(dǎo)性由于退役軍人從未涉及過制造加工業(yè),對機(jī)械行業(yè)和機(jī)械常識缺乏了解,他們對機(jī)械制圖課程在機(jī)械CAD中的作用重視不足,聽課注意力難以集中,學(xué)習(xí)效率較低。同時,由于其專業(yè)技能和文化水平的限制,學(xué)員對授課內(nèi)容的反應(yīng)相對較慢,理解能力不足。針對上述問題,筆者在教學(xué)中盡量降低教學(xué)難度,減慢授課進(jìn)度,遵循多鼓勵、多輔導(dǎo)、多引導(dǎo)的原則,消除他們對學(xué)習(xí)的畏懼。在教學(xué)中,更多地關(guān)注每位學(xué)員學(xué)習(xí)信息的反饋,及時做出相應(yīng)的教學(xué)調(diào)整。同時,筆者還認(rèn)真發(fā)現(xiàn)學(xué)員們的閃光點(diǎn),鼓勵他們點(diǎn)滴的進(jìn)步,讓學(xué)員們看到自己的能力和潛力,重新獲得學(xué)習(xí)的信心,增加克服困難的勇氣。二、提高教學(xué)的目的性為了培養(yǎng)學(xué)員的讀圖能力,讓他們讀懂機(jī)械制圖的圖樣,授課時有計(jì)劃、有目的地教學(xué)員讀圖的方法,讓其建立多讀圖、多思考的習(xí)慣。通過多讀、多看,熟能生巧,掌握繪圖的要領(lǐng)。在零件圖識讀方面,筆者把零件圖制作成幻燈片進(jìn)行講解,增加了教學(xué)的直觀性和趣味性,激發(fā)了學(xué)員的學(xué)習(xí)興趣,提高了教學(xué)和學(xué)習(xí)效率。三、突出教學(xué)的層次性1.教學(xué)目標(biāo)的分層設(shè)置培訓(xùn)班中,學(xué)員的思維能力和接受能力各不相同。CAD課程要求學(xué)員在掌握《機(jī)械制圖》課程的基礎(chǔ)上進(jìn)行操作繪圖,因此,對學(xué)員能力的分層尤為必要。對于不同層次的學(xué)員,CAD成績必定出現(xiàn)“高、中、低”的階梯式現(xiàn)象。如果采用傳統(tǒng)教學(xué)的“一鍋煮”,勢必出現(xiàn)能力較強(qiáng)的學(xué)生“吃不飽”、中層的學(xué)生“吃不消”、能力較弱的學(xué)生“吃不下”的現(xiàn)象。只有把握好學(xué)員的能力差異,合理劃分層次,針對不同層次的學(xué)生,提出不同的教學(xué)要求和實(shí)施方法,因材施教、因地制宜,才能保證教學(xué)質(zhì)量穩(wěn)步提高。2.教學(xué)方法的分層實(shí)施針對不同層次的學(xué)員,布置不同的任務(wù),讓不同層次的學(xué)生都能夠品嘗到成功的喜悅,增強(qiáng)自信心。上課時,具體以繪圖、修改、標(biāo)注三個工具欄為主線,靈活運(yùn)用不同命令進(jìn)行具體繪圖,邊講解,邊實(shí)例演示,對學(xué)生有疑惑的地方做到及時反饋;再針對難點(diǎn)反復(fù)舉例演示,盡量通俗易懂,使學(xué)生當(dāng)堂消化、隨時答疑。對能力較強(qiáng)的學(xué)生,少講多練,強(qiáng)調(diào)獨(dú)立性和綜合運(yùn)用能力;對中層學(xué)生,精講精練,重點(diǎn)為基礎(chǔ)知識和技能技巧的訓(xùn)練提高;對能力較弱的學(xué)生,則進(jìn)行個別輔導(dǎo),反復(fù)講解,爭取其掌握基本的知識和基本技能。任課老師授課時應(yīng)確保做到多關(guān)心那些渴望進(jìn)步、努力付出、自身能力又有限的學(xué)生。3.課程練習(xí)的分層完成對于實(shí)踐性強(qiáng)、動手能力要求高的CAD課程,合適的訓(xùn)練方法和訓(xùn)練方式,會收到事半功倍的效果。實(shí)操練習(xí)題,可以分為必作圖和選作圖兩部分,對于不同的層次的學(xué)生,要求各不相同。必作圖,強(qiáng)調(diào)基本知識運(yùn)用,屬于基礎(chǔ)操作題,要求全體學(xué)員都完成。采取按完成時間先后排名的形式,增強(qiáng)了學(xué)員學(xué)習(xí)的競爭意識。選作圖留給能力較強(qiáng)的學(xué)員,為其提供充分發(fā)揮的舞臺。初三的學(xué)生,既要學(xué)習(xí)各科新知識,還要復(fù)習(xí)初一、初二的舊知識,同時還必需做各科知識的整理、歸納、綜合。壓力驟增,時間又很有限。在這種情況下,很多學(xué)生把主要精力放在理科的學(xué)習(xí)及英語、政史等容易提分的科目上,忽略了語文的學(xué)習(xí),這讓很多語文老師焦急、抱怨但卻無奈。在這樣的現(xiàn)實(shí)面前,就要求我們的語文老師多動腦子,多想辦法,在有限的語文課堂上,最高效地傳授知識。具體怎么做呢?這里,我談?wù)勎业淖龇?。首先,明確目標(biāo)。這里的目標(biāo)指老師在初三伊始根據(jù)學(xué)生的學(xué)習(xí)水平定下的中考奮斗目標(biāo)。比如針對我們班尖子生只是個別,大部分學(xué)生都是中等生的情況,我確定班級整體目標(biāo)為語文成績90~102分之間。為什么呢?因?yàn)閷τ谥械葘W(xué)生來說,大部分成績的取得得益于他們的踏實(shí)、努力,靈活性的、綜合性較強(qiáng)的題對他們來說是有難度的。所以我定的計(jì)劃是抓基礎(chǔ)、拿閱讀、保作文。抓基礎(chǔ)就是考試中的積累與運(yùn)用的27分要求95%的同學(xué)必須拿到25~27分。因?yàn)檫@部分主要是課內(nèi)基礎(chǔ)知識,通過復(fù)習(xí)完全可以做到。偶爾出現(xiàn)的對聯(lián)或標(biāo)點(diǎn)知識,靈活性及綜合性都較強(qiáng),對同學(xué)們不要求。拿閱讀就是指語文考試中38分的閱讀與感悟部分,要盡可能拿到28~30分。這里我也明確要求說明文及文言文的閱讀不能丟分,因?yàn)檎f明文的閱讀客觀性較強(qiáng),只要多讀幾遍文章,答案就在文中。而文言文在平時的教學(xué)中本身就很重視,雖考察的是課外文言文,但知識卻是課內(nèi)的,只要將這個詞在課內(nèi)的解釋對應(yīng)在這里即可,這樣的題對那些踏實(shí)、認(rèn)真的孩子來說不難。散文的閱讀相對來說靈活性較強(qiáng),對學(xué)生的感悟能力要求較高,所以11~12分的散文閱讀我只要求學(xué)生拿到6~8分就完成目標(biāo)。所謂保作文就是作文只要老老實(shí)實(shí)、穩(wěn)穩(wěn)當(dāng)當(dāng)拿到40~42分就行。因?yàn)橹械壬毡閷W(xué)習(xí)相對吃力,平時沒有閱讀的時間,知識面較窄,閱歷也少,要他們寫出內(nèi)容新穎、主題深刻、境界較高的作文幾乎不可能。所以對作文的指導(dǎo)我主要在圍繞中心、結(jié)構(gòu)清晰、書寫工整三個方面的要求及訓(xùn)練上。其次,瓜分課堂。所謂瓜分課堂是指把課堂分成3個部分。10分鐘的基礎(chǔ)考核,25分鐘的知識講授,10分鐘針對性的訓(xùn)練。10分鐘的基礎(chǔ)考核根據(jù)階段性目標(biāo)有時是字詞的聽寫,有時是課文的背誦,有時是名句的默寫??己朔椒ㄓ袝r是個別抽查,有時是全班聽寫,有時是全班挨個過,還有時是學(xué)生考老師??傊M可能的花樣多些,激發(fā)學(xué)生的興趣。25分鐘的知識講授主要是新課的傳授。在前面10分鐘的激發(fā)下,學(xué)生普遍達(dá)到了興奮狀態(tài),這個時候聽講效果明顯提高。最后的10分鐘針對性的訓(xùn)練是針對前面所講的知識點(diǎn)做適當(dāng)?shù)撵柟逃?xùn)練,這樣當(dāng)天知識當(dāng)堂消化,就可以少留作業(yè)甚至不留作業(yè)。我覺得這樣比那些胡亂應(yīng)付寫成的作業(yè)效果好多了。我的學(xué)生就常常感嘆語文作業(yè)最少,語文學(xué)得最輕松,但成績似乎也還不差。數(shù)據(jù)庫保護(hù)16、云無心以出岫,鳥倦飛而知還。數(shù)據(jù)庫保護(hù)數(shù)據(jù)庫53第8章數(shù)據(jù)庫保護(hù)

第8章數(shù)據(jù)庫保護(hù)54本章重要概念(1)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)則的組成。SQL中的三大類完整性約束,SQL3中的觸發(fā)器技術(shù)。(2)安全性的定義、級別,權(quán)限,SQL中的安全性機(jī)制,幾種常用的安全性措施,自然環(huán)境的安全性。本章重要概念(1)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)55本章重要概念(3)事務(wù)的定義,COMMIT和ROLLBACK的語義,事務(wù)的ACID性質(zhì),事務(wù)的狀態(tài)變遷圖。(4)存儲器類型,穩(wěn)定存儲器的實(shí)現(xiàn),數(shù)據(jù)傳送過程。(5)恢復(fù)的定義、基本原則和實(shí)現(xiàn)方法,故障的類型,檢查點(diǎn)技術(shù),REDO和UNDO操作,運(yùn)行記錄優(yōu)先原則。

(6)并發(fā)操作帶來的三個問題,X鎖、PX協(xié)議、PXC協(xié)議,S鎖、PS協(xié)議、PSC協(xié)議,活鎖、餓死和死鎖,并發(fā)調(diào)度,串行調(diào)度,并發(fā)調(diào)度的可串行化,兩段封鎖法,SQL中事務(wù)的存取模式和隔離級別。本章重要概念(3)事務(wù)的定義,COMMIT和ROLLBACK56數(shù)據(jù)庫保護(hù)8.1事務(wù)8.2數(shù)據(jù)庫完整性8.3數(shù)據(jù)庫安全性8.4數(shù)據(jù)庫恢復(fù)技術(shù)8.5并發(fā)控制本章小結(jié)數(shù)據(jù)庫保護(hù)8.1事務(wù)578.1事務(wù)定義事務(wù)(transaction)是構(gòu)成單一邏輯工作單元的操作集合。

性質(zhì)原子性(Atomicity):事務(wù)是一個不可分割的工作單元。

一致性(Consistency):即數(shù)據(jù)不會應(yīng)事務(wù)的執(zhí)行而遭受破壞。隔離性(Isolation):在多個事務(wù)并發(fā)執(zhí)行時,系統(tǒng)應(yīng)保證與這些事務(wù)先后單獨(dú)執(zhí)行時的結(jié)果一樣。持久性(Durability):一個事務(wù)一旦完成全部操作后,它對數(shù)據(jù)庫的所有更新應(yīng)永久地反映在數(shù)據(jù)庫中。8.1事務(wù)定義58例子:事務(wù)及其性質(zhì)相應(yīng)的事務(wù):T:read(A); A:=A–50; write(A); read(B); B:=B+50; write(B).

原子性(A,B同時被修改或同時保持原值)一致性(A+B的值不變)隔離性持久性問題:設(shè)銀行數(shù)據(jù)庫中有一轉(zhuǎn)賬事務(wù)T,從賬號A轉(zhuǎn)一筆款子($50)到賬號B。例子:事務(wù)及其性質(zhì)相應(yīng)的事務(wù):原子性(A,B同時被修改或同時59事務(wù)提交和事務(wù)撤銷事務(wù)的所有操作都完成了,則事務(wù)提交(COMMIT),否則事務(wù)撤銷(ROLLBACK)BEGINTRANSACTION標(biāo)志事務(wù)開始執(zhí)行BEGINTRANSACTION和COMMIT或ROLLBACK一起保證了事務(wù)的四個性質(zhì)對數(shù)據(jù)庫訪問的兩個基本操作:讀和寫,但完成寫操作后,數(shù)據(jù)可能暫時放在內(nèi)存中,而非直接寫進(jìn)數(shù)據(jù)庫。事務(wù)提交和事務(wù)撤銷事務(wù)的所有操作都完成了,則事務(wù)提交(COM608.2數(shù)據(jù)庫完整性數(shù)據(jù)庫的完整性完整性子系統(tǒng)的主要功能監(jiān)督事務(wù)的執(zhí)行,并測試是否違反完整性規(guī)則若有違反現(xiàn)象,則采取恰當(dāng)?shù)牟僮?,譬如拒絕操作、報(bào)告違反情況、改正錯誤等方法來處理完整性規(guī)則什么時候使用規(guī)則進(jìn)行檢查(稱為規(guī)則的“觸發(fā)條件”)要檢查什么樣的錯誤(稱為“約束條件”或“謂詞”)如果查出錯誤,應(yīng)該怎么辦(稱為“ELSE子句”,即違反時要做的動作)8.2數(shù)據(jù)庫完整性數(shù)據(jù)庫的完整性61SQL中的完整性約束1---域約束域約束

用“CREATEDOMAIN”語句定義新的域,并且還可出現(xiàn)CHECK子句

定義一個新的域COLOR,可用下列語句實(shí)現(xiàn):CREATEDOMAINCOLORCHAR(6)DEFAULTˊ???ˊCONSTRAINTV_COLORSCHECK(VALUEIN(ˊRedˊ,ˊBlueˊ,ˊYellowˊ,ˊGreenˊ,ˊ???ˊ));SQL中的完整性約束1---域約束域約束定義一個新的域CO62SQL中的完整性約束2---基本表約束候選鍵的定義UNIQUE(〈列名序列〉)或PRIMARYKEY(〈列名序列〉)外鍵的定義FOREIGNKEY(〈列名序列〉)REFERENCES<參照表>[(<列名序列>)][ONDELETE<參照動作>][ONUPDATE<參照動作>]“檢查約束”的定義CHECK(〈條件表達(dá)式〉)

SQL中的完整性約束2---基本表約束候選鍵的定義63關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式修改參照表中主鍵值時的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時的考慮修改參照表中64關(guān)于數(shù)據(jù)庫完整性的例子學(xué)生關(guān)系S(S#,SNAME,AGE,SEX,SDEPT)選課關(guān)系SC(S#,C#,GRADE)課程關(guān)系C(C#,CNAME,CDEPT,TNAME)在教學(xué)數(shù)據(jù)庫中,要求S中的元組滿足條件:男生年齡在15~35歲之間,女生年齡在15~30歲之間。對應(yīng)的語句為:CHECK(AGE>=15AND((SEX=ˊ男ˊANDAGE<=35)OR(SEX=ˊ女ˊANDAGE<=30)));CREATETABLESC(S#CHAR(4),C#CHAR(4),GRADESMALLINT,PRIMARYKEY(S#,C#),CHECK(S#IN(SELECTS#FROMS)),CHECK(C#IN(SELECTC#FROMC)));

①在SC中插入一個元組,若C#值在C中不存在,則系統(tǒng)將拒絕這個插入操作。②在SC中插入一個元組,若S#值在S中不存在,則系統(tǒng)將拒絕這個插入操作。③在S中刪除一個元組,這個操作將與關(guān)系SC中的檢查子句無關(guān)。若此時SC中存在被刪學(xué)生的選課元組時,SC將違反檢查子句中條件。關(guān)于數(shù)據(jù)庫完整性的例子學(xué)生關(guān)系S(S#,SNAME,AGE,65SQL中的完整性約束3---斷言斷言如果完整性約束牽涉面較廣,與多個關(guān)系有關(guān),或者與聚合操作有關(guān),那么SQL2提供“斷言”(Assertions)機(jī)制讓用戶書寫完整性約束

CREATEASSERTION<斷言名>CHECK(<條件>)

DROPASSERTION<斷言名>

每位教師開設(shè)的課程不能超過10門。CREATEASSERTIONASSE1CHECK(10>=ALL(SELECTCOUNT(C#)FROMC

GROUPBYTNAME));

SQL中的完整性約束3---斷言斷言每位教師開設(shè)的課程不能超66SQL3的觸發(fā)器什么是觸發(fā)器觸發(fā)器的組成事件:插入、刪除、修改等操作,引發(fā)觸發(fā)器的操作條件:引發(fā)觸發(fā)器的條件動作:引發(fā)觸發(fā)器后的操作觸發(fā)器的命名動作時間 觸發(fā)事件 目標(biāo)表名舊值和新值的別名表 動作間隔尺寸觸發(fā)動作 動作時間條件 動作體SQL3的觸發(fā)器什么是觸發(fā)器觸發(fā)器的命名67SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個觸發(fā)器。這個觸發(fā)器規(guī)定,在修改關(guān)系SC的成績值時,要求修改后的成績一定不能比原來的低,否則就拒絕修改CREATETRIGGERTRIG1

AFTERUPDATEOFGRADEONSCREFERENCINGOLDASOLDTUPLENEWASNEWTUPLEFOREACHROW WHEN(OLDTUPLE.GRADE>NEWTUPLE.GRADE)UPDATESCSETGRADE=OLDTUPLE.GRADEWHEREC#=NEWTUPLE.C#

SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個觸發(fā)器。這688.3數(shù)據(jù)庫安全性什么是數(shù)據(jù)庫的安全性安全性級別環(huán)境級:計(jì)算機(jī)系統(tǒng)的機(jī)房和設(shè)備應(yīng)加以保護(hù),防止有人進(jìn)行物理破壞。職員級:工作人員應(yīng)清正廉潔,正確授予用戶訪問數(shù)據(jù)庫的權(quán)限。OS級:應(yīng)防止未經(jīng)授權(quán)的用戶從OS處著手訪問數(shù)據(jù)庫。網(wǎng)絡(luò)級:由于大多數(shù)DBS都允許用戶通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問,因此網(wǎng)絡(luò)軟件內(nèi)部的安全性是很重要的。DBS級:DBS的職責(zé)是檢查用戶的身份是否合法及使用數(shù)據(jù)庫的權(quán)限是否正確。8.3數(shù)據(jù)庫安全性什么是數(shù)據(jù)庫的安全性69(1)讀權(quán)限:允許用戶讀數(shù)據(jù),但不能改數(shù)據(jù)。⑵插入權(quán)限:允許用戶插入新數(shù)據(jù),但不能改數(shù)據(jù)。⑶修改權(quán)限:允許用戶改數(shù)據(jù),但不能刪除數(shù)據(jù)。⑷刪除權(quán)限權(quán)限訪問數(shù)據(jù)的權(quán)限索引(Index)權(quán)限:允許用戶創(chuàng)建和刪除索引。資源(Resourse)權(quán)限:允許用戶創(chuàng)建新的關(guān)系。修改(Alteration)權(quán)限:允許用戶在關(guān)系結(jié)構(gòu)中加入或刪除屬性。撤消(Drop)權(quán)限:允許用戶撤消關(guān)系。(1)讀權(quán)限:允許用戶讀數(shù)據(jù),但不能改數(shù)據(jù)。權(quán)限訪問數(shù)據(jù)的權(quán)70權(quán)限的授予和回收DBAU1U4U2U5U3權(quán)限轉(zhuǎn)授圖一個用戶擁有權(quán)限的充分必要條件是在權(quán)限圖中從根結(jié)點(diǎn)到該用戶結(jié)點(diǎn)存在一條路經(jīng)DBAU1U2U3DBAU1U2U3DBAU1U2U3權(quán)限的授予和回收DBAU1U4U2U5U3權(quán)限轉(zhuǎn)授圖一個用71SQL中的安全性機(jī)制視圖SQL2中的用戶權(quán)限及其操作用戶權(quán)限:

SELECTINSERTDELETEUPDATEREFERENCESUSAG授權(quán)語句GRANT<權(quán)限表>ON<數(shù)據(jù)庫元素>TO<用戶名表>[WITHGRANTOPTION]回收語句REVOKE<權(quán)限表>ON<數(shù)據(jù)庫元素>FROM<用戶名表>[RESTRICT|CASCADE]SQL中的安全性機(jī)制視圖72SQL中的權(quán)限操作實(shí)例GRANTSELECT,UPDATEONSTOWANGWITHGRANTOPTIONGRANTINSERT(S#,C#)ONSCTOLOUWITHGRANTOPTIONGRANTREFERENCES(CNO)ONCTOBAOWITHGRANTOPTIONGRANTUSAGEONDOMAINAGETOCHENREVOKESELECT,UPDATEONSFROMWANGCASCADEREVOKEGRANTOPTIONFORREFERENCES(C#)ONCFROMBAOSQL中的權(quán)限操作實(shí)例GRANTSELECT,UPDAT73常用的安全性措施強(qiáng)制存取控制用戶i只能查看比它級別低或同級的數(shù)據(jù);用戶i只能修改和它同級的數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)庫的安全性一個查詢查到的記錄個數(shù)至少是n;兩個查詢查到的記錄的“交”數(shù)目至多是m數(shù)據(jù)加密法普通加密法密鍵加密法自然環(huán)境的安全性DBS的設(shè)備和硬件安全性(“數(shù)據(jù)銀行”)常用的安全性措施強(qiáng)制存取控制748.4數(shù)據(jù)庫恢復(fù)技術(shù)易失性存儲器(volatilestorage)內(nèi)存、cache存儲器非易失性存儲器(nonvolatilestorage)磁盤和磁帶穩(wěn)定存儲器(stablestorage)這是一個理論上的概念。存儲在穩(wěn)定存儲器中的信息是決不會丟失的。穩(wěn)定存儲器的實(shí)現(xiàn)數(shù)據(jù)備份數(shù)據(jù)銀行存儲器類型8.4數(shù)據(jù)庫恢復(fù)技術(shù)易失性存儲器(volatilesto75塊和塊的操作塊、物理塊和緩沖塊塊的操作input(A):把物理塊A的內(nèi)容傳送到內(nèi)存的緩沖塊中。Output(B):把緩沖塊B的內(nèi)容傳送到磁盤中恰當(dāng)?shù)奈锢韷K中。B內(nèi)存AB磁盤input(A)output(B)圖9.5塊操作塊和塊的操作塊、物理塊和緩沖塊B內(nèi)存AB磁盤input(A)76數(shù)據(jù)訪問write(X)xi包含x的塊Bx存在,read(X)事務(wù)系統(tǒng)開始請求read(X)事務(wù)工作區(qū)分配X磁盤緩沖區(qū)掃描內(nèi)存磁盤包含x的塊Bx不存在,Input(B)數(shù)據(jù)訪問write(X)xi包含x的塊Bx存在,read(77恢復(fù)和原子性的聯(lián)系銀行轉(zhuǎn)賬系統(tǒng)A=2000B=1000事務(wù)A=A-100B=B+100Output(A)Output(B)斷電或其他故障假設(shè)沒有事務(wù)的原子性,那么重新啟動事務(wù)時要么A因?yàn)樵賵?zhí)行一遍而為1800,要么B因從未執(zhí)行而保持原值恢復(fù)和原子性的聯(lián)系銀行轉(zhuǎn)賬系統(tǒng)事務(wù)Output(A)Outp78恢復(fù)的基本原則和實(shí)現(xiàn)方法

基本原則:“冗余”,即數(shù)據(jù)庫重復(fù)存儲具體實(shí)現(xiàn)方法平時做好兩件事:轉(zhuǎn)儲和建立日志周期地(比如一天一次)對整個數(shù)據(jù)庫進(jìn)行拷貝,轉(zhuǎn)儲到另一個磁盤或磁帶一類存儲介質(zhì)中。建立日志數(shù)據(jù)庫。記錄事務(wù)的開始、結(jié)束及數(shù)據(jù)每一次插入、刪除和修改前后的值,并寫到“日志”庫中。

一旦發(fā)生數(shù)據(jù)庫故障,分兩種情況進(jìn)行處理如果數(shù)據(jù)庫已被破壞,則裝入last數(shù)據(jù)庫備份,再利用日志庫將這兩個數(shù)據(jù)庫狀態(tài)之間的所有更新重新做一遍。如果數(shù)據(jù)庫未被破壞,但某些數(shù)據(jù)不可靠,則撤消所有不可靠的修改,把數(shù)據(jù)庫恢復(fù)到正確的狀態(tài)?;謴?fù)的基本原則和實(shí)現(xiàn)方法基本原則:“冗余”,即數(shù)據(jù)庫重復(fù)79故障類型和恢復(fù)方法事務(wù)故障可以預(yù)期的事務(wù)故障,如存款余額透支等非預(yù)期事務(wù)故障,如運(yùn)算溢出、數(shù)據(jù)錯誤、死鎖等系統(tǒng)故障硬件故障、軟件錯誤或掉電等等介質(zhì)故障(硬故障)磁盤物理故障或遭受病毒破壞故障類型和恢復(fù)方法事務(wù)故障80檢查點(diǎn)方法什么是檢查點(diǎn)方法檢查點(diǎn)方法的恢復(fù)算法根據(jù)日志文件建立事務(wù)重做隊(duì)列和事務(wù)撤銷隊(duì)列對重做隊(duì)列中的事務(wù)進(jìn)行REDO處理,對撤消隊(duì)列中的事務(wù)進(jìn)行UNDO處理

-------------------------------------事務(wù)檢查點(diǎn)故障點(diǎn)時間檢查點(diǎn)T1T3T2T5T4事務(wù)T1不必恢復(fù);事務(wù)T2和事務(wù)T4必須重做(REDO);事務(wù)T3和事務(wù)T5必須撤消(UNDO)檢查點(diǎn)方法什么是檢查點(diǎn)方法-----------------81SQL對事務(wù)的支持無begintransactionCommitRollback游標(biāo)SQL對事務(wù)的支持無begintransaction828.5并發(fā)控制時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1FINDA

t2

FINDAt3A:=A-30

t4

A:=A*2t5UPDA

t6

70UPDAt7

200

圖9.10在時間t7丟失了事務(wù)T1的更新(FIND表示從DB中讀值,UPD表示把值寫回到DB)

并發(fā)操作帶來的問題1---丟失更新8.5并發(fā)控制時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t83并發(fā)操作帶來的問題2---讀臟數(shù)據(jù)時間更新事務(wù)T1數(shù)據(jù)庫中A的值讀事務(wù)T2t0

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5*ROLLBACK*

t6

100

圖9.11事務(wù)T2在時間t4讀了未提交的A值(70)

時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5

A:=A*2t6

UPDAt7

140

t8*ROLLBACK*

t9

100

圖9.12事務(wù)T2在時間t4讀了未提交的A值,并在時間t8丟失了自己的更新

并發(fā)操作帶來的問題2---讀臟數(shù)據(jù)時間更新事務(wù)T1數(shù)據(jù)庫中A84并發(fā)操作帶來的問題3---錯誤求和時間讀事務(wù)T1數(shù)據(jù)庫中A、B、C的值更新事務(wù)T2t0

40,50,30

t1FINDA

t2SUM:=A

t3FINDB

t4SUM:=SUM+B

t5

FINDCt6

C:=C-10t7

UPDCt8

40,50,20FINDAt9

A:=A+10t10

UPDAt11

50,50,20COMMITt12FINDC

t13SUM:=SUM+C

事務(wù)T1進(jìn)行了不一致的分析

并發(fā)操作帶來的問題3---錯誤求和時間讀事務(wù)T1數(shù)據(jù)庫中A、85解決方法封鎖技術(shù)時標(biāo)解決方法封鎖技術(shù)86X鎖和S鎖X鎖定義操作XFINDRXRELEASERPX協(xié)議:

任何企圖更新記錄R的事務(wù)必須先執(zhí)行“XFINDR”操作,以獲得對R的X鎖,才能讀或?qū)懹涗汻;如果未獲準(zhǔn)X鎖,那么這個事務(wù)進(jìn)入等待隊(duì)列,一直到獲準(zhǔn)X鎖,事務(wù)才能繼續(xù)做下去。

PXC協(xié)議

X鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束(COMMIT或ROLLBACK)操作中。S鎖定義操作SFINDRUPDXRSRELEASERPS協(xié)議

任何要更新記錄R的事務(wù)必須先執(zhí)行“SFINDR”操作,以獲得對R的S鎖。當(dāng)事務(wù)獲準(zhǔn)對R的S鎖后,若要更新記錄R必須用“UPDXR”操作,這個操作首先把S鎖升級為X鎖,若成功則更新記錄,否則這個事務(wù)進(jìn)入等待隊(duì)列。PSC協(xié)議S鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束。X鎖和S鎖X鎖定義S鎖定義87例:使用X鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1XFINDA

t2

XFINDA(失?。?/p>

wait(等待)t3A:=A-30

waitt4

waitt5UPDA

waitt6

70waitt7COMMIT(包括解鎖)

waitt8

XFINDA(重做)t9

A:=A*2t10

UPDAt11

140COMMIT(包括解鎖)例:使用X鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更88例:使用S鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更新事務(wù)T2t0

100

t1SFINDA

t2

SFINDAt3A:=A-30

t4

A:=A*2t5UPDXA(失?。?/p>

t6wait

UPDXA(失?。﹖7wait

Waitt8wait

Wait例:使用S鎖封鎖解決數(shù)據(jù)丟失時間更新事務(wù)T1數(shù)據(jù)庫中A的值更89封鎖的相容矩陣注:①N=NO,不相容的請求Y=YES,相容的請求②X、S、-:分別表示X鎖,S鎖,無鎖③如果兩個封鎖是不相容的,則后提出封鎖的事務(wù)要等待。XS—

X

S

NNY

NYY

YYY

T2T1

封鎖的相容矩陣注:XS—

T290封鎖的粒度封鎖對象的大小稱為封鎖的粒度(granularity)

封鎖的對象

邏輯單元:屬性值、屬性值集合、元組、關(guān)系、索引項(xiàng)、整個索引、整個數(shù)據(jù)庫

物理單元:頁(數(shù)據(jù)頁或索引頁)、塊

封鎖粒度與系統(tǒng)并發(fā)度和并發(fā)控制開銷密切相關(guān)。粒度越大,系統(tǒng)中能被封鎖的對象就越少,并發(fā)度就越小,但同時系統(tǒng)的開銷也就越?。幌喾?,粒度越小,并發(fā)度越高,系統(tǒng)開銷越大

封鎖的粒度封鎖對象的大小稱為封鎖的粒度(granularit91封鎖帶來的問題1---(活鎖)T1XFINDAT2XFINDAT3XFINDAAA已被封鎖,不成功,等待A剛被釋放,成功時間點(diǎn)A剛被

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論