上海大學(xué)數(shù)據(jù)庫2部分概念整理資料_第1頁
上海大學(xué)數(shù)據(jù)庫2部分概念整理資料_第2頁
上海大學(xué)數(shù)據(jù)庫2部分概念整理資料_第3頁
上海大學(xué)數(shù)據(jù)庫2部分概念整理資料_第4頁
上海大學(xué)數(shù)據(jù)庫2部分概念整理資料_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章數(shù)據(jù)庫管理一、本章重要概念1)事務(wù)的定義, COMMIT 和 ROLLBACK 的語義,事務(wù)是由若干 數(shù)據(jù)庫操作 組成的 一個邏輯工作單位 ,是一個不可分割的工作單位。一個應(yīng)用程序可以包括多個事務(wù)。事務(wù)以BEGINTRANSACTION語句的成功執(zhí)行開始,以COMMIT或ROLLBACK語句的成功執(zhí)行結(jié)束。COMMIT (提交)語句表示一事務(wù)的全部操作都已成功,它對 DB 的所有更新可真正寫到 DB 中。ROLLBACK (回退)語句表示事務(wù)沒有成功地完成全部操作,系統(tǒng)將撤消該事務(wù)對 DB 已作的更新事務(wù)的 ACID 性質(zhì)事務(wù)有四個重要性質(zhì):原子性、一致性、隔離性和持久性。通常稱為“AC

2、ID性質(zhì)”。原子性( atomicity):事務(wù)對數(shù)據(jù)庫的更新要么全部起作用,要么完全不起作用。DBMS 的事務(wù)管理子系統(tǒng)一致性( consistency):事務(wù)將數(shù)據(jù)庫從一個一致性狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€一致性狀態(tài)。程序員(正確地編寫事務(wù))DBMS 的完整性子系統(tǒng)隔離性( isolation ):事務(wù)相互隔離,在多個事務(wù)并發(fā)執(zhí)行時,任一事務(wù)的更新操作在該事務(wù)成功提交前對其他事務(wù)都是不可見的。DBMS 的并發(fā)控制子系統(tǒng)持久性( durability ):事務(wù)一旦成功提交,其對數(shù)據(jù)庫的更新就永久有效,不會因系統(tǒng)崩潰等而丟失。 DBMS 的恢復(fù)管理子系統(tǒng)事務(wù)的狀態(tài)變遷圖。2)存儲器類型,穩(wěn)定存儲器的實現(xiàn),

3、數(shù)據(jù)傳送過程。3)恢復(fù)的定義、系統(tǒng)能把數(shù)據(jù)庫從被破壞、不正確的狀態(tài)、恢復(fù)到最近一個正確的狀態(tài),DBMS的這種能力稱為數(shù)據(jù)庫的可恢復(fù)性?;驹瓌t和實現(xiàn)方法,恢復(fù)的基本策略:冗余(數(shù)據(jù)重復(fù)存儲)實現(xiàn)方法:備份定期對數(shù)據(jù)庫復(fù)制或轉(zhuǎn)儲 (靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲, 海量轉(zhuǎn)儲和增量轉(zhuǎn)儲)。日志執(zhí)行事務(wù)時,記錄其開始、結(jié)束和對DB 的每次更新操作。故障的類型,事務(wù)故障非預(yù)期事務(wù)故障:運算錯誤、數(shù)據(jù)錯誤、死鎖等,故障事務(wù)夭折可預(yù)期事務(wù)故障:在事務(wù)中可預(yù)期出錯的地方所加的ROLLBACK 語句系統(tǒng)故障: 硬件、系統(tǒng)軟件出錯,停電等,事務(wù)執(zhí)行被打斷,內(nèi)存中數(shù)據(jù)被破壞介質(zhì)故障: 磁頭、磁盤控制器或磁盤損壞,盤上數(shù)據(jù)丟失

