成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL數據庫中事務的ACID特性

數據庫 SQL Server
SQL數據庫中事務有其特性,組件的開發者們假設事務的特性應該是一些不需要他們親自管理的特性。這些特性稱為ACID特性。

作為SQL數據庫的使用者,事務是必須要掌握的,下面就將為您介紹SQL數據庫中事務的ACID特性,供您參考,希望對您有所幫助。

當事務處理系統創建事務時,將確保事務有某些特性。組件的開發者們假設事務的特性應該是一些不需要他們親自管理的特性。這些特性稱為ACID特性。

ACID就是:原子性(Atomicity )、一致性( Consistency )、隔離性( Isolation)和持久性(Durabilily)。

1. 原子性
原子性屬性用于標識事務是否完全地完成,一個事務的任何更新要在系統上完全完成,如果由于某種原因出錯,事務不能完成它的全部任務,系統將返回到事務開始前的狀態。
讓我們再看一下銀行轉帳的例子。如果在轉帳的過程中出現錯誤,整個事務將會回滾。只有當事務中的所有部分都成功執行了,才將事務寫入磁盤并使變化永久化。
為了提供回滾或者撤消未提交的變化的能力,許多數據源采用日志機制。例如,SQL Server使用一個預寫事務日志,在將數據應用于(或提交到)實際數據頁面前,先寫在事務日志上。但是,其他一些數據源不是關系型數據庫管理系統(RDBMS),它們管理未提交事務的方式完全不同。只要事務回滾時,數據源可以撤消所有未提交的改變,那么這種技術應該可用于管理事務。

2. 一致性
事務在系統完整性中實施一致性,這通過保證系統的任何事務最后都處于有效狀態來實現。如果事務成功地完成,那么系統中所有變化將正確地應用,系統處于有效狀態。如果在事務中出現錯誤,那么系統中的所有變化將自動地回滾,系統返回到原始狀態。因為事務開
始時系統處于一致狀態,所以現在系統仍然處于一致狀態。
再讓我們回頭看一下銀行轉帳的例子,在帳戶轉換和資金轉移前,帳戶處于有效狀態。如果事務成功地完成,并且提交事務,則帳戶處于新的有效的狀態。如果事務出錯,終止后,帳戶返回到原先的有效狀態。
記住,事務不負責實施數據完整性,而僅僅負責在事務提交或終止以后確保數據返回到一致狀態。理解數據完整性規則并寫代碼實現完整性的重任通常落在開發者肩上,他們根據業務要求進行設計。
當許多用戶同時使用和修改同樣的數據時,事務必須保持其數據的完整性和一致性。因此我們進一步研究A C I D特性中的下一個特性:隔離性。

3. 隔離性
在隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,運行在相同的時間內,執行相同的功能,事務的隔離性將確保每一事務在系統中認為只有該事務在使用系統。
這種屬性有時稱為串行化,為了防止事務操作間的混淆,必須串行化或序列化請求,使得在同一時間僅有一個請求用于同一數據。
重要的是,在隔離狀態執行事務,系統的狀態有可能是不一致的,在結束事務前,應確保系統處于一致狀態。但是在每個單獨的事務中,系統的狀態可能會發生變化。如果事務不是在隔離狀態運行,它就可能從系統中訪問數據,而系統可能處于不一致狀態。通過提供事
務隔離,可以阻止這類事件的發生。
在銀行的示例中,這意味著在這個系統內,其他過程和事務在我們的事務完成前看不到我們的事務引起的任何變化,這對于終止的情況非常重要。如果有另一個過程根據帳戶余額進行相應處理,而它在我們的事務完成前就能看到它造成的變化,那么這個過程的決策可能
建立在錯誤的數據之上,因為我們的事務可能終止。這就是說明了為什么事務產生的變化,直到事務完成,才對系統的其他部分可見。
隔離性不僅僅保證多個事務不能同時修改相同數據,而且能夠保證事務操作產生的變化直到變化被提交或終止時才能對另一個事務可見,并發的事務彼此之間毫無影響。這就意味著所有要求修改或讀取的數據已經被鎖定在事務中,直到事務完成才能釋放。大多數數據庫,例如SQL Server以及其他的RDBMS,通過使用鎖定來實現隔離,事務中涉及的各個數據項或數據集使用鎖定來防止并發訪問。

4. 持久性
持久性意味著一旦事務執行成功,在系統中產生的所有變化將是永久的。應該存在一些檢查點防止在系統失敗時丟失信息。甚至硬件本身失敗,系統的狀態仍能通過在日志中記錄事務完成的任務進行重建。持久性的概念允許開發者認為不管系統以后發生了什么變化,完
成的事務是系統永久的部分。
 

 

【編輯推薦】
SQL中where 1=1語句的作用

SQL中UNION指令的用法

遠程連接sql server服務器的方法

SQL Server中不同用戶的權限

測試SQL語句執行時間的方法

責任編輯:段燃 來源: 互聯網
相關推薦

2025-01-10 09:25:10

NOSQL數據庫ACID

2022-03-30 07:28:24

MySQL數據庫ACID

2024-03-15 11:59:25

SQL數據庫ACID

2012-08-06 16:09:40

Redis數據庫

2018-07-17 10:58:45

數據庫數據庫事務隔離級別

2024-12-30 13:58:14

2010-07-06 14:00:51

SQL Server

2010-07-05 17:41:37

SQL Server

2023-12-13 10:11:14

數據庫ACID數據

2020-02-13 10:14:11

MySQL事務ACID

2019-01-29 09:36:10

MySQLACID特性

2010-09-07 15:20:58

SQL語句事務

2011-08-15 14:29:52

SQL Server數事務

2010-06-17 13:34:47

SQL Server數

2010-09-02 11:56:21

SQL刪除

2011-08-15 11:24:46

SQL Server事務

2011-08-02 15:04:49

2024-07-10 08:00:00

數據庫流式數據庫

2010-06-13 10:46:52

MySQL 數據庫

2013-09-24 09:38:03

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线免费视频 | 亚洲一区二区欧美 | 国产又爽又黄的视频 | 精品国产乱码久久久久久丨区2区 | 国产精品成人久久久久 | 中国av在线免费观看 | av播播 | 欧美在线a| 亚洲国产精品久久久久 | 在线观看国产视频 | 国产黄色小视频在线观看 | 国产美女一区 | 久久一级大片 | 91九色在线观看 | 午夜影院视频在线观看 | 精品日韩一区 | 日日摸夜夜添夜夜添精品视频 | 九九热在线视频观看这里只有精品 | 亚洲国产成人在线视频 | 一级做a爰片性色毛片视频停止 | 国产乱一区二区三区视频 | 日韩一区精品 | 国产一二区免费视频 | 国产精品亚洲精品日韩已方 | 欧美中文字幕在线观看 | 国产一区欧美一区 | 久久久免费少妇高潮毛片 | 欧美一级视频 | 高清av一区 | 97精品超碰一区二区三区 | 久久精品中文 | 亚洲一区 中文字幕 | 激情五月激情综合网 | 亚洲一区精品在线 | 亚洲福利一区 | 欧美xxxx性 | 午夜在线免费观看视频 | 国产成人精品视频在线观看 | 日韩精品一区二区三区老鸭窝 | 大象视频一区二区 | 欧美一区免费 |