ITパスポート 平成30年度 秋期 特別措置試験 問63
データベース
ロールバックの説明
トランザクション処理におけるロールバックの説明として,適切なものはどれか。
- ア あるトランザクションが共有データを更新しようとしたとき,そのデータに対する他のトランザクションからの更新を禁止すること
- イ トランザクションが正常に処理されたときに,データベースへの更新を確定させること
- ウ 何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること
- エ 複数の表を,互いに関係付ける列をキーとして,一つの表にすること
答えと解説
✓ これが正解ウ 何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること
解説
うまく終わらなかった処理を、始める前の状態へ巻き戻します。
トランザクションとは、まとめて成り立たなければ意味のない一連の処理のことで、口座から引いて別の口座へ足す、という組がその例です。片方だけ済んで止まるとお金が消えたことになるので、途中で失敗したときは、始める前の状態へ丸ごと戻します。これがロールバックで、戻すための記録を別に取っておき、それを逆にたどって元へ戻します。うまく終わったときは変更を確定させ、こちらはコミットと呼ばれてロールバックと対になります。戻す範囲は一つのトランザクションの中だけで、すでに終わった別の処理までは戻しません。戻す引き金は途中の失敗のほかにもあり、利用者が取り消した場合や、機械が落ちた場合も同じです。立ち上げ直したときに、記録を見て自動で戻します。残る三つは、同じデータベースの中の別の操作です。
ほかの選択肢の解説
- ア あるトランザクションが共有データを更新しようとしたとき,そのデータに対する他のトランザクションからの更新を禁止すること:あるトランザクションが更新している間、他からの更新を禁じるという選択肢で、これは排他制御にあたります。待たせるぶん遅くなるので範囲を狭くする工夫が必要です。同時に触って壊れるのを防ぐ仕組みで、失敗した後に戻す話ではありません。
- イ トランザクションが正常に処理されたときに,データベースへの更新を確定させること:正常に処理されたときに更新を確定させるという選択肢で、これはコミットにあたり、確定した後は取り消せません。ロールバックと対になっていて、どちらもトランザクションの終わり方で、分かれ目はうまくいったかどうかです。
- エ 複数の表を,互いに関係付ける列をキーとして,一つの表にすること:複数の表を、関係付ける列をキーにして一つの表にするという選択肢で、これは結合と呼ばれる操作です。表からほしい形を取り出すための操作で、処理の失敗とは関わらず、四つの中で最も遠い選択肢です。
関連用語
- ロールバック処理の途中で具合が悪くなったときに、始める前の状態まで戻す操作です。
- コミットトランザクションの更新を確定させる操作です。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。
出典:平成30年度 秋期 ITパスポート試験(特別措置試験) 問63
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
同じ問題: ITパスポート
同じ内容が出た回
関連問題
- 令和8年度 問56:
チェックポイントの 説明 (ロールバック) - 令和7年度 問84:
情報 セキュリティ 方針に 関する 記述 (コミット) - 令和7年度 問82
(ロールバック) - 令和7年度 問61:
トランザクションに 関する 記述 (トランザクション) - 令和6年度 問74:
トランザクション 処理に 関する 記述 (排他制御)
同じ分野の問題
誤りを見つけたら報告する