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

平成28年度春期 データベーススペシャリスト 午前Ⅱ 問17

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

問題

トランザクションの原子性(atomicity)の説明として,適切なものはどれか。

選択肢

  1. ア
    データの物理的格納場所やアプリケーションプログラムの実行場所を意識することなくトランザクション処理が行える。
  2. イ
    トランザクションが終了したときの状態は,処理済みか未処理のどちらかしかない。
  3. ウ
    トランザクション処理においてデータベースの一貫性が保てる。
  4. エ
    複数のトランザクションを同時に処理した場合でも,個々の処理結果は正しい。
解き方のヒントを見る

トランザクション境界の見極め方

処理のまとまりと整合性を検討するときは、開始から完了までの状態変化、途中で失敗した場合の扱い、他処理との関係を順に整理し、個別の実装知識だけで判断しないようにします。

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

一連の処理をどこまで同じまとまりとして捉えるかに注目し、各段階で状態がどう変わり、異常時にどの範囲を見直す必要があるかを整理してください。

視点

整合性を考える際は、処理の境界、状態の確定タイミング、失敗時の影響範囲を分けて整理し、複数の処理が関係する場合は相互の順序や干渉にも目を向けます。

確認ポイント

  • 処理の開始点と終了点を区別して整理する
  • 途中の失敗がどの状態に影響するかを確認する
  • 他の処理との同時実行や順序の関係を確認する
正解と解説を見る

正解

イ

解説

原子性とは、トランザクションを構成する処理を一体として扱い、処理結果が中途半端な状態で確定しないようにする性質です。したがって、終了時の状態が処理済みか未処理のどちらかになるというイが適切です。

理由

原子性は、トランザクション内の処理を分割できない一つの単位として扱う性質です。処理が全体として完了した場合は処理済みとなり、完了しなければ処理前の状態として扱われるため、途中だけが反映された状態を残さない。

比較

アは分散透過性、ウはデータベースの一貫性、エは複数トランザクションを同時実行した場合の正しさに関係する説明であり、原子性そのものを表していない。

選択肢ア

これは不正解だよ。データの物理的な格納場所やアプリケーションプログラムの実行場所を意識せずに処理できるという説明は、分散した資源を利用する際の透過性に関するものだ。処理を一体として扱う原子性の説明ではない。

選択肢イ(正解)

これは正解だよ。原子性は、トランザクションを構成する処理を一つの単位として扱う性質である。そのため、処理の一部だけが反映された状態を残さず、終了時には処理済みか未処理かのどちらかとして扱われる。

選択肢ウ

これは不正解だよ。トランザクション処理によってデータベースの一貫性を保つという説明は、処理の前後で整合性を維持する性質に関するものだ。処理全体を一体として扱う原子性を直接説明していない。

選択肢エ

これは不正解だよ。複数のトランザクションを同時に処理しても個々の処理結果を正しくするという説明は、同時実行時の干渉を適切に制御する性質に関係する。トランザクション内の処理を分割しない原子性とは異なる。

学習のポイント

原子性と一貫性、独立性、物理的な場所を意識しない性質を区別して覚える。

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

関連する過去問一覧

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