天天看點

資料庫必知詞彙:資料庫事務

資料庫事務(Transaction)是通路并可能操作各種資料項的一個資料庫操作序列,這些操作要麼全部執行,要麼全部不執行,是一個不可分割的工作機關。事務由事務開始與事務結束之間執行的全部資料庫操作組成。

在資料庫系統中,事務是工作的離散機關,它可以是修改一個使用者的賬戶餘額,也可以是庫存項的寫操作。在單使用者、單資料庫環境下執行事務比較簡單,但在分布式環境下,維護多個資料庫的完整性就比較複雜。大多數聯機事務處理系統是在大型計算機上實作的,這是由于它的操作複雜,需要快速的輸入/輸出和完善的管理。如果一個事務在多個場地進行修改,那就需要管理機制來防止資料重寫并提供同步。另外還需要具有傳回失效事務的能力,提供安全保障和提供資料恢複能力。

資料庫事務是一個邏輯上的劃分,有的時候并不是很明顯,它可以是一個操作步驟也可以是多個操作步驟。我們可以這樣了解資料庫事物:對資料庫所做的一系列修改,在修改過程中,暫時不寫入資料庫,而是緩存起來,使用者在自己的終端可以預覽變化,直到全部修改完成,并經過檢查确認無誤後,一次性送出并寫入資料庫,在送出之前,必要的話所做的修改都可以取消。送出之後,就不能撤銷,送出成功後其他使用者才可以通過查詢浏覽資料的變化。

一個資料庫事務通常包含了一個序列的對資料庫的讀/寫操作。它的存在包含有以下兩個目的:

  1. 為資料庫操作序列提供了一個從失敗中恢複到正常狀态的方法,同時提供了資料庫即使在異常狀态下仍能保持一緻性的方法。
  2. 當多個應用程式在并發通路資料庫時,可以在這些應用程式之間提供一個隔離方法,以防止彼此的操作互相幹擾。

資料來源:

餘绮芬 王守平 沈宗惠.英漢計算機網絡與通信術語淺解:人民郵電出版社,2000年03月第1版.

高繼民主編.Oracle資料庫SQL和PL/SQL執行個體教程:西安電子科技大學出版社,2004年06月第1版.

Jim Gray, Andreas Reuter 著,孟小峰、于戈 等譯. 《事務處理:概念與技術》(Transaction Prossessing: Concepts and Techniques). 機械工業出版社. 2004年. ISBN 9787111126416.