4、,病毒破壞等,DB遭破壞檢查點機制,DBMS 定時設(shè)置檢查點, 在檢查點時刻才真正做到把對DB 的修改寫到磁盤, 并在日志文件寫入一條檢查點記錄。根據(jù)日志文件建立重做隊列和事務(wù)撤消隊列。對重做隊列中的事務(wù)進行REDO 處理,對撤消隊列中的事務(wù)進行UNDO 處理。REDO 和 UNDO 操作,運行記錄優(yōu)先原則。( 4)并發(fā)操作帶來的三個問題,丟失更新問題: 一事務(wù)所作的更新操作因另一事務(wù)的操作而丟失。讀“臟數(shù)據(jù)”問題: 又稱為未提交依賴,指一事務(wù)取用了別的事務(wù)未提交隨后又被撤消的數(shù)據(jù)。不一致分析問題: 指事務(wù)從數(shù)據(jù)庫中讀取了處于不一致狀態(tài)的數(shù)據(jù),并因此進行了不一致的分析。鎖、排它型封鎖(寫鎖,

5、X 封鎖):一個事務(wù)對數(shù)據(jù)對象加了X 鎖后,在它釋放 X 鎖之前不允許其他事務(wù)再對該數(shù)據(jù)對象加任何鎖。共享型鎖(讀鎖, S 封鎖) :一個事務(wù)對數(shù)據(jù)對象加了 S 鎖后,允許其他事務(wù)再對該數(shù)據(jù)對象加 S 鎖,但在它釋放 S 鎖之前不允許其他事務(wù)加 X 鎖。PX協(xié)議、事務(wù)若要更新數(shù)據(jù),則必須先提出對此數(shù)據(jù)對象的X 封鎖請求;事務(wù)如果未獲準(zhǔn) X 封鎖,那么進入等待狀態(tài),直至獲準(zhǔn)在此數(shù)據(jù)對象上的X 封鎖,才能繼續(xù)執(zhí)行。PX 協(xié)議可以解決因多事務(wù)同時更新同一數(shù)據(jù)對象而引起的更新丟失問題。任何事務(wù) T 在更新記錄 R 之前必須先執(zhí)行“ XFIND R ”操作,以獲得對 R 的 X 鎖,才能讀或?qū)懹涗汻;如

6、果未獲準(zhǔn) X 鎖,那么這個事務(wù)進入等待狀態(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”操作 ,這個操作首先 把

7、 S 鎖升級為 X 鎖,若成功則更新記錄,否則這個事務(wù)進入等待隊列。PSC:PS 協(xié)議加上 S 鎖的解除操作應(yīng)該合并到事務(wù)的結(jié)束(COMMIT 或 ROLLBACK )操作中?;铈i、出現(xiàn)某個事務(wù)永遠處于等待狀態(tài)得不到執(zhí)行的現(xiàn)象。避免活鎖的一個簡便方法是采用“先來先服務(wù)” 排隊的策略。 封鎖子系統(tǒng)按請求在時間上的先后次序?qū)κ聞?wù)排序,數(shù)據(jù)對象上原有的鎖一釋放,即執(zhí)行隊列中第一個事務(wù)的封鎖請求。餓死和死鎖,出現(xiàn)若干事務(wù)因循環(huán)等待而無法繼續(xù)執(zhí)行的現(xiàn)象。并發(fā)調(diào)度,串行調(diào)度,并發(fā)調(diào)度的可串行化,兩段封鎖法,事務(wù)的執(zhí)行次序稱為“調(diào)度” 。若多個事務(wù)依次執(zhí)行,則稱為事務(wù)的串行調(diào)度 。若設(shè)法(例如利用分時的方法

8、)多個事務(wù)同時被處理(即交錯執(zhí)行) ,則稱為事務(wù)的并發(fā)調(diào)度 。在應(yīng)用環(huán)境中,事務(wù)的任一串行調(diào)度都是有效的(正確的) ,但是事務(wù)的并發(fā)調(diào)度不一定是正確的,有可能產(chǎn)生前面提到的不一致性問題??纱谢拍钊绻粋€并發(fā)調(diào)度與某一串行調(diào)度具有相同的執(zhí)行結(jié)果, 那么稱這個并發(fā)調(diào)度是“可串行化的調(diào)度” (即正確的并發(fā)調(diào)度),否則是不可串行化的調(diào)度。兩段封鎖協(xié)議事務(wù)在對數(shù)據(jù)對象存取之前必須先獲得對此數(shù)據(jù)對象的封鎖,事務(wù)在解除了一個鎖之后不再獲得任何鎖。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í)行,測試其是否違反完整性約束條件;若有違反,則按進行預(yù)定的處理。完整性規(guī)則的組成。每個規(guī)則包括三部分:觸發(fā)條件 規(guī)定何時執(zhí)行本規(guī)則進行檢查;約束條件 又稱謂詞,定義應(yīng)滿足的條件;否則子句 規(guī)定不滿足條件時該作的處理。域完整性規(guī)則:定義屬性取值范圍。域聯(lián)系的規(guī)則:定義屬性間的聯(lián)系、影響和約束。關(guān)系完整性規(guī)則:定義更新操作

