資料庫中什麼叫事務其特點是什麼,簡述資料庫中事務的概念和特點?

2021-03-03 20:44:12 字數 2829 閱讀 6979

1樓:夢中夢

【事務】:是使用者定義的一個資料庫操作序列,這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。

在關聯式資料庫中,一個事務可以是一條sql語句,也可以是多條sql語句。

【特點】:

原子性、一致性、隔離性、持續性

【舉個例子】

假設,定義了一個銀行轉賬的事務,以兩個銀行賬號裡面的金錢為例,裡面的錢要麼一個增加多少,一個減少多少,要麼就是都不增不減,不可能一個多但另一個不減少,你懂得。。。。

希望可以幫你o(∩_∩)o

簡述資料庫中事務的概念和特點?

2樓:真心真意珍惜

是指作為單個邏輯工作單元執行的一系列操作,要麼完整地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。

一個邏輯工作單元要成為事務,必須滿足所謂的acid(原子性、一致性、隔離性和永續性)屬性。

資料庫事務四大特性是什麼?

3樓:狼道刀

1、原子性(atomicity)

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

2、 一致性(consistency)

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

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

3、隔離性(isolation)

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

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

4、永續性(durability)

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

擴充套件資料

在資料庫中,關於讀資料的概念:

1、髒讀(dirty reads):所謂髒讀就是對髒資料(drity data)的讀取,而髒資料所指的就是未提交的資料。也就是說,一個事務正在對一條記錄做修改,在這個事務完成並提交之前,這條資料是處於待定狀態的(可能提交也可能回滾)。

這時,第二個事務來讀取這條沒有提交的資料,並據此做進一步的處理,就會產生未提交的資料依賴關係。這種現象被稱為髒讀。

2、不可重複讀(non-repeatable reads):一個事務先後讀取同一條記錄,但兩次讀取的資料不同,我們稱之為不可重複讀。也就是說,這個事務在兩次讀取之間該資料被其它事務所修改。

3、幻讀(phantom reads):一個事務按相同的查詢條件重新讀取以前檢索過的資料,卻發現其他事務插入了滿足其查詢條件的新資料,這種現象就稱為幻讀。

4樓:等待的角落

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

原子性、一致性、分離性、永續性

(1) 原子性

事務的原子性指的是,事務中包含的程式作為資料庫的邏輯工作單位,它所做的對資料修改操作要麼全部執行,要麼完全不執行。這種特性稱為原子性。

事務的原子性要求,如果把一個事務可看作是一個程式,它要麼完整的被執行,要麼完全不執行。就是說事務的操縱序列或者完全應用到資料庫或者完全不影響資料庫。這種特性稱為原子性。

假如使用者在一個事務內完成了對資料庫的更新,這時所有的更新對外部世界必須是可見的,或者完全沒有更新。前者稱事務已提交,後者稱事務撤消(或流產)。dbms必須確保由成功提交的事務完成的所有操縱在資料庫內有完全的反映,而失敗的事務對資料庫完全沒有影響。

(2) 一致性

事務的一致性指的是在一個事務執行之前和執行之後資料庫都必須處於一致性狀態。這種特性稱為事務的一致性。假如資料庫的狀態滿足所有的完整性約束,就說該資料庫是一致的。

一致性處理資料庫中對所有語義約束的保護。假如資料庫的狀態滿足所有的完整性約束,就說該資料庫是一致的。例如,當資料庫處於一致性狀態s1時,對資料庫執行一個事務,在事務執行期間假定資料庫的狀態是不一致的,當事務執行結束時,資料庫處在一致性狀態s2。

(3) 分離性

分離性指併發的事務是相互隔離的。即一個事務內部的操作及正在操作的資料必須封鎖起來,不被其它企圖進行修改的事務看到。

分離性是dbms針對併發事務間的衝突提供的安全保證。dbms可以通過加鎖在併發執行的事務間提供不同級別的分離。假如併發交叉執行的事務沒有任何控制,操縱相同的共享物件的多個併發事務的執行可能引起異常情況。

dbms可以在併發執行的事務間提供不同級別的分離。分離的級別和併發事務的吞吐量之間存在反比關係。較多事務的可分離性可能會帶來較高的衝突和較多的事務流產。

流產的事務要消耗資源,這些資源必須要重新被訪問。因此,確保高分離級別的dbms需要更多的開銷。

(4)永續性

永續性意味著當系統或介質發生故障時,確保已提交事務的更新不能丟失。即一旦一個事務提交,dbms保證它對資料庫中資料的改變應該是永久性的,耐得住任何系統故障。永續性通過資料庫備份和恢復來保證。

永續性意味著當系統或介質發生故障時,確保已提交事務的更新不能丟失。即對已提交事務的更新能恢復。一旦一個事務被提交,dbms必須保證提供適當的冗餘,使其耐得住系統的故障。

所以,永續性主要在於dbms的恢復效能。

事務有什麼特性,資料庫事務的特性是什麼?

在工作中,經常會接觸到事務這個概念。涉及到事務,大家首先想到的就是事務的四個特性 acid。1.原子性 atomicity 1.1什麼是原子性 一般來說,原子是指不能分解成小部分的東西。這個詞在計算的不同分支中意味著相似但又微妙不同的東西。例如,在多執行緒程式設計中,如果一個執行緒執行一個原子操作,...

什麼叫資料庫,什麼是資料庫

資料庫,是一個長期儲存在計算機內的 有組織的 有共享的 統一管理的資料集合。常用的資料庫有 sqlserver,mysql,oracle,access資料庫。資料庫 database 是按照資料結構來組織 儲存和管理資料的倉庫。資料庫是統一管理任何型別資料集合的一個儲存。什麼是資料庫?資料庫 dat...

資料庫中自動增長欄位是什麼意思,資料庫中自動增長欄位是什麼意思

自動增長就是 在資料庫的該表中新增一條資訊的時候 該資訊的自增欄位就不用手動給他插入值了 關於資料庫中的自動增長特性的欄位,在流行的dbms中主要有大概三種型別 它們的共同特點是多數情況下不需要程式設計師或者dba手動維護,多作為表的主鍵使用。1 純粹的自動標識列,以典型的ms sqlserver ...