DBデータベーススペシャリスト試験 午前Ⅱ

令和4年度秋期 データベーススペシャリスト 午前Ⅱ 問15

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

トランザクションのACID特性のうち,原子性(atomicity)の記述として,適切なものはどれか。

選択肢

  1. ア
    データベースの内容が矛盾のない状態であること
  2. イ
    トランザクションが正常終了すると,障害が発生しても更新結果はデータベースから消失しないこと
  3. ウ
    トランザクションの処理が全て実行されるか,全く実行されないかのいずれかで終了すること
  4. エ
    複数のトランザクションを同時に実行した場合と,順番に実行した場合の処理結果が一致すること
解き方のヒントを見る

境界を見極める整合性の視点

トランザクションを一つの処理単位として捉え、開始から完了までに何が確定し、途中の状態が他の処理へどう影響し得るかを整理し、処理の区切りと整合性の関係を一般的な観点から考えます。

この問題で問われていること

この問題では、処理の区切りと整合性が保たれる範囲の関係にだけ注目し、各操作を時系列に並べて、確定前後で観測される状態の違いと、処理単位の内外で確認すべき条件を整理します。

視点

トランザクションの境界を考えるときは、複数の操作を一続きの単位として整理し、途中経過と確定後の状態を分けて捉えます。整合性については、処理の途中で許される状態と、単位が終わった時点で満たされるべき条件を区別して確認しましょう。

確認ポイント

  • 一連の操作の開始点と終了点を整理する
  • 途中経過と処理完了後の状態を分けて考える
  • 整合性を確認する時点と対象範囲を見直す
正解と解説を見る

正解

ウ

解説

原子性とは、トランザクションを構成する処理が一部だけ実行された状態にならず、処理全体が実行されるか、全く実行されないかのどちらかになる性質です。

理由

原子性は、トランザクション内の複数の処理を一つのまとまりとして扱う性質です。処理途中で障害が起きた場合も、一部の更新だけが残る状態を避ける。

比較

矛盾のない状態を保つのは一貫性、障害後も更新結果を保持するのは永続性、同時実行時の結果を制御するのは独立性に対応する。

選択肢ア

これは不正解だよ。データベースの内容が矛盾のない状態であることは、トランザクションの実行によって整合性を保つ一貫性の説明である。処理全体を実行するか、全く実行しないかという原子性の説明ではない。

選択肢イ

これは不正解だよ。正常終了後に障害が発生しても更新結果が消失しないことは、確定した結果を保持する永続性の説明である。トランザクション内の処理を一体として扱う原子性とは対象が異なる。

選択肢ウ(正解)

これは正解だよ。トランザクションの処理が全て実行されるか、全く実行されないかのいずれかで終了することは、処理の一部だけが反映されるのを防ぐ原子性そのものである。

選択肢エ

これは不正解だよ。複数のトランザクションを同時に実行した場合と順番に実行した場合の結果を一致させることは、同時実行の影響を制御する独立性の説明である。原子性は一つのトランザクションの完了単位に関する性質である。

学習のポイント

ACID各特性の役割を、保証される対象の違いで整理する。

出典:独立行政法人 情報処理推進機構(IPA)令和4年度秋期 データベーススペシャリスト試験 午前Ⅱ 問15(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針