修了試験 2025-06-08実施分 基本情報技術者試験 問22
データベースの排他制御におけるロック獲得の可能性のうち,適切なものはどれか。
正答1
解説
正解は1です。 データベースの排他制御で、ロックを同時に獲得できる組合せを問う問題です。 共有ロックは読み取り用で、ほかのトランザクションも読むことは許します。 専有ロック(排他ロック)は更新用で、ほかのトランザクションの読み書きをすべて禁止します。 【選択肢別解説】 1:○ 共有ロックどうしは両立します。 複数のトランザクションが同時に読み取るだけならデータの矛盾は起きないので、別のトランザクションも共有ロックを獲得できます。 2:× 共有ロック中の資源に専有ロックは獲得できません。 読み取り中のデータが更新されると矛盾が生じるので、共有ロックの解除を待つ必要があります。 3:× 専有ロック中の資源に共有ロックは獲得できません。 更新途中のデータを読むと矛盾したデータを参照するおそれがあるためです。 4:× 専有ロック中の資源に別の専有ロックは獲得できません。 二つのトランザクションが同時に更新すると、更新が失われるおそれがあるためです。 【ポイント】 同時に獲得できるのは「共有ロックと共有ロック」の組合せだけです。 専有ロックが関わる組合せは、どちらが先でもすべて待ちになると覚えましょう。まとめて解く
修了試験 2025-06-08実施分を通しで解く(60問)→