問64
頻出度★☆☆
データベース管理システムにおける排他制御の目的として, 適切なものはどれか。
この問題の解説と、これまでの解答の記録です。
データベース管理システムにおける排他制御の目的として, 適切なものはどれか。
※ この問題は、解説作成時の検算で公表解答を確認しきれませんでした。判定は IPA 公表の解答どおりです。
誤修正や故意の改ざんを防ぐのは、データの完全性(インテグリティ)確保やアクセス権・監査などの目的であり、同時アクセスの競合を調停する排他制御とは別の話。排他制御は「同時実行の制御」であって改ざん対策そのものではない。
データとプログラムを相互に独立させて維持管理を容易にするのは「データ独立性」の説明で、DBMS がデータ構造とアプリケーションを分離することの利点。排他制御とは無関係。
機密レベルに応じて特定の人だけがアクセスできるようにするのは「アクセス制御(アクセス権管理)」やセキュリティの目的。誰がアクセスしてよいかを制御する話であり、同時アクセスの整合性を守る排他制御とは目的が異なる。
正解 排他制御(ロック)とは、あるプログラムがデータを更新している間、他のプログラムがそのデータへ同時にアクセス・更新できないように一時的に占有(ロック)する仕組みである。これがなければ、複数のプログラムが同一データを同時に読み書きしたときに更新が上書きされる「ロストアップデート」などが起き、データの整合性が崩れる。エは「複数のプログラムが同一のデータを同時にアクセスしたときに、データの不整合が生じないようにする」であり、まさに排他制御の目的そのものなので正しい。