什麼是資料庫事務以及特性?

2021-09-02 19:27:08 字數 1083 閱讀 9490

資料庫事務定義:資料庫是面向多使用者的共享機制,所以資料庫管理要具有併發性和同步機制,而事務就是一種多個執行步驟的執行特性,即要麼同時執行相應的操作要麼乙個也不執行。這樣就保證了在多個使用者操作同一資料時資料的一致性。這樣保證資料一致性的操作執行特性就稱為事務。

事務的特性:原子性、一致性、隔離性、永續性

事務的隔離級別

隔離級別:讀未提交、讀已提交、可重複讀、序列化

由隔離級別產生的問題:

髒讀資料

當第乙個使用者修改資料時,第二個使用者在第乙個使用者沒有確認修改之前讀取了該資料,這時可能會出現髒讀現象。如果第乙個使用者確認了修改,第二個使用者檢索不到資料庫中所修改的資料,有時這種現象也稱為丟失修改。

不可重複讀

當某乙個使用者對某一行資料進行第一次讀取過程後,另外乙個使用者對該資料進行了修改,從第乙個使用者的角度來看,如果再次讀取原先的資料會發現與前次不同,這就是不可重複讀現象。

發生幻象

當第乙個使用者檢查某張表的時候,沒有發現某個值x,但是在該使用者還沒操作完成之前,另外乙個使用者插入了乙個x值,結果,導致第乙個使用者認為資料庫沒有x值,而實際上資料庫有這個值x。這就是幻象。

補充:使用者之間相互干擾,出現的以上問題,後果不堪設想。因此資料庫系統採用事務的概念來解決這個問題。

事務屬性

1、傳播行為

2、隔離規則

3、回滾規則

4、事務超時

5、是否唯讀

程式設計式事務管理

將事務管理**嵌到業務方法中來控制事務的提交和回滾

缺點:必須在每個事務操作業務邏輯中包含額外的事務管理**

宣告式事務管理

一般情況下比程式設計式事務好用。將事務管理**從業務方法中分離出來,以宣告的方式來實現事務管理。將事務管理作為橫切關注點,通過aop方法模組化。spring中通過spring aop框架支援宣告式事務管理。

資料庫 什麼是事務?

1 事務 transaction 是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。通過事務,sql server能將邏輯相關的一組操作繫結在一起,以便伺服器保持資料的完整性。2 事務通常是以begin transaction開始,以commit或...

什麼是資料庫事務

事務是一組邏輯操作單元 包含乙個或多個dml操作 使資料從一種狀態變換到另一種狀態 保證所有的事務都做為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當乙個事務中執行多個操作時,要麼所有事務都被提交 commit 那麼這些修改就永久的儲存下來 要麼 資料庫管理系統 將放棄所有所做的修改...

什麼是資料庫事務?

事務是作為乙個邏輯單元執行的一系列操作,要麼一起成功,要麼一起失敗。乙個邏輯工作單元必須有四個屬性,稱為 acid 原子性 一致性 隔離性和永續性 屬性,只有這樣才能成為乙個事務。原子性 事務必須是原子工作單元 對於其資料修改,要麼全都執行,要麼全都不執行。一致性 事務在完成時,必須使所有的資料都保...