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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

SQL中的完整性約束2---基本表約束候選鍵的定義11關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時(shí)的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式修改參照表中主鍵值時(shí)的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時(shí)的考慮修改參照表中12關(guān)于數(shù)據(jù)庫(kù)完整性的例子學(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ù)庫(kù)中,要求S中的元組滿足條件:男生年齡在15~35歲之間,女生年齡在15~30歲之間。對(duì)應(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中插入一個(gè)元組,若C#值在C中不存在,則系統(tǒng)將拒絕這個(gè)插入操作。②在SC中插入一個(gè)元組,若S#值在S中不存在,則系統(tǒng)將拒絕這個(gè)插入操作。③在S中刪除一個(gè)元組,這個(gè)操作將與關(guān)系SC中的檢查子句無關(guān)。若此時(shí)SC中存在被刪學(xué)生的選課元組時(shí),SC將違反檢查子句中條件。關(guān)于數(shù)據(jù)庫(kù)完整性的例子學(xué)生關(guān)系S(S#,SNAME,AGE,13SQL中的完整性約束3---斷言斷言如果完整性約束牽涉面較廣,與多個(gè)關(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ā)器的條件動(dòng)作:引發(fā)觸發(fā)器后的操作觸發(fā)器的命名動(dòng)作時(shí)間 觸發(fā)事件 目標(biāo)表名舊值和新值的別名表 動(dòng)作間隔尺寸觸發(fā)動(dòng)作 動(dòng)作時(shí)間條件 動(dòng)作體SQL3的觸發(fā)器什么是觸發(fā)器觸發(fā)器的命名15SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個(gè)觸發(fā)器。這個(gè)觸發(fā)器規(guī)定,在修改關(guān)系SC的成績(jī)值時(shí),要求修改后的成績(jī)一定不能比原來的低,否則就拒絕修改CREATETRIGGERTRIG1

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

SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個(gè)觸發(fā)器。這168.3數(shù)據(jù)庫(kù)安全性什么是數(shù)據(jù)庫(kù)的安全性安全性級(jí)別環(huán)境級(jí):計(jì)算機(jī)系統(tǒng)的機(jī)房和設(shè)備應(yīng)加以保護(hù),防止有人進(jìn)行物理破壞。職員級(jí):工作人員應(yīng)清正廉潔,正確授予用戶訪問數(shù)據(jù)庫(kù)的權(quán)限。OS級(jí):應(yīng)防止未經(jīng)授權(quán)的用戶從OS處著手訪問數(shù)據(jù)庫(kù)。網(wǎng)絡(luò)級(jí):由于大多數(shù)DBS都允許用戶通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問,因此網(wǎng)絡(luò)軟件內(nèi)部的安全性是很重要的。DBS級(jí):DBS的職責(zé)是檢查用戶的身份是否合法及使用數(shù)據(jù)庫(kù)的權(quán)限是否正確。8.3數(shù)據(jù)庫(kù)安全性什么是數(shù)據(jù)庫(kù)的安全性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)授圖一個(gè)用戶擁有權(quán)限的充分必要條件是在權(quán)限圖中從根結(jié)點(diǎn)到該用戶結(jié)點(diǎn)存在一條路經(jīng)DBAU1U2U3DBAU1U2U3DBAU1U2U3權(quán)限的授予和回收DBAU1U4U2U5U3權(quán)限轉(zhuǎn)授圖一個(gè)用19SQL中的安全性機(jī)制視圖SQL2中的用戶權(quán)限及其操作用戶權(quán)限:

SELECTINSERTDELETEUPDATEREFERENCESUSAG授權(quán)語句GRANT<權(quán)限表>ON<數(shù)據(jù)庫(kù)元素>TO<用戶名表>[WITHGRANTOPTION]回收語句REVOKE<權(quán)限表>ON<數(shù)據(jù)庫(kù)元素>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只能查看比它級(jí)別低或同級(jí)的數(shù)據(jù);用戶i只能修改和它同級(jí)的數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)庫(kù)的安全性一個(gè)查詢查到的記錄個(gè)數(shù)至少是n;兩個(gè)查詢查到的記錄的“交”數(shù)目至多是m數(shù)據(jù)加密法普通加密法密鍵加密法自然環(huán)境的安全性DBS的設(shè)備和硬件安全性(“數(shù)據(jù)銀行”)常用的安全性措施強(qiáng)制存取控制228.4數(shù)據(jù)庫(kù)恢復(fù)技術(shù)易失性存儲(chǔ)器(volatilestorage)內(nèi)存、cache存儲(chǔ)器非易失性存儲(chǔ)器(nonvolatilestorage)磁盤和磁帶穩(wěn)定存儲(chǔ)器(stablestorage)這是一個(gè)理論上的概念。存儲(chǔ)在穩(wěn)定存儲(chǔ)器中的信息是決不會(huì)丟失的。穩(wěn)定存儲(chǔ)器的實(shí)現(xiàn)數(shù)據(jù)備份數(shù)據(jù)銀行存儲(chǔ)器類型8.4數(shù)據(jù)庫(kù)恢復(fù)技術(shù)易失性存儲(chǔ)器(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)開始請(qǐ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ù)的原子性,那么重新啟動(dòng)事務(wù)時(shí)要么A因?yàn)樵賵?zhí)行一遍而為1800,要么B因從未執(zhí)行而保持原值恢復(fù)和原子性的聯(lián)系銀行轉(zhuǎn)賬系統(tǒng)事務(wù)Output(A)Outp26恢復(fù)的基本原則和實(shí)現(xiàn)方法

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

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

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

