文章專區
網頁程式技術探討
網頁程式設計-交易的基礎
交易是將多個資料庫單元操作視為同一個不可分割的邏輯單元,這些資料庫單元的操作,只有兩種結果:一種是全部執行完成;另一種就是通通不執行,不可能有執行一半的情形發生。
交易狀態的種類
◎啟動狀態:當交易開始執行,就是進入啟動狀態的初始狀態,依序執行交易的讀取或寫入。
◎部分確認交易狀態:當交易的最後一個單元操作執行完後,也就是交易結束,就進入部分確認交易狀態。
◎確認交易狀態:在成功完成交易進入部分確認交易狀態後,還需要確認系統沒有錯誤,可以真正交資料寫入資料庫。
◎失敗狀態:當發現交易不能繼續執行下去時,交易就進入失敗狀態,準備執行回復交易。
◎放棄或中止狀態:交易需要回復到交易前的狀態,在取消所有寫入資料庫操作單元操作影響的資料後,就進入此狀態。
交易停止執行的原因
◎交易成功:就是正常結束交易的執行,指交易的資料庫單元操作全部執行完成。
◎交易失敗:交易失敗是放出放棄指令(Abort或Rollback)來結束交易的執行。
◎放棄交易:交意本身因為條件錯誤,輸入錯誤資料或使用者操作而送出放棄指令來放棄交易的執行。
◎中止交易:因為系統負載問題或死結情況,由資料庫管理系統送出放棄指令,讓交易進入中止狀態。
◎交易未完成:交易可能因為系統錯誤、硬體錯誤或當機而停止交易執行,因為沒有送出放棄指令,此時交易是未完成的中斷狀態。