データベースの処理に関する次の記述中のa,bに入れる字句の適切な組合せはどれか。 データベースに対する処理の一貫性を保証するために,関連する一連の処理を一つの単位にまとめて処理することを[ a ]といい,[ a ]が正常に終了しなかった場合に備えて[ b ]にデータの更新履歴を取っている。
平成29年度 秋期 ITパスポート試験 問76
テクノロジ系データベース › トランザクション処理
この問題の解説と、これまでの解答の記録です。
問76
頻出度★☆☆
解説
問 76
不正解ア
a の「正規化」が誤り。正規化はテーブル設計でデータの重複や矛盾を排除する手法であり、「一連の処理を一つの単位にまとめる」ことではない。b の「バックアップファイル」も更新履歴の保存先ではなく、a・b とも不適切。
不正解イ
b の「ログファイル」は正しいが、a の「正規化」が誤り。正規化はデータ構造を整える設計手法であって、処理を一つの単位にまとめる概念ではない。a が合わないため不適切。
不正解ウ
a の「トランザクション処理」は正しいが、b の「バックアップファイル」が誤り。バックアップファイルはある時点のデータの複製 (静的なコピー) であり、逐次の更新履歴を記録するものではない。更新履歴を取る保存先はログファイルなので b が合わず不適切。
- エ
正解 正解は エ (a:トランザクション処理 / b:ログファイル)。a は「データベースに対する処理の一貫性を保証するために、関連する一連の処理を一つの単位にまとめて処理すること」という記述にそのまま該当し、これを「トランザクション処理」と呼ぶ。トランザクションはすべて成功するか、まったく反映しないか (原子性) の単位として扱われる。b は、そのトランザクションが正常に終了しなかった場合に備えて「データの更新履歴」を残す保存先で、これが「ログファイル」(ジャーナルファイル) である。更新前・更新後の値を時系列で記録しておくことで、障害発生時にロールバック (更新前へ戻す) やロールフォワード (更新後へ進める) による回復ができる。a・b とも合致する エ が正しい。
ここがポイント
- トランザクションとは、データベースの一貫性を保つために関連する複数の処理を不可分な一つの単位としてまとめて扱う仕組み (原子性: すべて反映か、全く反映しないか)。
- ログファイル (ジャーナル) は更新前後の履歴を記録し、障害時のロールバック/ロールフォワードによる回復に使う。ある時点の複製であるバックアップファイルとは役割が異なる。
用語