100

t1FINDA

t2

FINDAt3A:=A-30

t4

A:=A*2t5UPDA

t6

70UPDAt7

200

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

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

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5*ROLLBACK*

t6

100

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

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

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5

A:=A*2t6

UPDAt7

140

t8*ROLLBACK*

t9

100

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

并發(fā)操作帶來的問題2---讀臟數(shù)據(jù)時(shí)間更新事務(wù)T1數(shù)據(jù)庫(kù)中A32并發(fā)操作帶來的問題3---錯(cuò)誤求和時(shí)間讀事務(wù)T1數(shù)據(jù)庫(kù)中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---錯(cuò)誤求和時(shí)間讀事務(wù)T1數(shù)據(jù)庫(kù)中A、33解決方法封鎖技術(shù)時(shí)標(biāo)解決方法封鎖技術(shù)34X鎖和S鎖X鎖定義操作XFINDRXRELEASERPX協(xié)議:

任何企圖更新記錄R的事務(wù)必須先執(zhí)行“XFINDR”操作,以獲得對(duì)R的X鎖,才能讀或?qū)懹涗汻;如果未獲準(zhǔn)X鎖,那么這個(gè)事務(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”操作,以獲得對(duì)R的S鎖。當(dāng)事務(wù)獲準(zhǔn)對(duì)R的S鎖后,若要更新記錄R必須用“UPDXR”操作,這個(gè)操作首先把S鎖升級(jí)為X鎖,若成功則更新記錄,否則這個(gè)事務(wù)進(jìn)入等待隊(duì)列。PSC協(xié)議S鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束。X鎖和S鎖X鎖定義S鎖定義35例:使用X鎖封鎖解決數(shù)據(jù)丟失時(shí)間更新事務(wù)T1數(shù)據(jù)庫(kù)中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ù)丟失時(shí)間更新事務(wù)T1數(shù)據(jù)庫(kù)中A的值更36例:使用S鎖封鎖解決數(shù)據(jù)丟失時(shí)間更新事務(wù)T1數(shù)據(jù)庫(kù)中A的值更新事務(wù)T2t0

100

t1SFINDA

t2

SFINDAt3A:=A-30

t4

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

t6wait

UPDXA(失敗)t7wait

Waitt8wait

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

X

S

NNY

NYY

YYY

T2T1

封鎖的相容矩陣注:XS—

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

封鎖的對(duì)象

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

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

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

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

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

t1

XFINDBt2XFINDB

t3waitXFINDAt4waitwait死鎖若事務(wù)依賴圖有環(huán)則可能死鎖T1T2T3T4圖9.20事務(wù)的無環(huán)依賴圖T1T2T3T4圖9.21事務(wù)的有環(huán)依賴圖封鎖帶來的問題3---死鎖時(shí)間事務(wù)T1事務(wù)T2t0XFIND42并發(fā)操作的調(diào)度事務(wù)的調(diào)度:事務(wù)的執(zhí)行次序稱為“調(diào)度”串行調(diào)度:如果多個(gè)事務(wù)依次執(zhí)行,則稱為事務(wù)的串行調(diào)度(SerialSchedule)并發(fā)調(diào)度:如果利用分時(shí)的方法,同時(shí)處理多個(gè)事務(wù),則稱為事務(wù)的并發(fā)調(diào)度(ConcurrentSchedule)可串行化:如果一個(gè)并發(fā)調(diào)度的執(zhí)行結(jié)果與某一串行調(diào)度的執(zhí)行結(jié)果等價(jià),那么這個(gè)并發(fā)調(diào)度稱為“可串行化的調(diào)度”,否則是不可串行化的調(diào)度并發(fā)操作的調(diào)度事務(wù)的調(diào)度:事務(wù)的執(zhí)行次序稱為“調(diào)度”43調(diào)度可串行化的測(cè)試前趨圖有向圖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)度可串行化的測(cè)試前趨圖最后,看構(gòu)造好的前趨圖中是否有環(huán)路,44可串行化時(shí),決定等價(jià)串行調(diào)度序列的算法:由于無環(huán)路,必有入度為0的頂點(diǎn)。將它們及其有關(guān)的邊從圖中移去并將這些頂點(diǎn)存入一個(gè)隊(duì)列。對(duì)剩下的圖作同樣處理,不過移出的頂點(diǎn)要隊(duì)列中已有頂點(diǎn)之后。重復(fù)1,2直至所有頂點(diǎn)移入隊(duì)列為止。 例對(duì){T1,T2,T3,T4}的一個(gè)調(diào)度s

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

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

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