10、對值的影響和限制。SQL 中的三大類完整性約束,完整性約束分為三大類:域約束用“ CREATE DOMAIN ”語句定義新的域 ,并可出現(xiàn) CHECK 子句。非空值約束( NOT NULL )基于屬性的檢查子句 (CHECK):基本表約束主鍵約束可用主鍵約束來描述實體完整性規(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 (置缺省值) 檢查約束對單個關(guān)系的元組值加以約束。對表內(nèi)元組說明約束時,在 CREATE TABLE 語句中的屬性表、主碼、外部碼的說明之后加上 CHECK 子句。每當(dāng)對元組進行插入或修改操作時, 都要對 CHECK 子句的條件表達式求值, 如果條件為假, 違背了約束, 系統(tǒng)將

12、拒絕該插入或修改操作。CHECK 子句的一般格式為:CHECK 斷言定義:CREATE ASSERTION 斷言名CHECK (條件)撤消:DROP ASSERTION 斷言名斷言也可以在關(guān)系定義中用檢查子句形式定義, 但是檢查子句不一定能保證完整性約束徹底實現(xiàn),而斷言能保證不出差錯。 SQL3 中的觸發(fā)器技術(shù)。觸發(fā)器( Trigger)是一個能由系統(tǒng)自動執(zhí)行對數(shù)據(jù)庫修改的語句。觸發(fā)器有時也稱為主動規(guī)則(Active Rule )或事件條件動作規(guī)則 (Event ConditionActionRule,ECA 規(guī)則)。(1)觸發(fā)時間 : BEFORE、 AFTER 、 INSTEADOF ;(

13、2)觸發(fā)事件 :有三類 - UPDATE 、 DELETE 、INSERT(3)目標(biāo)表名 : 當(dāng)目標(biāo)表的數(shù)據(jù)被更新 (插入、刪除、修改)時 , 將激活觸發(fā)器。(4)舊值和新值的別名表 : REFERENCES 子句觸發(fā)器有兩類:元組級觸發(fā)器和語句級觸發(fā)器。元組級觸發(fā)器帶 “ FOREACHROW ” 子句,而語句級觸發(fā)器沒有;元組級觸發(fā)器對每一個修改的元組都要檢查一次,而語句級觸發(fā)器對SQL 語句的執(zhí)行結(jié)果去檢查。語句級觸發(fā)器,不能直接引用修改前后的元組,但可以引用修改前后的元組集。舊的元組集由被刪除的元組或被修改元組的舊值組成,而新的元組集由插入的元組或被修改元組的新值組成。INSTEAD

14、OF 表示:在觸發(fā)事件發(fā)生時 ,只要滿足 WHEN 條件,就執(zhí)行動作部分的操作,而觸發(fā)事件的操作不再執(zhí)行。6)安全性的定義、級別,定義是指保護 DB ,防止不合法的使用,以免數(shù)據(jù)的泄漏、非法更改和破壞。安全性級別設(shè)置安全措施所牽涉的層次。分成環(huán)境級、職員級、 OS 級、網(wǎng)絡(luò)級和 DBS 級等五個級別。這里只討論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 中的安全性機制(視圖、SQL 用戶權(quán)限及操作 )視圖視圖

15、是虛表,視圖機制使DBS 具有三個優(yōu)點:數(shù)據(jù)安全性、邏輯獨立性、用戶操作簡便性。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)):引入了路徑表達式、嵌套與解除嵌套等概念。在傳統(tǒng)的關(guān)系數(shù)據(jù)模型基礎(chǔ)上,提供元組、 數(shù)組、集合一類豐富的數(shù)據(jù)類型以及處理新

16、的數(shù)據(jù)類型操作的能力,并且有繼承性和對象標(biāo)識等面向?qū)ο筇攸c。OODB 中的 SELECT 語句( ODMG 標(biāo)準(zhǔn) OQL ):有了更多的擴充,并與宿主語言語句混合起來,可以表達更為復(fù)雜的查詢操作。( 2)平面關(guān)系模型,嵌套關(guān)系模型,復(fù)合對象模型,引用類型,對象聯(lián)系圖的成分及表示方法,對象聯(lián)系圖數(shù)據(jù)的泛化 /細化,繼承性。數(shù)據(jù)的泛化細化:對概念之間聯(lián)系進行抽象的一種方法?!胺夯保悍Q較高層上抽象是較低層上抽象的“泛化” 。(在較低層上抽象表達與之聯(lián)系的較高層上的抽象, )“細化”:稱較低層上抽象是較高層上抽象的 “細化”。這種細化聯(lián)系是一種 “是”( is a)的聯(lián)系。子類具有 繼承性 ,繼承超類的特征 ,而子類本身又有其它的特征。泛化 /細化聯(lián)系用泛化邊 (雙線箭頭 )表示 ,泛化邊從子類指向超類。3) OO 的數(shù)據(jù)類型系統(tǒng) :基本類型,五種復(fù)合類型,引用類型。一、基本數(shù)據(jù)類型 :整型、浮點型、字符型、字符串、布爾型和枚舉型;二、

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論