修了試験 2023-01-22実施分 基本情報技術者試験 問29
データベースシステムにおいて,二つのプログラムが同一データへのアクセス要求を行うとき,後続プログラムのアクセス要求に対する並行実行の可否の組合せのうち,適切なものはどれか。 ここで,表中の〇は二つのプログラムが並行して実行されることを表し,×は先行プログラムの実行終了まで後続プログラムは待たされることを表す。

正答4
解説
正解は4です。 データベースのロックには、読取り用の共用ロック(共有ロック)と、更新用の排他ロック(専有ロック)があります。 共用ロック同士は同時にかけられますが、一方が排他ロックの場合は、後続のプログラムは先行の終了まで待たされます。 【図の読み取り】 各表は、行が後続プログラムのアクセスモード、列が先行プログラムのアクセスモードです。 正しい組合せは、共用と共用だけが○で、それ以外の三つが×の表です。 【選択肢別解説】 1:× 選択肢1(図のア)は、先行が排他で後続が共用の場合と、先行が共用で後続が排他の場合を○としています。 どちらも排他ロックが絡むので、正しくは×です。 2:× 選択肢2(図のイ)は、先行が共用で後続が排他の場合を○としています。 先行が読み取っている間に後続が更新すると不整合が生じるので、正しくは×です。 3:× 選択肢3(図のウ)は、先行が排他で後続が共用の場合を○としています。 先行が更新中のデータを読み取ると未確定の値を読んでしまうので、正しくは×です。 4:○ 選択肢4(図のエ)は、共用と共用の組合せだけが○で、排他ロックを含む組合せはすべて×です。 ロックの両立性と一致します。 【ポイント】 読取り同士は同時に実行しても問題が起きないので、共用ロック同士だけが両立します。 更新が関わる組合せは、すべて待ちになると覚えましょう。まとめて解く
修了試験 2023-01-22実施分を通しで解く(80問)→