2、最困難的事情就是認(rèn)識(shí)自己。——希臘

3、有勇氣承擔(dān)命運(yùn)這才是英雄好漢?!谌?/p>

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

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

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

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

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

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

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

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

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

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

SQL中的完整性約束2---基本表約束候選鍵的定義63關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時(shí)的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式修改參照表中主鍵值時(shí)的考慮NOACTIONCASCADE方式RESTRICT方式SETNULL方式SETDEFAULT方式關(guān)于外鍵約束完整性的補(bǔ)充刪除參照表中元組時(shí)的考慮修改參照表中64關(guān)于數(shù)據(jù)庫(kù)完整性的例子學(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ù)庫(kù)中,要求S中的元組滿足條件:男生年齡在15~35歲之間,女生年齡在15~30歲之間。對(duì)應(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中插入一個(gè)元組,若C#值在C中不存在,則系統(tǒng)將拒絕這個(gè)插入操作。②在SC中插入一個(gè)元組,若S#值在S中不存在,則系統(tǒng)將拒絕這個(gè)插入操作。③在S中刪除一個(gè)元組,這個(gè)操作將與關(guān)系SC中的檢查子句無關(guān)。若此時(shí)SC中存在被刪學(xué)生的選課元組時(shí),SC將違反檢查子句中條件。關(guān)于數(shù)據(jù)庫(kù)完整性的例子學(xué)生關(guān)系S(S#,SNAME,AGE,65SQL中的完整性約束3---斷言斷言如果完整性約束牽涉面較廣,與多個(gè)關(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ā)器的條件動(dòng)作:引發(fā)觸發(fā)器后的操作觸發(fā)器的命名動(dòng)作時(shí)間 觸發(fā)事件 目標(biāo)表名舊值和新值的別名表 動(dòng)作間隔尺寸觸發(fā)動(dòng)作 動(dòng)作時(shí)間條件 動(dòng)作體SQL3的觸發(fā)器什么是觸發(fā)器觸發(fā)器的命名67SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個(gè)觸發(fā)器。這個(gè)觸發(fā)器規(guī)定,在修改關(guān)系SC的成績(jī)值時(shí),要求修改后的成績(jī)一定不能比原來的低,否則就拒絕修改CREATETRIGGERTRIG1

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

SQL3的觸發(fā)器實(shí)例下面是應(yīng)用于選課關(guān)系SC的一個(gè)觸發(fā)器。這688.3數(shù)據(jù)庫(kù)安全性什么是數(shù)據(jù)庫(kù)的安全性安全性級(jí)別環(huán)境級(jí):計(jì)算機(jī)系統(tǒng)的機(jī)房和設(shè)備應(yīng)加以保護(hù),防止有人進(jìn)行物理破壞。職員級(jí):工作人員應(yīng)清正廉潔,正確授予用戶訪問數(shù)據(jù)庫(kù)的權(quán)限。OS級(jí):應(yīng)防止未經(jīng)授權(quán)的用戶從OS處著手訪問數(shù)據(jù)庫(kù)。網(wǎng)絡(luò)級(jí):由于大多數(shù)DBS都允許用戶通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問,因此網(wǎng)絡(luò)軟件內(nèi)部的安全性是很重要的。DBS級(jí):DBS的職責(zé)是檢查用戶的身份是否合法及使用數(shù)據(jù)庫(kù)的權(quán)限是否正確。8.3數(shù)據(jù)庫(kù)安全性什么是數(shù)據(jù)庫(kù)的安全性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)授圖一個(gè)用戶擁有權(quán)限的充分必要條件是在權(quán)限圖中從根結(jié)點(diǎn)到該用戶結(jié)點(diǎn)存在一條路經(jīng)DBAU1U2U3DBAU1U2U3DBAU1U2U3權(quán)限的授予和回收DBAU1U4U2U5U3權(quán)限轉(zhuǎn)授圖一個(gè)用71SQL中的安全性機(jī)制視圖SQL2中的用戶權(quán)限及其操作用戶權(quán)限:

SELECTINSERTDELETEUPDATEREFERENCESUSAG授權(quán)語句GRANT<權(quán)限表>ON<數(shù)據(jù)庫(kù)元素>TO<用戶名表>[WITHGRANTOPTION]回收語句REVOKE<權(quán)限表>ON<數(shù)據(jù)庫(kù)元素>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只能查看比它級(jí)別低或同級(jí)的數(shù)據(jù);用戶i只能修改和它同級(jí)的數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)庫(kù)的安全性一個(gè)查詢查到的記錄個(gè)數(shù)至少是n;兩個(gè)查詢查到的記錄的“交”數(shù)目至多是m數(shù)據(jù)加密法普通加密法密鍵加密法自然環(huán)境的安全性DBS的設(shè)備和硬件安全性(“數(shù)據(jù)銀行”)常用的安全性措施強(qiáng)制存取控制748.4數(shù)據(jù)庫(kù)恢復(fù)技術(shù)易失性存儲(chǔ)器(volatilestorage)內(nèi)存、cache存儲(chǔ)器非易失性存儲(chǔ)器(nonvolatilestorage)磁盤和磁帶穩(wěn)定存儲(chǔ)器(stablestorage)這是一個(gè)理論上的概念。存儲(chǔ)在穩(wěn)定存儲(chǔ)器中的信息是決不會(huì)丟失的。穩(wěn)定存儲(chǔ)器的實(shí)現(xiàn)數(shù)據(jù)備份數(shù)據(jù)銀行存儲(chǔ)器類型8.4數(shù)據(jù)庫(kù)恢復(fù)技術(shù)易失性存儲(chǔ)器(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)開始請(qǐ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ù)的原子性,那么重新啟動(dòng)事務(wù)時(shí)要么A因?yàn)樵賵?zhí)行一遍而為1800,要么B因從未執(zhí)行而保持原值恢復(fù)和原子性的聯(lián)系銀行轉(zhuǎn)賬系統(tǒng)事務(wù)Output(A)Outp78恢復(fù)的基本原則和實(shí)現(xiàn)方法

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

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

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

100

t1FINDA

t2

FINDAt3A:=A-30

t4

A:=A*2t5UPDA

t6

70UPDAt7

200

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

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

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5*ROLLBACK*

t6

100

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

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

100

t1FINDA

t2A:=A-30

t3UPDA

t4

70FINDAt5

A:=A*2t6

UPDAt7

140

t8*ROLLBACK*

t9

100

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

并發(fā)操作帶來的問題2---讀臟數(shù)據(jù)時(shí)間更新事務(wù)T1數(shù)據(jù)庫(kù)中A84并發(fā)操作帶來的問題3---錯(cuò)誤求和時(shí)間讀事務(wù)T1數(shù)據(jù)庫(kù)中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---錯(cuò)誤求和時(shí)間讀事務(wù)T1數(shù)據(jù)庫(kù)中A、85解決方法封鎖技術(shù)時(shí)標(biāo)解決方法封鎖技術(shù)86X鎖和S鎖X鎖定義操作XFINDRXRELEASERPX協(xié)議:

任何企圖更新記錄R的事務(wù)必須先執(zhí)行“XFINDR”操作,以獲得對(duì)R的X鎖,才能讀或?qū)懹涗汻;如果未獲準(zhǔn)X鎖,那么這個(gè)事務(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”操作,以獲得對(duì)R的S鎖。當(dāng)事務(wù)獲準(zhǔn)對(duì)R的S鎖后,若要更新記錄R必須用“UPDXR”操作,這個(gè)操作首先把S鎖升級(jí)為X鎖,若成功則更新記錄,否則這個(gè)事務(wù)進(jìn)入等待隊(duì)列。PSC協(xié)議S鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束。X鎖和S鎖X鎖定義S鎖定義87例:使用X鎖封鎖解決數(shù)據(jù)丟失時(shí)間更新事務(wù)T1數(shù)據(jù)庫(kù)中A的值更新事務(wù)T2t0

100

t1XFINDA

t2

XFINDA(失敗)

wait(等待)t3A:=A-30

waitt4

waitt5UPDA

waitt6

70waitt7COMMIT(包括解鎖)

waitt8

XFINDA(重做)t9

A:=A*2t10

UPDAt11

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

100

t1SFINDA

t2

SFINDAt3A:=A-30

t4

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

t6wait

UPDXA(失敗)t7wait

Waitt8wait

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

X

S

NNY

NYY

YYY

T2T1

封鎖的相容矩陣注:XS—

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

封鎖的對(duì)象

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論