資料庫系統概念 第14章 事務 知識總結

2021-08-05 18:42:32 字數 1797 閱讀 7624

資料庫系統概念》第14章知識點總結 事務

事務是訪問並可能更新各種資料項的乙個程式執行單元。事務通常由高階資料操作語言或程式語言通過jdbc或

odbc

嵌入式資料庫訪問書寫的使用者程式的執行所引起。事務用形如

begin transaction

和end transaction

語句來界定。

事務的特性

(1)原子性:事務的所有操作在資料庫中要麼全部正確反映出來,要麼完全不反映

(2)一致性:隔離執行事務時保持資料庫的一致性

(3)永續性:乙個事務成功完成後,它對資料庫的改變必須是永久的,即使出現系統故障

(4)隔離性:儘管多個事務可能併發執行,但系統保證,對於任何一對事務ti和

tj,在

ti看來,

tj或者在

ti開始之前已經完成執行,或者在

ti完成之後開始執行。因此,每個事務都感覺不到系統中有其他事務在併發地執行。

乙個簡單的事務模型

read(

x):從資料庫把資料項

x傳送到執行

read

操作的事務的主存緩衝區的乙個也稱為

x的變數中

write(

x):從執行

write

的事務的主存緩衝區的變數

x中把資料項

x傳回資料庫中

儲存結構

易失性儲存器:通常資訊在系統崩潰後不會倖存

非易失性儲存器:資訊會在系統崩潰後倖存

穩定性儲存器:資訊永遠不會丟失

事務原子性和永續性

事務的五個狀態

活動的:初始狀態,事務執行時處於這個狀態

部分提交的:最後乙個語句執行

失敗的:發現偵察和那個的執行不能繼續後

中止的:事務回滾並且資料庫已恢復到事務開始執行前的狀態後

提交的:成功完成後

事務進入中止態時,系統的兩種操作

重啟事務:僅當引起事務中止的是硬體錯誤或不是由事務的內部邏輯所產生的軟體錯誤。

殺死事務:這樣做通常是由於事務的內部邏輯造成的錯誤。

併發事務的好處

提高吞吐量和資源利用率

減少等待時間

事務隔離性和原子性

可恢復排程:對於每對事務ti和

tj,如果

tj讀取了之前由

ti所寫的資料項,則

ti先於

tj提交。

無級聯排程:對於每對事務ti和

tj,如果

tj讀取了先前由

ti所寫的資料項,則

ti必須在

tj這一讀操作前提交

事務隔離性級別

可序列化:通常保證可序列化排程

可重複讀:只允許讀取已提交資料

已提交讀:只允許讀取已提交資料

未提交讀:允許讀取未提交資料

以上所有隔離性級別都不允許髒寫,即如果乙個資料項已經被另乙個尚未提交或中止的事務寫入,則不允許對該資料項執行寫操作

隔離性級別的實現

共享鎖:用於事務讀的資料項,s

排它鎖:用於事務寫的資料項,x

時間戳

多版本和快照隔離

《資料庫系統概念》14 靜態雜湊

順序檔案組織的缺點之一是必須通過訪問索引或使用二分法搜尋來定位資料,這需要較多的i o操作。基於雜湊技術的檔案組織方式則不需要訪問索引結構,雜湊也提供了一種組織索引的方式。在雜湊 hash 技術中,用桶 bucket 來表示能儲存一條或多條記錄的儲存單元。如果k代表所有搜尋碼的集合,b代表所有buc...

資料庫系統概念 回顧

資料抽象一般分三層 最底層 物理層physical level 描述資料實際上是怎樣儲存的 中間層 邏輯層logic level 描述資料庫中儲存什麼資料及這些資料間存在什麼關係 最頂層 檢視層view level 只描述整個資料庫的某個部分 關係模型 relational model logic ...

SQLServer資料庫系統概念

資料模型是一種抽象模型,現實世界中的客觀事物是彼此相互聯絡的 1 資料模型是一組整合的概念,使用者描述和操作組織內的資料,資料間的聯絡以及對資料的約束,它包含了資料結構,資料操作和完整性約束 2 概念模型又被稱為實體 聯絡 e r 模型,主要用於描述資訊世界中實體的聯絡 在概念模型中用於描述其資料的...