令和元年度 秋期 (特別措置試験) 問64
データベース
排他制御の目的
データベース管理システムにおける排他制御の目的として,適切なものはどれか。
- ア誤ってデータを修正したり,データを故意に改ざんされたりしないようにする。
- イデータとプログラムを相互に独立させることによって,システムの維持管理を容易にする。
- ウデータの機密のレベルに応じて,特定の人しかアクセスできないようにする。
- エ複数のプログラムが同一のデータを同時にアクセスしたときに,データの不整合が生じないようにする。
答えと解説を見る
✓ これが正解エ複数のプログラムが同一のデータを同時にアクセスしたときに,データの不整合が生じないようにする。
解説
同時に触られたときに、データの食い違いを防ぐための働きです。
排他制御は、複数のプログラムが同じデータへ同時に触ろうとしたときに、食い違いが起きないようにする働きです。たとえば、残りの数を読み取って一つ減らす処理が二つ同時に走ると、どちらも同じ値を読んでしまい、結果として一つ分しか減らないことが起こりえます。そこで、先に触ったほうがロックをかけ、後から来たほうは終わるまで待つ形にします。一つのまとまりとして扱うトランザクションの単位でロックをかけるので、途中の半端な状態が他から見えることもありません。ただし、互いに相手のロックを待ち合って進めなくなるデッドロックには別の備えが必要です。データベース管理システムが、この仕組みを受け持ちます。待たせる範囲を広く取るほど安全ですが、その分だけ処理は遅くなります。よって最も適切なのは、データの不整合が生じないようにすることです。
ほかの選択肢はなぜ違うのか
- ア誤ってデータを修正したり,データを故意に…:誤って直したり故意に書き換えられたりしないようにするのは、誰に何を許すかを定める働きや、元に戻せるようにしておく働きが受け持ちます。同時に触られたときの食い違いを防ぐ働きとは、想定している場面が違います。一人でも起きます。
- イデータとプログラムを相互に独立させること…:データとプログラムを独立させて維持管理を楽にするのは、データの独立性です。作りを変えても影響が及ばないようにする話であり、同時に動いたときの整合を保つ話ではありません。作りやすさのための考え方で、時間の重なりを扱いません。
- ウデータの機密のレベルに応じて,特定の人し…:機密の度合いに応じて特定の人しか触れないようにするのは、権限の設定です。誰に見せるかを決める話なので、許された者どうしが同時に触ったときの食い違いは、これでは防げません。誰を入れるかの話で、順番を待たせる話ではありません。
この問題の用語
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- 改ざん保管や送信の途中で、内容を許されずに書き換えること。完全性が損なわれますが、電子署名などを使えば起きたことを見つけられます。
- 機密決められた人以外に見せてはならない、という扱いのことです。社外秘などの区分を決め、書類に表示して全員に周知します。
出典:令和元年度 秋期 ITパスポート試験(特別措置試験) 問64
同じ用語が出る問題
- 令和8年度 問56:チェックポイントの説明(トランザクション)
- 令和7年度 問61:トランザクションに関する記述(トランザクション)
- 令和6年度 問74:トランザクション処理に関する記述(排他制御)
- 令和5年度 問66:コミットの説明(排他制御)
- 令和2年度 10月 (特別措置試験) 問64:DBMSに関する問題(排他制御)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)