データベース|令和6年度 ITパスポート試験 問74
トランザクション処理に関する記述のうち,適切なものはどれか。
- コミットとは,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態に戻すことである。
- 排他制御とは,トランザクションが正常に処理されたときに,データベースの内容を確定させることである。
- ロールバックとは,複数のトランザクションが同時に同一データを更新しようとしたときに,データの矛盾が起きないようにすることである。
- ✓ これが正解ログとは,データベースの更新履歴を記録したファイルのことである。
解説
更新の履歴を残した記録がログで、戻すときの元になります。
データベースのひとまとまりの処理には、いくつかの決まった言葉が使われます。ログは、いつ何をどう変えたかという更新の履歴を順に書きためたファイルです。よってこの記述が当てはまります。障害が起きたときは、この履歴をたどって処理前の状態へ戻したり、控えから復元したうえで履歴を当て直したりします。残りの三つは説明そのものは正しいのですが、別の言葉の説明が当てられています。正常に終わったときに内容を確定させるのがコミット、正常に終わらなかったときに開始前へ戻すのがロールバック、同時に同じデータを更新しても矛盾しないようにするのが排他制御です。三つがひとつずつずれた形になっています。
ほかの選択肢はなぜ違うのか
- コミットを、正常に処理されなかったときに開始前の状態へ戻すことだとしています。これはロールバックの説明です。コミットは確定させる側なので、意味がちょうど逆になります。
- 排他制御を、正常に処理されたときに内容を確定させることだとしています。これはコミットの説明です。排他制御は同時に触ったときの取り合いを整える仕組みで、確定させる働きではありません。
- ロールバックを、複数の処理が同時に同じデータを更新しようとしたときに矛盾を防ぐことだとしています。これは排他制御の説明です。ロールバックは戻す働きで、防ぐ働きではありません。
この問題に関係する言葉
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- コミット
- ロールバック
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:令和6年度 ITパスポート試験 問74
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)