応用情報技術者 2011年 春期 午前2 問32
問題文
トランザクションの原子性 (atomicity)の説明として、適切なものはどれか。
選択肢
ア:データの物理的格納場所やアプリケーションプログラムの実行場所を意識することなくトランザクション処理が行える。
イ:トランザクションが完了したときの状態は、処理済みか未処理のどちらかしかない。(正解)
ウ:トランザクション処理においてデータベースの一貫性が保てる。
エ:複数のトランザクションを同時に処理した場合でも、個々の処理結果は正しい。
トランザクションの原子性 (atomicity) の説明【午前2 解説】
要点まとめ
- 結論:トランザクションの原子性とは「処理が全て完了するか、全く行われないかのどちらかである」ことを指します。
- 根拠:原子性はトランザクションの4大特性(ACID)の一つで、途中で失敗した場合は処理を全て取り消すことが求められます。
- 差がつくポイント:原子性は「中途半端な状態を残さない」ことに注目し、他の特性(整合性、一貫性、独立性)と混同しないことが重要です。
正解の理由
選択肢イ「トランザクションが完了したときの状態は、処理済みか未処理のどちらかしかない。」は、原子性の本質を正確に表しています。トランザクションは全ての処理が成功してコミットされるか、失敗してロールバックされるかのどちらかであり、中途半端な状態は存在しません。
よくある誤解
原子性を「処理の場所や実行環境に依存しないこと」と誤解しがちですが、それは透明性の話です。また、整合性や一貫性と混同してしまうことも多いです。
解法ステップ
- トランザクションの4大特性(ACID)を確認する。
- 原子性(Atomicity)が「全か無か」の処理であることを理解する。
- 選択肢の文言が「全て成功か全て失敗か」を示しているかを判断する。
- 他の特性(整合性、一貫性、独立性)に関する説明と区別する。
- 最も原子性の定義に合致する選択肢を選ぶ。
選択肢別の誤答解説
- ア:処理の場所や実行環境を意識しないのは「透過性(透明性)」の特徴であり、原子性とは異なります。
- イ:正解。処理が全て完了するか全く行われないかのどちらかであることを示しています。
- ウ:データベースの一貫性を保つのは「整合性(Consistency)」の役割であり、原子性の説明ではありません。
- エ:複数トランザクションの同時処理で結果が正しいのは「独立性(Isolation)」の説明です。
補足コラム
トランザクションのACID特性は、データベースの信頼性を支える基本概念です。原子性は特に障害発生時のデータの整合性を守るために重要で、途中で失敗した処理を全て取り消すロールバック機能と密接に関連しています。
FAQ
Q: 原子性と整合性はどう違いますか?
A: 原子性は「処理が全て成功するか全て失敗するか」の性質で、整合性は「データが正しい状態を保つこと」を指します。
A: 原子性は「処理が全て成功するか全て失敗するか」の性質で、整合性は「データが正しい状態を保つこと」を指します。
Q: トランザクションが途中で失敗した場合はどうなりますか?
A: 原子性により、途中までの処理は全て取り消され、データは処理前の状態に戻されます。
A: 原子性により、途中までの処理は全て取り消され、データは処理前の状態に戻されます。
関連キーワード: トランザクション、原子性、ACID特性、ロールバック、データベース管理

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

