1. 程式人生 > >資料庫事務概念及特性

資料庫事務概念及特性

  • 事務的基本概念
    • 一組要麼同時執行成功,要麼同時執行失敗的SQL語句。是資料庫操作的一個執行單元。
    • 事務開始於:
      • 連線到資料庫上,並執行一條DML語句(INSERT、UPDATE、DELETE)
      • 前一個事務結束後,又輸入了一條DML語句。
    • 事務結束於:
      -執行Commit或Rollback語句
      執行一條DDL語句,例如CREATE TABLE語句;在這種情況下,會自動執行COMMIT語句
      執行一條DCL語句,例如GRANT語句,在這種情況下,會自動執行COMMIT語句
      斷開與資料庫的連線
      執行一條DML語句,該語句卻失敗了,在這種情況下,會為這個無效的DML語句執行ROLLBACK語句

事務的四大特點:

  • 原子性(atomicity)
    • 表示I一個事務內的所有操作都是一個整體,要麼全部成功,要麼全部失敗
  • 一致性(consistency)
    • 表示一個事務內有一個操作失敗了,所有更改過的資料都必須會滾到修改前的狀態
  • 隔離性(isoation)
    • 事務檢視資料時護具所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是另一事物修改它之後的狀態,事務不會檢視中間狀態的資料。
    • 事務隔離級別從低到高:
      • 讀取未提交
      • 讀取已提交
      • 可重讀
      • 序列化
  • 永續性(durability)
    • 永續性事務完成之後,它對於系統的影響是永久性的。