本文へスキップ

平成28年度 秋期 ITパスポート試験 問81

この問題の解説と、これまでの解答の記録です。

問81
頻出度★☆☆

複数の利用者がデータベースの同じレコードを更新するときに, データの整合性を保つために行う制御として, 適切なものはどれか。

出典 平成28年度 秋期 ITパスポート試験 問81
解説

問 81

  • 不正解ア

    正規化は、データの重複や矛盾を減らすためにテーブルを適切な形(第1〜第3正規形など)に分割するデータベース設計の手法。設計段階の話であり、実行時に複数利用者の同時更新を制御する仕組みではないので誤り。

  • 不正解イ

    タイマ監視は、一定時間内に応答や処理が完了したかを時間で見張る仕組み(タイムアウト検出など)。同時更新の競合を防いで整合性を守る制御ではないので誤り。

  • 不正解ウ

    ロールフォワードは、障害発生時にバックアップと更新後ログ(ジャーナル)を使って処理を再度進め、データを障害直前の状態まで復旧させる障害回復の技法。壊れたデータを直す手段であり、同時更新そのものを制御するものではないので誤り。

  • エ

    正解 正解は「エ ロック/アンロック」。複数の利用者が同じレコードを同時に更新すると、後から書き込んだ更新が先の更新を上書きして消してしまう(ロストアップデート)など、データの整合性が崩れる恐れがある。これを防ぐのが排他制御であり、あるトランザクションがレコードを更新する間はそのレコードにロックをかけて他者の更新を待たせ、処理が終わったらアンロックして解放する。これにより同時更新の競合を防ぎ、データの整合性を保てる。

ここがポイント
  • 排他制御(ロック/アンロック)=複数トランザクションが同じデータを同時に更新する際、ロックで他者を待たせて競合(ロストアップデート等)を防ぎ、データの整合性を保つ仕組み。
  • 正規化はDB設計手法、ロールフォワードは障害回復技法、タイマ監視は時間監視であり、いずれも同時更新の制御とは目的が異なる。
用語

解答の記録