メインコンテンツへスキップ
基本情報技術者令和1年度 秋期午前29

令和1年度 秋期 基本情報技術者 午前29

難度標準

2相ロッキングプロトコルに従ってロックを獲得するトランザクションA, Bを図のように同時実行した場合に、デッドロックが発生しないデータ処理順序はどれか。ここで, read と update の位置は、アプリケーションプログラムでの命令発行時点を表す。また、データ Wへの read は共有ロックを要求し、データ X, Y, Zへの update は各データへの専有ロックを要求する。

選択肢

① read W, ② update Y, ③ update X, ④ update Z
① read W, ② update Y, ③ update Z, ④ update X
① update X, ② read W, ③ update Y, ④ update Z
① update Y, ② update Z, ③ update X, ④ read W

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

ウが正解となるのは、2相ロッキングプロトコル(2PL)において、デッドロックを回避するためには、トランザクションがロックを「獲得するフェーズ」と「解放するフェーズ」を明確に分ける必要があるからです。ウの順序では、トランザクションAとBは、それぞれ必要なロックを全て獲得してから解放するフェーズに進むため、互いのロックが解放されるのを待つ状況(デッドロック)が発生しません。

詳細Layer 2

アは、トランザクションAがWの共有ロックを獲得後、トランザクションBがYの専有ロックを要求した後に、AがXの専有ロックを要求する順序であり、BがYのロックを解放する前にAがXのロックを必要とするため、デッドロックの可能性があります。イは、AがWの共有ロック、BがYの専有ロックを獲得し、次にAがZの専有ロックを要求する順序ですが、BがYを解放する前にAがZを更新しようとすると、BがXのロックを保持している場合にデッドロックが生じ得ます。エは、トランザクションAがYの専有ロック、BがZの専有ロックを獲得した後、AがXの専有ロックを要求する順序ですが、BがZのロックを解放する前にAがXのロックを必要とし、かつBがXのロックを保持している場合にデッドロックが発生する可能性があります。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「データベース」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
正規化・SQL・トランザクション特性(ACID)・同時実行制御・分散DBの基本。
学習の進め方
ER 図 ⇄ 関係スキーマ ⇄ SQL の3者を行き来できるよう演習。3NF までの正規化を手で実行できると強い。
関連キーワード
正規化SQLACIDトランザクションロックデッドロックER図
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

データベース の他の問題