データベース
基本情報技術者試験 科目A免除 修了試験 20210725 実施分 問27
データベースのトランザクションに関する記述のうち,適切なものはどれか。
- ア 他のトランザクションにデータを更新されないようにするために,テーブルに対するロックをアプリケーションプログラムが解放した。
- イ トランザクション障害が発生したので,異常終了したトランザクションを DBMS がロールフォワードした。
- ウ トランザクションの更新結果を確定するために,トランザクションをアプリケーションプログラムがロールバックした。
- エ 複数のトランザクション間でデッドロックが発生したので,トランザクションを DBMS がロールバックした。
出典:基本情報技術者試験 科目A免除 修了試験 20210725 実施分 問27
答えと解説を見る
正解:エ
覚える知識
デッドロックの定義
デッドロック検出時、DBMS はいずれかのトランザクションを強制的にロールバックして解消する。
この問題で必要なこと
デッドロックが発生すると DBMS が一方のトランザクションをロールバックして解消する。ロールフォワードは障害回復、コミットで更新確定。
ひっかけ
ロールバックを更新確定と取り違える、トランザクション障害にロールフォワードを使う誤り。
この知識の出題:本試験系 2 回・免除試験 4 回(公開問題での観測値)