數據庫的事物是什麼?
什麼是數據庫事務?
數據庫事務(Database Transaction) ,是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。
事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程序更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性。
事務是數據庫運行中的一個邏輯工作單位,由DBMS中的事務管理子系統負責事務的處理。
相關屬性:
原子性(Atomic)(Atomicity)
事務必須是原子工作單元;對於其數據修改,要麼全都執行,要麼全都不執行。通常,與某個事務關聯的操作具有共同的目標,並且是相互依賴的。如果系統只執行這些操作的一個子集,則可能會破壞事務的總體目標。原子性消除了系統處理操作子集的可能性。
一致性(Consistent)(Consistency)
事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用於事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如 B 樹索引或雙向鏈表)都必須是正確的。某些維護一致性的責任由應用程序開發人員承擔,他們必須確保應用程序已強制所有已知的完整性約束。例如,當開發用於轉帳的應用程序時,應避免在轉帳過程中任意移動小數點。
隔離性(Insulation)(Isolation)
由併發事務所作的修改必須與任何其它併發事務所作的修改隔離。事務查看數據時數據所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會查看中間狀態的數據。這稱為隔離性,因為它能夠重新裝載起始數據,並且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。當事務可序列化時將獲得最高的隔離級別。在此級別上,從一組可並行執行的事務獲得的結果與通過連續運行每個事務所獲得的結果相同。由於高度隔離會限制可並行執行的事務數,所以一些應用程序降低隔離級別以換取更大的吞吐量。
持久性(Duration)(Durability)
事務完成之後,它對於系統的影響是永久性的。該修改即使出現致命的系統故障也將一直保持。
數據庫中的事務管理是什麼
事務管理對於一系列數據庫操作進行管理。
一個事務包含一個或多個SQL語句,是邏輯管理的工作單元(原子單元)。
一個事務開始於第一次執行的SQL語句,結束於Commit 或 Rollback 或 DDL語句。
注意:其中Commit, Rollback是顯示的提交事務,而DDL語句是隱式的提交事務的。DDL語句的操作是沒有辦法回滾的。
事務處理(TRANSACTION)是由一個或多個SQL語句序列結合在一起所形成的一個邏輯處理單元。事務處理中的每個語句都是完成整個任務的一部分工作,所有的語句組織在一起能夠完成某一特定的任務。DBMS在對事務處理中的語句進行處理時,是按照下面的約定來進行的,這就是“事務處理中的所有語句被作為一個原子工作單位,所有的語句既可成功地被執行,也可以沒有任何一個語句被執行”。DBMS負責完成這種約定,即使在事務處理中應用程序異常退出,或者是硬件出現故障等各種意外情況下,也是如此。在任何意外情況下,DBMS都負責確保在系統恢復正常後,數據庫內容決不會出現“部分事務處理中的語句被執行完”的情況。
數據庫中的事務,是什麼意思,一般在哪用
將多條語句一起提交,要麼成功要麼失敗;
一般我們再執行多條語句的一候使用,如delete一條語句條語句,再insert一條語句,要保證兩條語句都執行成功,結果才正確,這樣就可以用事務,要麼都執行成功,只要有一條沒成功就回滾。
數據庫中的事務是什麼?
事物的定義:
數據庫事務(Database Transaction) ,是指作為單個邏輯工作單元執行的一系列操作,要麼完整地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程序更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性。
============
簡單說事務就是一組操作的集合,而且這組操作必須全部執行成功否者回滾到所有操作前的狀態。
舉個例子什麼時候用到事務:
例如,在將資金從一個帳戶轉移到另一個帳戶的銀行應用中,一個帳戶將一定的金額貸記到一個數據庫表中,同時另一個帳戶將相同的金額借記到另一個數據庫表中。由於計算機可能會因停電、網絡中斷等而出現故障,因此有可能更新了一個表中的行,但沒有更新另一個表中的行。如果數據庫支持事務,則可以將數據庫操作組成一個事務,以防止因這些事件而使數據庫出現不一致。如果事務中的某個點發生故障,則所有更新都可以回滾到事務開始之前的狀態。如果沒有發生故障,則通過以完成狀態提交事務來完成更新。
數據庫中什麼叫事務?其特點是什麼
【事務】:是用戶定義的一個數據庫操作序列,這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。
在關係數據庫中,一個事務可以是一條SQL語句,也可以是多條SQL語句。
【特點】:
原子性、一致性、隔離性、持續性
【舉個例子】
假設,定義了一個銀行轉賬的事務,以兩個銀行賬號裡面的金錢為例,裡面的錢要麼一個增加多少,一個減少多少,要麼就是都不增不減,不可能一個多但另一個不減少,你懂得。。。。
希望可以幫你o(∩_∩)o
數據庫中事務是什麼意思
事務是單個的工作單元。如果某一事務成功,則在該事務中進行的所有數據修改均會提交,成為數據庫中的永久組成部分。如果事務遇到錯誤且必須取消或回滾,則所有數據修改均被清除。 SQL Server 以下列事務模式運行。自動提交事務 每條單獨的語句都是一個事務。顯式事務 每個事務均以 BEGIN TRANSACTION 語句顯式開始,以 COMMIT 或 ROLLBACK 語句顯式結束。隱式事務 在前一個事務完成時新事務隱式啟動,但每個事務仍以 COMMIT 或 ROLLBACK 語句顯式完成。批處理級事務只能應用於多個活動結果集 (MARS),在 MARS 會話中啟動的 Transact-SQL 顯式或隱式事務變為批處理級事務。
數據庫系統中什麼是事務?事務有什麼特性? 40分
數據庫事務是指作為單個邏輯工作單元執行的一系列操作。
“一榮俱榮,一損俱損”這句話很能體現事務的思想,很多複雜的事物要分步進行,但它們組成一個整體,要麼整體生效,要麼整體失效。這種思想反映到數據庫上,就是多個SQL語句,要麼所有執行成功,要麼所有執行失敗。
數據庫事務有嚴格的定義,它必須同時滿足四個特性:原子性(Atomic)、一致性(Consistency)、隔離性(Isolation)和持久性(Durabiliy),簡稱為ACID。
事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程序更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性:
· 原子性
事務必須是原子工作單元;對於其數據修改,要麼全都執行,要麼全都不執行。通常,與某個事務關聯的操作具有共同的目標,並且是相互依賴的。如果系統只執行這些操作的一個子集,則可能會破壞事務的總體目標。原子性消除了系統處理操作子集的可能性。
· 一致性
事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用於事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如 B 樹索引或雙向鏈表)都必須是正確的。某些維護一致性的責任由應用程序開發人員承擔,他們必須確保應用程序已強制所有已知的完整性約束。例如,當開發用於轉帳的應用程序時,應避免在轉帳過程中任意移動小數點。
· 隔離性
由併發事務所作的修改必須與任何其它併發事務所作的修改隔離。事務查看數據時數據所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會查看中間狀態的數據。這稱為可串行性,因為它能夠重新裝載起始數據,並且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。當事務可序列化時將獲得最高的隔離級別。在此級別上,從一組可並行執行的事務獲得的結果與通過連續運行每個事務所獲得的結果相同。由於高度隔離會限制可並行執行的事務數,所以一些應用程序降低隔離級別以換取更大的吞吐量。
· 持久性
事務完成之後,它對於系統的影響是永久性的。該修改即使出現致命的系統故障也將一直保持。
設想網上購物的一次交易,其付款過程至少包括以下幾步數據庫操作:
· 更新客戶所購商品的庫存信息
· 保存客戶付款信息--可能包括與銀行系統的交互
· 生成訂單並且保存到數據庫中
· 更新用戶相關信息,例如購物數量等等
正常的情況下,這些操作將順利進行,最終交易成功,與交易相關的所有數據庫信息也成功地更新。但是,如果在這一系列過程中任何一個環節出了差錯,例如在更新商品庫存信息時發生異常、該顧客銀行帳戶存款不足等,都將導致交易失敗。一旦交易失敗,數據庫中所有信息都必須保持交易前的狀態不變,比如最後一步更新用戶信息時失敗而導致交易失敗,那麼必須保證這筆失敗的交易不影響數據庫的狀態--庫存信息沒有被更新、用戶也沒有付款,訂單也沒有生成。否則,數據庫的信息將會一片混亂而不可預測。
數據庫事務正是用來保證這種情況下交易的平穩性和可預測性的技術。
數據庫中的事務(Transaction)的ACID指的是什麼
事務應該具有4個屬性:原子性、一致性、隔離性、持續性。這四個屬性通常稱為ACID特性
Oracle數據庫中什麼是事物
事務處理:所謂的事務處理就是保證操作的完整性,所有操作要麼同時成功,要麼同時失敗。
原理如下:
在Oracle每個連接到數據庫的窗口,連接之後建立一個session。一個session裡面對數據所做的修改,不會立刻反應在數據庫的真實數據之上,是允許回滾的,當一個session提交所有的操作後,數據才真正地做出修改。
兩個事務操作:
提交:commit
回滾:rollback
Commit後數據無法回滾。
死鎖:一個session裡面對某行數據進行更新操作,如果沒有commit,那麼另外一個session針對這行數據的更新將需要等待,直到第一個session commit後,才提交更新數據。