當(dāng)前位置: 首頁(yè) > 自學(xué)考試 > 自學(xué)考試備考資料 > 2013年自考《數(shù)據(jù)庫(kù)原理》串講-數(shù)據(jù)庫(kù)保護(hù)

2013年自考《數(shù)據(jù)庫(kù)原理》串講-數(shù)據(jù)庫(kù)保護(hù)

更新時(shí)間:2012-12-10 10:23:23 來(lái)源:|0 瀏覽0收藏0

自學(xué)考試報(bào)名、考試、查分時(shí)間 免費(fèi)短信提醒

地區(qū)

獲取驗(yàn)證 立即預(yù)約

請(qǐng)?zhí)顚?xiě)圖片驗(yàn)證碼后獲取短信驗(yàn)證碼

看不清楚,換張圖片

免費(fèi)獲取短信驗(yàn)證碼

  第六章 數(shù)據(jù)庫(kù)保護(hù)

  本章不是重點(diǎn)章節(jié),主要內(nèi)容包括數(shù)據(jù)庫(kù)保護(hù)的四種措施,數(shù)據(jù)庫(kù)的恢復(fù)、并發(fā)控制、完整性和安全性。了解這些內(nèi)容及其在SQL語(yǔ)言中的實(shí)現(xiàn)方式。

  一、數(shù)據(jù)庫(kù)的恢復(fù)( 領(lǐng)會(huì) )

  1、 事務(wù)的概念 : 事務(wù)是一個(gè)操作序列 .這些操作要么什么都做,要么都不做,是一個(gè) 不可分割 的工作單位。事務(wù)以BEGIN TRANSACTION語(yǔ)句開(kāi)始,以COMMIT(提交)語(yǔ)句或ROLLBACK(回退或撤消)語(yǔ)句結(jié)束。

  一個(gè)程序的執(zhí)行可通過(guò)若干事務(wù)的執(zhí)行序列來(lái)完成。

  2、 事務(wù)的性質(zhì) : 原子性 (atomicity)、 一致性 (consistency)、 隔離性 (isolation)和 持久性 (durability)。稱為事務(wù)的ACID性質(zhì)。

  通過(guò)教材的例子來(lái)理解事務(wù)的性質(zhì) .

  3、故障類型和恢復(fù)方法

  4、恢復(fù)的基本原則和實(shí)現(xiàn)方法

  恢復(fù)的基本原則 很簡(jiǎn)單,就是“ 冗余 ”,即數(shù)據(jù)的重復(fù)存儲(chǔ) .

  實(shí)現(xiàn)方法有:

  (1)定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行 復(fù)制 或轉(zhuǎn)儲(chǔ)(dump)。注意幾個(gè)概念:靜態(tài)轉(zhuǎn)儲(chǔ)、動(dòng)態(tài)轉(zhuǎn)儲(chǔ)、海量轉(zhuǎn)儲(chǔ)和增量轉(zhuǎn)儲(chǔ)。

  (2)建立“ 日志 ”文件。

  (3) 恢復(fù) .發(fā)生故障時(shí)有兩種處理方法,如數(shù)據(jù)庫(kù)已破壞,則由DBA裝入最近備份的數(shù)據(jù)庫(kù)然后利用“日志文件”執(zhí)行REDO(重做)操作。如數(shù)據(jù)庫(kù)未被損壞,但某些數(shù)據(jù)不可靠,則系統(tǒng)會(huì)自動(dòng)執(zhí)行UNDO操作恢復(fù)數(shù)據(jù)。

  5、 運(yùn)行記錄優(yōu)先原則 (即 先記錄,再更新,先記完,再結(jié)束 )

  (1)至少要等相應(yīng)的運(yùn)行記錄已經(jīng)寫(xiě)入“日志”文件后,才能允許事務(wù)往數(shù)據(jù)庫(kù)在寫(xiě)數(shù)據(jù)。

  (2)直到事務(wù)的所有運(yùn)行記錄都已寫(xiě)入運(yùn)行“日志”文件后,才能允許事務(wù)完成“END TRANSACTION”處理。

  6、SQL中的恢復(fù)操作,可上機(jī)觀察。

  二、數(shù)據(jù)庫(kù)的并發(fā)控制( 領(lǐng)會(huì) )

  1、并發(fā)控制帶來(lái)的三類問(wèn)題:

  (1)丟失更新的問(wèn)題

  (2)不一致分析問(wèn)題

  (3)“臟數(shù)據(jù)”的讀出。(在數(shù)據(jù)庫(kù)技術(shù)中,未提交的隨后又被撤消的數(shù)據(jù)為“臟數(shù)據(jù)”。)

  2、為解決并發(fā)控制帶來(lái)的問(wèn)題,通常要采用 封鎖 (locking)技術(shù),常用的封鎖有:排它型封鎖( X封鎖) 和共享型封鎖( S封鎖 )兩種。

  X封鎖的規(guī)則稱為 PX協(xié)議 ,其內(nèi)容為:任何企圖更新記錄R的事務(wù)必須先執(zhí)行LOCK X(R)操作,以獲得對(duì)該記錄進(jìn)行尋址的能力,并對(duì)它取得X封鎖。如果未獲得X封鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)X封鎖,事務(wù)繼續(xù)進(jìn)行。

  簡(jiǎn)記為: 先鎖X,再執(zhí)行,取不到,就等待。

  PXC協(xié)議 :它由PX協(xié)議及一條規(guī)則“X封鎖必須保留到 事務(wù)終點(diǎn) (COMMIT或ROLLBACK)”組成。

  S封鎖的規(guī)則稱為 PS協(xié)議 :其內(nèi)容為:任何要更新記錄R的事務(wù)必須先執(zhí)行LOCK S(R)操作,以獲得對(duì)該記錄尋址的能力并對(duì)它取得S封鎖。如果未獲準(zhǔn)S封鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)S封鎖,事務(wù)才繼續(xù)進(jìn)行下去。當(dāng)事務(wù)獲準(zhǔn)對(duì)記錄R的要封鎖后,在記錄R修改前必須把S封鎖升級(jí)為X封鎖。

  簡(jiǎn)記為: 先鎖S,再執(zhí)行,鎖不到,就等待,若要修改則升X .

  PSC協(xié)議:由PS協(xié)議和“將S封鎖保持到事務(wù)終點(diǎn)”組成。

  3、 活鎖 :是指某個(gè)事務(wù)永遠(yuǎn)處于等待狀態(tài),得不到執(zhí)行的現(xiàn)象。避免活鎖的方法是采用“先來(lái)先服務(wù)”策略。

  死鎖 :有兩個(gè)或以上的事務(wù)處于等待狀態(tài),每個(gè)事務(wù)都在等待另一個(gè)事務(wù)解除封鎖,它才能繼續(xù)執(zhí)行下去,結(jié)果任何一個(gè)事務(wù)都無(wú)法執(zhí)行,這種現(xiàn)象就是死鎖。

  解除死鎖的方法是由DBMS中的“死鎖測(cè)試程序”來(lái)檢查,如發(fā)現(xiàn)死鎖則犧牲一個(gè)事務(wù),并做回退操作,解除它的所有封鎖。

  4、 兩段封鎖法 ( 識(shí)記 )

  兩段封鎖協(xié)議規(guī)定所有事務(wù)都要遵守下列規(guī)則:(1)在對(duì)任何數(shù)據(jù)進(jìn)行讀寫(xiě)操作之前,事務(wù)首先要獲得對(duì)該數(shù)據(jù)的封鎖;(2)在釋放一個(gè)封鎖之后,事務(wù)不再獲得任何其他封鎖。

  針對(duì)課本的例子來(lái)理解。

  三、數(shù)據(jù)庫(kù)的完整性( 領(lǐng)會(huì) )

  1、數(shù)據(jù)庫(kù)的 完整性 是指數(shù)據(jù)的 正確性和相容性 .數(shù)據(jù)庫(kù)中數(shù)據(jù)發(fā)生錯(cuò)誤,往往是由非法更新引起的。

  數(shù)據(jù)庫(kù)完整性是通過(guò)DBMS的 完整性子系統(tǒng) 實(shí)現(xiàn)的,它有兩個(gè)功能:

  (1)監(jiān)督事務(wù)的執(zhí)行,并測(cè)試是否違反完整性規(guī)則。

  (2)如有違反,則采取恰當(dāng)?shù)牟僮?,如拒絕、報(bào)告違反情況,改正錯(cuò)誤等方法進(jìn)行處理。

  數(shù)據(jù)庫(kù)完整性子系統(tǒng) 是根據(jù)“ 完整性規(guī)則集 ” 工作的,這些完整性規(guī)則包括: 域 完整性規(guī)則、 域聯(lián)系 的規(guī)則、 關(guān)系完整性 規(guī)則(一個(gè)比一個(gè)大)

  2、SQL中的完整性約束

  在SQL中,表達(dá)完整性約束的規(guī)則有 主鍵約束 、 外鍵約束 、 屬性值約束 和 全局約束等 多種形式。

  主鍵約束:可用主鍵子句或主鍵短語(yǔ) PRIMARY KEY 來(lái)定義。

  外鍵約束:可用外鍵子句來(lái)定義如 FOREIGN KEY (S#) REFERNCE S(S#)

  屬性值約束:包括非空值約束( NOT NULL )和基于屬性的檢查子句( CHECK ) 及域約束子句 如 CREAT DOMAIN AGE SMALLINT CHECK (value>10)

  全局約束:包括基于元組的檢查子句( CHECK )和斷言( CREATE ASSERTION 斷言名 CHECK 條件)。

  四、數(shù)據(jù)庫(kù)的安全性( 識(shí)記 )

  數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)防止不合法的使用,以免數(shù)據(jù)的泄漏、非法更改和破壞。

  1、安全性級(jí)別:包括 環(huán)境級(jí) 、 職員級(jí) 、 OS級(jí) 、 網(wǎng)絡(luò)級(jí) 和 數(shù)據(jù)庫(kù)系統(tǒng)級(jí) .

  2、用戶或應(yīng)用程序 使用數(shù)據(jù)庫(kù)的方式稱為權(quán)限 ,權(quán)限的種類:

  訪問(wèn)數(shù)據(jù)權(quán)限: 讀、插入、修改、刪除 四種

  修改數(shù)據(jù)庫(kù)模式權(quán)限: 索引 (創(chuàng)建或刪除索引)、 資源 (創(chuàng)建新關(guān)系)、 修改 (增刪關(guān)系結(jié)構(gòu)屬性)和 撤消權(quán)限 (撤消關(guān)系)

  3、權(quán)限的轉(zhuǎn)授與回收:畫(huà)一個(gè) 權(quán)限圖 ,只要根結(jié)點(diǎn)到用戶結(jié)點(diǎn)之間存在一條 路徑 ,那么它就有權(quán)限,回收時(shí)就是刪去某些路徑。

  4、SQL中的安全性控制

  SQL中有兩個(gè)安全機(jī)制:一是 視圖機(jī)制 、二是 授權(quán)子系統(tǒng) .

  視圖是從一個(gè)或幾個(gè) 基本表 導(dǎo)出的表,是 虛表 ,視圖定義后可以像基本表一樣用于查詢和刪除,但其 更新操作(增、刪、改) 會(huì)受到限制。

  視圖機(jī)制 把用戶可以使用的數(shù)據(jù)定義在視圖中,這樣用戶就不能使用視圖定義外的其他數(shù)據(jù),從而保證了數(shù)據(jù)庫(kù)的安全性。視圖機(jī)制使系統(tǒng)具有 三個(gè)優(yōu)點(diǎn) : 數(shù)據(jù)安全性 、 數(shù)據(jù)獨(dú)立性 和 操作簡(jiǎn)便性 .

  授權(quán)機(jī)制 可以保證用戶只能進(jìn)行其權(quán)限范圍內(nèi)的操作。

  6、數(shù)據(jù)加密可更好地保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全性,采用加密算法給把源文變?yōu)槊芪膩?lái)實(shí)現(xiàn)。常用的加密算法有“ 替換方法 ”和 明鍵加密法 .

  同時(shí),為保證數(shù)據(jù)庫(kù)的安全,也應(yīng)注意自然環(huán)境的安全性。

?2013年高教自考網(wǎng)絡(luò)輔導(dǎo)課程招生簡(jiǎn)章

?2013年1月自考報(bào)名

更多信息請(qǐng)?jiān)L問(wèn):自學(xué)考試頻道    自學(xué)考試論壇

分享到: 編輯:環(huán)球網(wǎng)校

資料下載 精選課程 老師直播 真題練習(xí)

自學(xué)考試資格查詢

自學(xué)考試歷年真題下載 更多

自學(xué)考試每日一練 打卡日歷

0
累計(jì)打卡
0
打卡人數(shù)
去打卡

預(yù)計(jì)用時(shí)3分鐘

環(huán)球網(wǎng)校移動(dòng)課堂APP 直播、聽(tīng)課。職達(dá)未來(lái)!

安卓版

下載

iPhone版

下載

返回頂部