平成21年度 秋期 ITパスポート試験 問88
テクノロジ/データベース複数の利用者が同時にデータベースを利用する場合に,1人の利用者がデータ更新中に,同一のデータを別の利用者が参照しようとした。このとき,データの整合性を保障するためのデータベース管理システムでの制御として,適切なものはどれか。
出典:平成21年度 秋期 ITパスポート試験 問88
- ア更新処理を中断して参照させる。
- イ更新中の最新のデータを参照させる。
- ウ更新中の利用者の処理が終了してから参照させる。
- エ更新を破棄して更新前のデータを参照させる。
正解:ウ
解説
同じデータを複数の利用者が同時に更新・参照すると,更新の途中の不完全な値を読んでしまうなどの矛盾が生じます。これを防ぐための制御が排他制御(ロック)で,更新中の利用者の処理が終了(確定)するまで,他の利用者の参照や更新を待たせます。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- ア誤り。更新処理を中断すると,更新が完了せず,データの整合性が保てなくなるおそれがあります。
- イ誤り。更新中の途中のデータを参照させると,確定前の不完全なデータを読んでしまうことになります。
- ウ正しい。更新中の利用者の処理が終了してから参照させるのが,排他制御です。
- エ誤り。他の利用者の参照のために,更新を破棄して更新前のデータを見せることはしません。