
120
切り離せない処理をまとめる
4-14
データベースに対して行われる複数の処理をまとめたものをトランザク
ションと呼びます。SQL は1 文ずつ実行することができますが、
1
ことができます(図4-27)。
銀行口座の例で考えてみましょう。A口座からB口座に10 万円を送金す
ると、データベース上では「A口座の預金をマイナス10 万円にする」「 B口
座の預金をプラス10 万円にする」といった 2 つの処理を同時に実行させる
必要があります。ところが、もしA口座の処理が完了した直後にシステム
に問題が発生し、B口座の処理が実行されないとB口座に送金額が反映さ
れなくなってしまうということが起こります(図4-28)。これらの処理を
トランザクションによってまとめて完了させることで、データが合わなく
なる問題を防ぐことができます。
トランザクションには以下のような特性があります。
原子性
トランザクションに含まれる処理が「すべて実行される」か「すべ
て実行されない」かのどちらかになる。
一貫性
あらかじめ設定された条件を満たし、データの整合性を保証する。
独立性
処理の途中経過が隠蔽され、外部からは結果だけ見ることができ
る。処理の実行途中の状態で、他の処理に影響を与えない。
永続性
トランザクションが完了したら、その結果が失われることはない。
複数の処理をまとめるトランザクシ