回覆列表
-
1 # tymlp3555
-
2 # 使用者3213541255770
事務(Transaction)是訪問並可能更新資料庫中各種資料項的一個程式執行單元(unit)。事務通常由高階資料庫操縱語言或程式語言(如SQL,C++或Java)書寫的使用者程式的執行所引起,並用形如begin transaction和end transaction語句(或函式呼叫)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。 例如:在關係資料庫中,一個事務可以是一條SQL語句,一組SQL語句或整個程式。 特性 事務是恢復和併發控制的基本單位。 事務應該具有4個屬性:原子性、一致性、隔離性、持續性。這四個屬性通常稱為ACID特性。 原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的操作要麼都做,要麼都不做。 一致性(consistency)。事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。 隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。 永續性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對資料庫中資料的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
事務是應用程式中一系列嚴密的操作,所有操作必須成功完成,否則在每個操作中所作的所有更改都會被撤消。也就是事務具有原子性,一個事務中的一系列的操作要麼全部成功,要麼一個都不做。 事務具有四個特徵:原子性( Atomicity )、一致性( Consistency )、隔離性(Isolation )和持續性( Durability )。