デッドロックは、複数のトランザクションが互いに相手のトランザクションが保持しているロックの解除を待ち合わせ、永久に処理が進まなくなる状態です。この問題では、トランザクションAとBがテーブルaとbを更新する際に、ロックの取得と解除のタイミングによってデッドロックが発生する時点を問われています。
2017年度 春期 ITストラテジスト 午前I 問8
トランザクションAとBが、共通の資源であるテーブルaとbを表に示すように更新するとき、デッドロックとなるのはどの時点か。ここで、表中の①~⑧は処理の実行順序を示す。また、ロックはテーブルの更新直前にテーブル単位で行い,アンロックはトランザクション終了時に行うものとする。
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
正解であるエ(⑥)は、トランザクションAがテーブルbのロックを取得しようとした時点でデッドロックが発生します。これは、トランザクションBが既にテーブルbをロックしており、かつトランザクションAが保持しているテーブルaのロック解除を待っている状態だからです。つまり、Aはbを待っており、Bはaを待っているという相互待ちが発生します。
ア(③)は、トランザクションAがテーブルbのロックを取得した直後であり、トランザクションBはまだテーブルbをロックしていないため、デッドロックは発生しません。イ(④)では、トランザクションBがテーブルbのロックを取得しましたが、トランザクションAはまだテーブルaのロックを保持しており、bのロックも取得できていないため、相互待ちの状態には至っていません。ウ(⑤)は、トランザクションBがテーブルaのロックを解除した直後であり、トランザクションAがbのロックを保持しているものの、Bはaを解放したのでAの解除を待つ必要がなくなり、デッドロックは発生しません。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「データベース」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 正規化・SQL・トランザクション特性(ACID)・同時実行制御・分散DBの基本。
- 学習の進め方
- ER 図 ⇄ 関係スキーマ ⇄ SQL の3者を行き来できるよう演習。3NF までの正規化を手で実行できると強い。
- 関連キーワード
- 正規化SQLACIDトランザクションロックデッドロックER図
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
データベース の他の問題
- ITストラテジスト2009年度 秋期 午前I 問11分散トランザクション処理で利用される2 相コミットプロトコルでは、コミット処理を開始する調停者 (coordinator)と、調停者からの指示を受信してから必要なアクションを開始する参加者 (participant)がいる。この2相コミットプロトコルに関する記述のうち、適切なもの…
- ITストラテジスト2009年度 秋期 午前I 問12データベースの障害回復処理に関する記述のうち、適切なものはどれか。
- ITストラテジスト2010年度 秋期 午前I 問11次の表定義において,“在庫”表の製品番号に定義された参照制約によって拒否される可能性のある操作はどれか。ここで、実線は主キーを、破線は外部キーを表す。 在庫(在庫管理番号,製品番号,在庫量) 製品(製品番号,製品名,型,単価)
- ITストラテジスト2011年度 秋期 午前I 問10価格設定年月日に NULL を含む“商品”表に対して、次の問合せを行った。この検索結果の行数は幾つか。 SELECT 商品コード FROM 商品 WHERE 価格設定年月日<'2011-12-01' 商品 商品コード | 商品名 | 価格 | 価格設定年月日 S001 | ボール…
- ITストラテジスト2011年度 秋期 午前I 問11元のデータベースと同じ内容の複製データベースをあらかじめ用意しておき、元のデータベースの更新に対し、非同期にその内容を複製データベースに反映する手法はどれか。