どうも!ひよこSE(@PiyoOct)です。

トランザクションって何?
トランザクションとは、「ゲームを始めて遊び終わったら電源を切る」のように、まとまった処理のことです。
まとまっているので、その処理を分けることはできない(単体では成立しない)のと。
「DB(データベース)の世界でよく出てくるんだな~」くらいに覚えておけばよしです。
トランザクションとは、まとまった処理のこと
トランザクションとは、まとまった処理のことです。

え?全然わかんない
となっていると思うので、ゲームで例えましょう。
ゲームで考えるとわかりやすい
ゲーム(プレステとかSwitchとか)をするときは、必ず
- 電源をつける
- プレイする
- 電源を切る
といった動作をとります。

ゲームをやるためには「電源をつける⇒プレイする⇒電源を切る」といった、まとまった動作が必要。それを、かっこよく「トランザクション」と呼びます。
余談ですが、英語におけるトランザクションの意味(transaction)は、商取引、売買、執行、取扱、議事録らしいです(*´ω`)。
まとまった処理だから、単体では成立せず、分けることができない
トランザクションは、まとまった処理を意味するので、単体では成立せず、分けることができません。
ゲームで言えば
- 電源をつける
- プレイする
- 電源を切る
というまとまった処理は、「電源をつける」だけじゃゲームをしていないし。
電源をつけていないのに、プレイすることはできないみたいなイメージで。
何か一つの処理の単体だけだと、トランザクションとして成立しないし、分けることはできません。
DBにおけるトランザクションは、データを入れ替えするときのお話
トランザクションは、DB(データベース)の世界でよく出てきます。
データベースとは、データを入れる入れ物のこと。

DBの世界では、「データを入れ替えするときのまとまった処理」的なイメージを持ってください。
DBにおけるトランザクションは必ず終わらせること
少しだけ補足すると、DBでトランザクションが開始されて処理が終わったら・・・
3つのうち、どれかを宣言して、トランザクションを終わらせるべきです。
またまたゲームに例えれば、兄弟で1台しかないゲームを交代でやっていたとして。
先に始めたほうが「ゲーム終わったからいいよ。交代!」と言ってあげないと、待ってる方は、いつまでもゲームできないですよね(´▽`*)。
DBも全く同じで、先に処理を始めたトランザクションが「データ入れ終わったよ~」って言ってあげないと。
デッドロックといって、他のトランザクションがいつまでも待ち続けてて、処理を始めることができなくなってしまいます。
まとめ
トランザクションときたら、「まとまった処理のこと」だと思ってください。
まとまった処理だから、分けることできないし、何か一つだけだと意味ないもので。
特に何も言われなければ、ITの世界ではまず、データベースにデータを入れ替えするときのお話だと思ってくださいまし(-_-;)。
コメント