×
科目A|データベース
トランザクション(Transaction)は、データベースの整合性と信頼性をシステム的に保証するための最重要の枠組みです。もしトランザクションという仕組みがなければ、複数ユーザーによる同時アクセスや、ハードウェアの突然の故障に対して、データベースは一瞬で矛盾だらけになってしまいます。
トランザクションは、開始命令(BEGIN TRANSACTIONなど)によってスタートし、以下のいずれかの結末で終了します。
1. コミット(COMMIT):すべての処理がエラーなく完了したため、その一連の変更データをデータベースに「最終確定(永続化)」させます。コミットした変更は、もう元に戻す(キャンセルする)ことはできません。
2. ロールバック(ROLLBACK):処理の途中でエラー(プログラムのバグ、通信エラー、ハードディスクの故障など)が発生した場合に、それまでに行ったデータ操作をすべてキャンセルし、トランザクションを「開始する直前の状態にまで巻き戻し」ます。これにより、中途半端なデータ(例えば、お金を引いたが相手に届いていない状態)がテーブルに残ることを防ぎます。