令和元年度 秋期 ITパスポート試験 問64 解説 データベースの排他制御
データベース管理システムにおける排他制御の目的として,適切なものはどれか。
- ア 誤ってデータを修正したり,データを故意に改ざんされたりしないようにする。
- イ データとプログラムを相互に独立させることによって,システムの維持管理を容易にする。
- ウ データの機密のレベルに応じて,特定の人しかアクセスできないようにする。
- エ 複数のプログラムが同一のデータを同時にアクセスしたときに,データの不整合が生じないようにする。 ✓ 正答
解説
この問題は、排他制御という用語の意味を正しく理解しているかを問うものです。排他制御の排他とは「他を排除する」という意味であり、ある処理がデータを使っている間、他の処理によるアクセスを制限することを指します。選択肢の中から「データの不整合を防ぐ」という目的を探すことで正解を導き出せます。
排他制御は、データベースにおいて非常に重要な概念です。例えば、銀行の口座残高が1万円のとき、同時に2つのATMから引き出し操作が行われたとします。もし排他制御がなければ、両方のATMで1万円の引き出しが成功してしまうというデータの不整合が発生します。これを防ぐために、一方の処理が終わるまでもう一方を待たせる、あるいは操作できないようにロックをかけるのが排他制御の役割です。
各選択肢の内容を整理すると、データベースの管理における他の重要な概念が見えてきます。
選択肢アの内容は「セキュリティ」や「完全性」の確保に関する説明です。これは権限管理やログの取得などで防ぐ領域であり、排他制御とは別の仕組みです。
選択肢イは「データ独立性」の説明です。データとプログラムを分離することで、データベースの構造を変えてもプログラムへの影響を最小限に抑えることを指します。
選択肢ウは「アクセス制御」です。ユーザーごとに閲覧や編集の権限を設定することで、情報の漏洩や不正な操作を防ぐ仕組みです。
ITパスポート試験において、この問題は「データベースの運用管理」という分野で頻出します。排他制御が「並行処理」に伴うトラブルを防ぐための機能であることを押さえておけば、類似の問題にも確実に対応できるようになります。
- データベースの基礎知識と排他制御の仕組み(エンジニア入門向け解説記事)