データベース|令和7年度 ITパスポート試験 問61
DBMSのトランザクションに関する記述として,適切なものはどれか。
- あるデータベースの内容を他のデータベースに複製し,内容の同期をとる。
- データベースに対して行った操作を,順次記録する。
- ✓ これが正解データベースに対する一連の処理が全て成功したら変更結果を確定し,途中で失敗したら処理前の状態に戻す。
- データベースの表の索引を作成し,検索時には索引を使用する。
解説
全部成功か、全部なかったことにするかのどちらかになります。
口座から引いて別の口座へ足すような処理は、途中で止まると片方だけが進んだ状態になり、つじつまが合わなくなります。そこで、いくつかの操作をひとまとまりとして扱い、全部うまくいったときだけ結果を確定させます。どこかで失敗したら、始める前の状態に丸ごと戻します。このまとまりがトランザクションです。途中の中途半端な状態が残らないので、いつ見てもつじつまの合った状態が保たれます。一連の処理が全て成功したら確定し、失敗したら戻すという記述が当てはまります。DBMS はこの働きを土台として備えています。途中の状態が外から見えないことも、この仕組みの利点です。
ほかの選択肢はなぜ違うのか
- あるデータベースの中身を別のところへ写して同じ状態に保つ働きです。備えとして持ち合う仕組みであり、一つの処理をまとまりとして扱う話ではありません。壊れたときに別の一つで続ける、という備え方です。
- 行った操作を順に記録していく働きです。戻すときの手がかりにはなりますが、ログを残すこと自体は、全部か無かを決める仕組みそのものではありません。戻すかどうかを決めるのは、まとまりのほうです。
- 表に索引を作り、探すときにそれを使う働きです。インデックスは見つける速さを上げるための仕組みであり、つじつまを保つ話とはまったく別の目的です。速くなっても、途中で止まれば同じように壊れます。
この問題に関係する言葉
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- インデックス
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:令和7年度 ITパスポート試験 問61
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)