事務的四大特性

2021-10-23 05:20:41 字數 1245 閱讀 3077

事物的四大特性acdi,就是原子性(atomicity)、一致性(consistency)、永續性(durability)、隔離性(isolation)

原子性:

原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何就是事務的一致性。

一致性一致性是指事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀態。

拿轉賬來說,假設使用者a和使用者b兩者的錢加起來一共是5000,那麼不管a和b之間如何轉賬,轉幾次賬,事務結束後兩個使用者的錢相加起來應該還得是5000,這就是事務的一致性。

隔離性隔離性是當多個使用者併發訪問資料庫時,比如操作同一張表時,資料庫為每乙個使用者開啟的事務,不能被其他事務的操作所干擾,多個併發事務之間要相互隔離。

即要達到這麼一種效果:對於任意兩個併發的事務t1和t2,在事務t1看來,t2要麼在t1開始之前就已經結束,要麼在t1結束之後才開始,這樣每個事務都感覺不到有其他事務在併發地執

行。永續性

永續性是指乙個事務一旦被提交了,那麼對資料庫中的資料的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。

例如我們在使用jdbc運算元據庫時,在提交事務方法後,提示使用者事務操作完成,當我們程式執行完成直到看到提示後,就可以認定事務以及正確提交,即使這時候資料庫出現了問題,

也必須要將我們的事務完全執行完成,否則就會造成我們看到提示事務處理完畢,但是資料庫因為故障而沒有執行事務的重大錯誤。

隔離級別有四種

讀未提交 讀已提交 可重複讀取 序列化

讀未提交(read uncommitted):只處理更新丟失。如果乙個事務已經開始寫資料,則不允許其他事務同時進行寫操作,但允許其他事務讀此行資料。可通過「排他寫鎖」實現。

讀已提交(read committed):處理更新丟失、髒讀。讀取資料的事務允許其他事務繼續訪問改行資料,但是未提交的寫事務將會禁止其他事務訪問改行。可通過「瞬間共享讀鎖」和「排他

寫鎖」實現。

可重複讀取(repeatable read):處理更新丟失、髒讀和不可重複讀取。讀取資料的事務將會禁止寫事務,但允許讀事務,寫事務則禁止任何其他事務。可通過「共享讀鎖」和「排他寫鎖」

實現。序列化(serializable):提供嚴格的事務隔離。要求失去序列化執行,事務只能乙個接乙個地執行,不能併發執行。僅僅通過「行級鎖」是無法實現事務序列化的,必須通過其他機制保證

新插入的資料不會被剛執行查詢操作的事務訪問到。

事務四大特性

1 原子性 將事務中所做的操作 成乙個原子單元,即對於事務所進行的資料修改等操作,要麼全部執行,要麼全部不執行。2 一致性 事務執行的結果必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。事務在完成時,必須使所有的資料都保持一致狀態,而且在相關資料中,所有規則都必須應用於事務的修改,以保持所有資料...

事務四大特性

資料庫事務有四大特性,分別是 原子性 一致性 隔離性和永續性。原子性 atomicity 事務是資料庫的邏輯工作單位,它對資料庫的修改要麼全部執行,要麼全部不執行。一致性 consistemcy 事務前後,資料庫的狀態都滿足所有的完整性約束。隔離性 isolation 併發執行的事務是隔離的,乙個不...

事務四大特性

事務四大特性 acid 1 原子性 atomicity 化學中的原子指不可再分的基本微粒,資料庫中原子性強調事務是乙個不可分割的整體,事務開始後所有操作要麼全部成功,要麼全部失敗,不可能停滯在中間某個環節。如果事務執行過程 錯就會回滾到事務開始前的狀態,所有的操作就像沒有發生一樣不會對資料庫有任何影...