問題本文
複数の利用者がデータベースの同じレコードを更新するときに,データの整合性を保つために行う制御として,適切なものはどれか。
選択肢
- ア.正規化
- イ.タイマ監視
- ウ.ロールフォワード
- エ.ロック/アンロック
解説
複数の利用者がデータベースの同じレコードを同時に更新する場合,データの整合性を保つには排他制御(ロック/アンロック)を用いる必要がある. レコードに更新ロックをかけて他者の更新を待たせ,処理完了後にアンロックして解放することで,いわゆるLost Update(更新の喪失)など整合性破壊を防ぐ仕組みである. 共有ロック(参照のみ許可)・排他ロック(更新時の独占)など複数のロックモードがある. 正規化はデータ設計時の手法,タイマ監視は処理時間の監視,ロールフォワードは障害復旧時の更新再適用処理で,いずれも同時更新時の整合性保持(排他制御)とは目的・機能が異なる別概念である.
選択肢ごとの解説
- ア.誤り. 正規化はデータベース設計時に冗長性を排除し更新異常(挿入異常・更新異常・削除異常)を防ぐためのテーブル分解手法の説明で,実行時の同時更新整合性保持(排他制御)とは目的が異なる別概念である. 設計フェーズで行う論理データモデルの整理作業に位置付けられ,本問の機能とは性質が異なる.
- イ.誤り. タイマ監視は処理が指定時間内に完了するかを監視する仕組みの説明で,データの同時更新時の整合性保持の手段ではない. 時間管理の仕組みであって排他制御ではないため,複数利用者が同じレコードを更新する際の整合性を確保する手段としては不適切である.
- ウ.誤り. ロールフォワードは障害復旧時にバックアップ取得時点以降の更新ログを再適用してデータベースを障害直前の状態に戻す処理の説明で,同時更新時の整合性制御とは目的・機能が異なる別の処理である. 障害復旧の手段で,日常運用での同時更新時の整合性確保には用いない処理.
- エ.正しい. ロック/アンロックは同時更新時にレコードへの排他アクセスを制御し整合性を保つ排他制御の仕組みであり,本問の用途に合致するため. 複数利用者環境でのデータ整合性保持の典型手法で,DBMSの基本機能として標準的に提供されている重要な仕組みである.
ITパスポート 2016年 (平成28年 秋期) の過去問一覧へ戻る・問81