ITパスポート試験 過去問解説

トランザクションとは?ITパスポート試験 2018年 (平成30年 秋期) 問63を解説

ITパスポート試験 2018年 (平成30年 秋期) 問63は、トランザクションに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

トランザクション処理におけるロールバックの説明として,適切なものはどれか。

この問題の出題ポイント

  • トランザクションの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • テクノロジ系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: トランザクション、ロールバック。

選択肢

  1. あるトランザクションが共有データを更新しようとしたとき,そのデータに対する他のトランザクションからの更新を禁止すること
  2. トランザクションが正常に処理されたときに,データベースへの更新を確定させること
  3. 何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること正解
  4. 複数の表を,互いに関係付ける列をキーとして,一つの表にすること

正解

: 何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること

解説

ロールバック(Roll Back)はデータベース管理システム(DBMS)のトランザクション制御機能の一つで、実行中のトランザクションが途中で異常終了(エラー・障害・意図的なアボート)した場合に、そのトランザクションが行ったすべての更新を取り消してデータベースをトランザクション開始前の状態に戻す操作。対義語はコミット(Commit)で正常完了時の更新確定。ACID特性の原子性(Atomicity:一連の処理が全て完了するか全て取り消されるかのどちらかを保証)を実現する重要機能である。

なぜ他の選択肢が違うのか

  • 誤り。あるトランザクションがデータ更新時に他のトランザクションからの同一データへの更新を禁止することは排他制御(ロック:Lock)の説明。データの競合・矛盾・ダーティリードを防ぐための同時実行制御(同時アクセス制御)機能であり、更新処理を取り消すロールバックとは全く別の機能である。

  • 誤り。トランザクションが正常完了した際にデータベースへの更新を確定させることはコミット(Commit)の説明。ロールバックと対をなすトランザクション終了操作で、コミットで永続化(更新確定)・ロールバックで取り消し(元に戻す)という相反する二つの結末を表す。

  • ウ(正解)

    正解。ロールバックはトランザクションが何らかの理由(エラー・障害・意図的なアボート)で正常に処理されなかった場合に、データベースをトランザクション開始前の状態に戻す操作。ACID特性の原子性を実現し、中途半端な状態でのデータ更新が残ることを防ぐ重要なデータ整合性維持機能である。

  • 誤り。複数の表を関連するフィールド(主キー・外部キー)をもとに一つの結果セットに結合することはJOIN(結合)操作の説明。SQLのINNER JOIN・OUTER JOIN等を使ったデータ抽出操作であり、トランザクションの取り消しを行うロールバックとは全く異なる概念である。

解き方の整理

トランザクションの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連用語

関連問題

前後の問題

2018年 (平成30年 秋期) の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。