デッドロックとは、複数のトランザクションが互いに相手のトランザクションが保持しているリソースの解放を待ち続け、処理が進まなくなる状態です。デッドロックが発生した場合、データベースシステムはデッドロックを解消するために、いずれかのトランザクションを強制的に異常終了させます。
読み込み中...
読み込み中...
“商品”表に対して、更新 SQL 文を実行するトランザクションが、デッドロックの 発生によって異常終了した。異常終了後の“商品”表はどれか。ここで、“商品”表に 対する他のトランザクションは、参照は行うが更新はしないものとする。
〔更新 SQL文〕
DELETE FROM 商品 WHERE 商品コード = 'B020'
結論 → 詳細 → 補足 の 3 層構成
デッドロックとは、複数のトランザクションが互いに相手のトランザクションが保持しているリソースの解放を待ち続け、処理が進まなくなる状態です。デッドロックが発生した場合、データベースシステムはデッドロックを解消するために、いずれかのトランザクションを強制的に異常終了させます。
この問題では、“商品”表に対する更新 SQL 文(DELETE文)を実行するトランザクションがデッドロックによって異常終了しました。他のトランザクションは参照のみを行うため、更新トランザクションがデッドロック解消のためにロールバック(処理を取り消すこと)されると、そのトランザクションが行おうとした変更は“商品”表に反映されません。
正解はイです。DELETE文は商品コード 'B020' のレコードを削除しようとしましたが、デッドロックが発生し、そのトランザクションが異常終了したため、この削除処理は実行されなかったことになります。しかし、問題文の選択肢イは、商品コード 'B020' のレコードが存在し、商品名が 'BBB' となっています。これは、デッドロック発生前の“商品”表の状態、あるいは他のトランザクション(参照のみ)が関与する前の状態を示唆しています。デッドロックによる異常終了は、そのトランザクションが開始した時点、あるいは直前のコミット状態に戻ることを意味しますが、ここでは選択肢イが最も自然な「異常終了後の状態」として解釈できます。
アは、商品コード 'B020' の商品名が NULL になっているため、DELETE 文が部分的に実行されたか、あるいは別の更新があった可能性を示唆しており、デッドロックによる異常終了後の状態としては不適切です。
ウは、商品コード 'B020' のレコード自体が存在しないため、DELETE 文が既に完了していたか、あるいはデッドロック発生前に削除されていたことを意味しますが、問題文はデッドロック発生直前の状態から推測されるべきです。
エは、商品コード 'A010' や 'C030' のレコードが含まれていないため、UPDATE 文とは関係なく、“商品”表全体を網羅していない不完全な状態を示しており、不適切です。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
データベース の他の問題
基本情報技術者 の同じ分野を年度をまたいで演習する
基本情報技術者 勉強時間の目安|社会人・学生・未経験別の合格モデル
基本情報技術者試験の合格に必要な勉強時間を、社会人・学生・IT未経験の3パターン別に分解。週次の時間配分例と科目A/Bの配分指針を実例で解説します。
基本情報技術者 科目B完全対策|疑似言語・アルゴリズムを確実に解く方法
基本情報技術者試験の科目Bは疑似言語とアルゴリズムが中心。トレース力の鍛え方・頻出パターン(ソート・再帰・リスト)の解法を、AIコパイロット活用法とともに解説します。
基本情報のアルゴリズムが苦手な人の克服ステップ|挫折せずに科目Bを突破する
基本情報技術者試験の科目Bで多くの受験者が挫折するアルゴリズム分野。苦手意識を解消し、確実に得点できるようになるための学習ステップと心の作り方を解説します。
基本情報技術者試験 出題傾向の最新分析|2024〜2025年で増えた論点と捨て論点
基本情報技術者試験の直近2年の出題傾向を分析し、増加している新論点・減少している論点・捨てて良い論点を整理。学習計画の優先度付けに活用できます。