python學習——數據庫的事務

在現在這個信息時代,會產生很多數據,這些數據大部分都會被存到了一個容器——數據庫中。隨之便有了數據庫的操作。這篇主要就是講的數據庫的事務,數據庫的事務是什麼?它有什麼作用呢?
數據庫事務(簡稱:事務)是數據庫管理系統執行過程中的一個邏輯單位,由一個有限的數據庫操作序列構成。
數據庫的事務主要包括對數據庫的讀/寫操作。它的存在主要有兩個目的:
1、爲數據庫操作序列提供了一個從失敗中恢復到正常狀態的方法,同時提供了數據庫即使在異常狀態下仍能保持一致性的方法。
2、當多個應用程序在併發訪問數據庫時,可以在這些應用程序之間提供一個隔離方法,以防止彼此的操作互相干擾。
當事務被提交到數據庫管理系統,則數據庫管理系統需要確保該事務中的所有操作成功完成且被永久保存到數據庫中,否則此次事務所有的操作都要進行回滾操作,回到事務執行之前的狀態;同時,該事務對數據庫或其他事務的執行無影響,好像是獨立存在的。舉個例子:我們去銀行取錢或者存錢,當我們對一個賬戶進行操作時,數據庫就被隔離了起來,在其他地方是無法再進行操作的,如果我們操作成功的話,銀行卡會減少或增加相對應的金額,如果取款或存款失敗,會回到之前操作之前的狀態,否則就會引起很多麻煩。
但是並非所有對數據庫的操作都是數據庫事務,數據庫事務包含四個特性:
1、原子性:事務作爲一個整體被執行,包含在其中的對數據庫的操作要麼全部被執行,要麼都不執行,不會存在執行一部分。
2、一致性:事務應確保數據庫的狀態從一個一致狀態轉變爲另一個一致狀態。一致狀態的含義是數據庫中的數據應滿足完整性約束。
3、持久性:多個事務併發執行時,一個事務的執行不應影響其他事務的執行,它們之間互不干擾。
4、隔離性:已被提交的事務對數據庫的修改應該永久保存在數據庫中。
隔離級別:

  • 髒讀
  • 不可重複讀
  • 幻讀/虛讀
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章