你是如何理解資料庫事務概念的請簡單描述

2021-05-29 00:12:34 字數 2173 閱讀 8567

1樓:北京歡迎你老大

資料庫事務是指作為單個邏輯工作單元執行的一系列操作。

設想網上購物的一次交易,其付款過程至少包括以下幾步資料庫操作:

· 更新客戶所購商品的庫存資訊

· 儲存客戶付款資訊--可能包括與銀行系統的互動

· 生成訂單並且儲存到資料庫中

· 更新使用者相關資訊,例如購物數量等等

正常的情況下,這些操作將順利進行,最終交易成功,與交易相關的所有資料庫資訊也成功地更新。但是,如果在這一系列過程中任何一個環節出了差錯,例如在更新商品庫存資訊時發生異常、該顧客銀行帳戶存款不足等,都將導致交易失敗。一旦交易失敗,資料庫中所有資訊都必須保持交易前的狀態不變,比如最後一步更新使用者資訊時失敗而導致交易失敗,那麼必須保證這筆失敗的交易不影響資料庫的狀態--庫存資訊沒有被更新、使用者也沒有付款,訂單也沒有生成。

否則,資料庫的資訊將會一片混亂而不可**。

資料庫事務正是用來保證這種情況下交易的平穩性和可**性的技術。

[編輯本段]資料庫事務的acid屬性

事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的acid(原子性、一致性、隔離性和永續性)屬性:

· 原子性 (atomic)

事務必須是原子工作單元;對於其資料修改,要麼全都執行,要麼全都不執行。通常,與某個事務關聯的操作具有共同的目標,並且是相互依賴的。如果系統只執行這些操作的一個子集,則可能會破壞事務的總體目標。

原子性消除了系統處理操作子集的可能性。

· 一致性 (consistent)

事務在完成時,必須使所有的資料都保持一致狀態。在相關資料庫中,所有規則都必須應用於事務的修改,以保持所有資料的完整性。事務結束時,所有的內部資料結構(如 b 樹索引或雙向連結串列)都必須是正確的。

某些維護一致性的責任由應用程式開發人員承擔,他們必須確保應用程式已強制所有已知的完整性約束。例如,當開發用於轉帳的應用程式時,應避免在轉帳過程中任意移動小數點。

· 隔離性 (insulation)

由併發事務所作的修改必須與任何其它併發事務所作的修改隔離。事務檢視資料時資料所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會檢視中間狀態的資料。這稱為可序列性,因為它能夠重新裝載起始資料,並且重播一系列事務,以使資料結束時的狀態與原始事務執行的狀態相同。

當事務可序列化時將獲得最高的隔離級別。在此級別上,從一組可並行執行的事務獲得的結果與通過連續執行每個事務所獲得的結果相同。由於高度隔離會限制可並行執行的事務數,所以一些應用程式降低隔離級別以換取更大的吞吐量。

· 永續性 (duration)

事務完成之後,它對於系統的影響是永久性的。該修改即使出現致命的系統故障也將一直保持。

[編輯本段]dbms的責任

企業級的資料庫管理系統(dbms)都有責任提供一種保證事務的物理完整性的機制。就常用的sql server2000系統而言,它具備鎖定裝置隔離事務、記錄裝置保證事務永續性等機制。因此,我們不必關心資料庫事務的物理完整性,而應該關注在什麼情況下使用資料庫事務、事務對效能的影響,如何使用事務等等。

本文將涉及到在.***框架下使用c#語言操縱資料庫事務的各個方面。

體驗sql語言的事務機制

作為大型的企業級資料庫,sql server2000對事務提供了很好的支援。我們可以使用sql語句來定義、提交以及回滾一個事務。

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

2樓:真心真意珍惜

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

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

請介紹一下你對資料庫中事務的理解,主要作用是什麼?

3樓:匿名使用者

事務就是你運算元據庫的動作,例如:將a表內欄位a1為1的資訊全部刪除在事務日誌中就記載deleteawherea1=1,事務日誌的作用是一旦發生誤操作,可根據事務日誌中記載的操作重新找回資料,有個軟體可以重新找回誤操...

資料庫操作中的「事務」指的是什麼?

什麼是資料庫事務。資料庫事務是指作為單個邏輯工作單元執行的一系列操作。設想網上購物的一次交易,其付款過程至少包括以下幾步資料庫操作 更新客戶所購商品的庫存資訊。儲存客戶付款資訊 可能包括與銀行系統的互動 生成訂單並且儲存到資料庫中。更新使用者相關資訊,例如購物數量等等。正常的情況下,這些操作將順利進...

用友資料庫是access如何匯入

新建一套賬,覆蓋mdb檔案就好了啊 如何開啟用友資料庫 用友軟體試用的來是sql資料庫自 你可以使用完整版安bai 裝的sql資料庫的du 企業管理器 打zhi開用友資料庫。如果 要看你用的是什麼資料庫,sql還是oracle,一般企業用的都是這兩種,你可以直接到伺服器開啟,或者遠端連線到資料庫,s...

ER模型設計屬於資料庫的,ER模型是資料庫設計的有力工具,適於建立資料庫的

e r模型的構成成分是實體集 屬性和聯絡集,其表示方法如下 1 實體集用矩形框表示,矩形框內寫上實體名。2 實體的屬性用橢圓框表示,框內寫上屬性名,並用無向邊與其實體集相連。3 實體間的聯絡用菱形框表示,聯絡以適當的含義命名,名字寫在菱形框中,用無向連線將參加聯絡的實體矩形框分別與菱形框相連,並在連...