トランザクション は、複数のデータ操作を 1つのまとまりとして扱い、全部成功か、失敗なら全部なかったことにする 仕組みです。中途半端な状態を防ぎます。
典型例が送金です。「Aさんから引き落とす」「Bさんへ入金する」の2つは、必ずセットで成立しなければなりません。
flowchart TD
A[開始] --> B[Aから1万円引く]
B --> C[Bへ1万円足す]
C --> D{両方成功?}
D -- はい --> E["確定(コミット)"]
D -- いいえ --> F["取り消し(ロールバック)"]
もし引き落としだけ成功して入金が失敗したら、お金が消えてしまいます。トランザクションは、こうした事態を防ぎ、失敗時にはすべてを開始前の状態へ 巻き戻し(ロールバック) ます。成功して初めて 確定(コミット) します。
この信頼性は、ACID特性 という4つの性質としてまとめられています。複数の処理が同時に走ると デッドロック が起きることもあり、その制御も含めて、データベースの重要な基礎です。