トランザクションとは、データベースにおいて、関連し合う複数の処理(追加、更新、削除など)を1つのまとまった『不可分の処理単位』として扱う仕組みです。「すべてが完全に成功する(コミット)」か、「途中で1つでも失敗したらすべてを実行前の状態に戻す(ロールバック)」という「All or Nothing(全か無か)」の考え方に基づいています。これにより、システムの処理中にエラーが発生しても、データベース内に矛盾した不完全なデータが残るのを防ぎ、安全性を保ちます。
銀行振込を考えてみましょう。振込処理は『Aさんの口座から1万円を引く』と『Bさんの口座に1万円を足す』という2つのステップからなります。この2つを1つのトランザクションとします。もし『Aさんの口座から1万円を引いた』直後に停電などでシステムが止まった場合、トランザクションの仕組みにより処理は自動的にキャンセル(ロールバック)され、Aさんの口座は元通りになり、『お金が消えてしまう』という重大なトラブルを防ぎます。