令和元年秋期試験問題 午前問28
問28解説へ
一つのトランザクションはトランザクションを開始した後,五つの状態(アクティブ,アボート処理中,アボート済,コミット処理中,コミット済)を取り得るものとする。このとき,取ることのない状態遷移はどれか。
正解 イ問題へ
広告
解説
トランザクションとは、口座から振込みを行う場合における送金側の残高減と振込先口座の残高増のように関連する1つ以上の処理をまとめた単位です。トランザクションは、データの整合性を保つために「全ての処理が完了する」か「全く処理が行われなかったか」のどちらかで終了しなくてはなりません。
設問中のアクティブ、アボート、コミットには次の意味があります。
設問中のアクティブ、アボート、コミットには次の意味があります。
- アクティブ
- トランザクションを処理中の状態
- アボート
- トランザクションの途中で処理を強制的に中断してトランザクションをロールバックする処理
- コミット
- トランザクションの一連の処理が成功した際に、その結果を確定させる処理
- アボート処理が完了するとアボート済状態に遷移します(①)。
- 正しい。コミット処理中からアボート処理中に遷移することはありますが、その逆はありません。コミットは全ての処理が正常に終了したときの処理だからです。
- コミット処理中に不具合が起こるとアボート処理中に遷移します(②)。
- コミット処理が完了するとコミット済状態に遷移します(③)。
広告