原子性とは?げんしせい
原子性とは、トランザクションに含まれる更新が、すべて反映されるか1つも反映されないかのどちらかで終わる性質。途中で異常終了しても、ログをたどって開始前の状態まで戻す(ロールバック)ことで実現される。コミットが完了して初めて「すべて反映された」側に確定する。
最終更新:2026-10-06
この語が出る過去問を解く →背景
業務の更新は「出金と入金」「在庫の引当と受注明細の登録」のように、対で成立して初めて意味を持つ。片方だけが残ると帳簿が合わず、しかも障害はどの瞬間にも起こり得る。そこで途中状態を残さないことをDBMSの責任にし、更新前の値を記録するログを土台にロールバックを実装した。障害回復の設問は、この仕組みをどこまで理解しているかを問うている。
具体例
受注確定で在庫の引当と受注明細の登録をまとめて1つのトランザクションにする。PostgreSQLならBEGINからCOMMITまでが単位で、途中の例外でROLLBACKされれば、在庫だけ減って受注が存在しない状態は残らない。
試験での引っ掛け
ACIDの他の3つと混同しやすい。途中結果が他から見えないのは隔離性、実行前後で制約が保たれるのは一貫性、コミット後に失われないのは耐久性で、原子性は全か無かだけを言う。またロールバックできるのはコミット前までで、コミット済みの取消しは打消しの更新(補償)であって原子性の話ではない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問17(IPA)
トランザクションの原子性(atomicity)の説明として、適切なものはどれか。
正解:トランザクションが終了したときの状態は、処理済みか未処理のどちらかしかない。
要点:原子性は全て実行か全く実行しないかのどちらかになる性質
原子性は、トランザクションの処理が全て実行されるか、全く実行されないかのどちらかになる性質である。途中で異常が起きた場合はロールバックして開始前の状態に戻すため、中途半端に一部だけ反映された状態は残らない。
出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問16(IPA)解説で登場
トランザクションのACID特性の説明として、適切なものはどれか。
正解:トランザクションの実行の結果が矛盾した状態になることはない。
要点:一貫性は実行の前後で矛盾のない状態が保たれること
ACID特性の一貫性(consistency)は、トランザクションの実行前後でデータベースが矛盾のない状態に保たれることを意味する。原子性により中途半端な状態は残らず、耐久性によりコミット済みの結果は障害後も失われず、独立性により同時実行の影響を受けない。
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問18(IPA)
DBMSに実装すべき原子性(atomicity)を説明したものはどれか。
正解:トランザクション内の処理は、全てが実行されるか、全てが取り消されるかのいずれかである。
要点:原子性は全実行か全取消しのいずれかを保証する
原子性は、トランザクション内の処理が全て反映されるか、全て取り消されるかのどちらかになることを保証する性質である。途中で異常が起きた場合はロールバックによって開始前の状態に戻され、一部だけ反映された中途半端な状態は残らない。
出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問15(IPA)
トランザクションのACID特性のうち、原子性(atomicity)の記述として、適切なものはどれか。
正解:トランザクションの処理が全て実行されるか、全く実行されないかのいずれかで終了すること
要点:原子性は全実行か全未実行かのどちらかで終わること
原子性は、トランザクションを構成する処理が全部実行されるか1つも実行されないかのどちらかに収まり、中途半端な状態で終わらないことを指す。途中で異常が起きた場合はロールバックによって開始前の状態へ戻される。よってウが正しい。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。