1. 程式人生 > >第四章 數據更新 4-3 事務

第四章 數據更新 4-3 事務

能夠 .com 約束 cit info data 設置 完整性 此外

一、什麽是事務 在RDBMS中,事務是對表中數據進行更新的單位。簡單來說,事務就是需要在同一個處理單元中執行的一系列更新處理的集合。 二、創建事務

技術分享圖片

事務的開始語言:

技術分享圖片

例子:

技術分享圖片

事務結束的命令: (1)COMMIT 提交處理 COMMIT是提交事務包含的全部更新處理的結束指令。相當於文件處理中的覆蓋保存。 一旦提交,就無法恢復到事務開始前的狀態了。

技術分享圖片

註:雖然我們不知道事務開始的時間點,但是事務結束時一定要仔細進行確認。 (2)ROLLBACK 取消處理 ROLLBACK是取消事務包含的全部更新處理的結束指令,相當於文件處理中的放棄保存。 一旦回滾,數據庫就會恢復到事務開始之前的狀態。

技術分享圖片

例子:

技術分享圖片

三、事務處理何時開始 在不使用指令而悄悄開始事務的情況下,應該如何區分各個事務呢? 分兩種情況: (1)自動提交模式:每一條SQL語句就是一個事務。 (2)直到用戶執行COMMIT或者ROLLBACK為止算一個事物。 使用(1)規則的數據庫有SQL Server、PostgreSQL、MySQL 使用(2)規則的數據庫有Oracle 三、ACID特性 DBMS的事務都遵循四種特性,ACID特性,所有DBMS都必須遵守的規則。 (1)原子性Atomicity 原子性是指事務結束時,其中所包含的更新處理要麽全部執行,要麽完全不執行,也就是說要麽占有一切,要麽一無所有。 (2)一致性 Consistency 一致性是指事務中包含的處理要滿足數據庫提前設置的約束,如主鍵約束,NOT NULL約束等。對於SQL來說,不合法的SQL會被回滾。一致性也稱為完整性。 技術分享圖片

技術分享圖片

(3)隔離性 Isolation 隔離性指的是在保證不同事務之間互不幹擾的特性。該特性保證了事務之間不會互相嵌套。 此外,在某個事務中進行的更改,在該事務結束之前,對其他事務而言是不可見的。 (4)持久性 Durability 持久性稱為耐久性,指的是在事務(不論是提交還是回滾)結束後,DBMS能夠保證該時間點的數據狀態會被保存的特性。 即使由於系統故障導致數據丟失,數據庫也一定能夠通過某種手段進行恢復。

第四章 數據更新 4-3 事務