平成28年度 春期 データベーススペシャリスト試験 午前II 問17
【問題17】
トランザクションの原子性 (atomicity) の説明として,適切なものはどれか。
データの物理的格納場所やアプリケーションプログラムの実行場所を意識することなくトランザクション処理が行える。
トランザクションが終了したときの状態は,処理済みか未処理のどちらかしかない。
トランザクション処理においてデータベースの一貫性が保てる。
複数のトランザクションを同時に処理した場合でも,個々の処理結果は正しい。
【解説】
トランザクションのACID属性とは、以下の4つの性質を指します。
- Atomicity (原子性)
トランザクション内の全ての処理が完了するか、全く実行されないかを保証します。途中でエラーが発生した場合は、そのトランザクション内で行われた処理は全てロールバック(元の状態に戻る)されます。
- Consistency (一貫性)
トランザクションが終了する前後で、データベースの一貫性が保たれることを保証します。すなわち、データは常にデータベースの制約に従った状態になります。
- Isolation (分離性)
複数のトランザクションが同時に実行されても、互いに干渉せず、それぞれの処理結果が正しいことを保証します。
- Durability (耐久性)
一度コミットされたトランザクションの結果は、システム障害が発生しても失われないことを保証します。
選択肢の解説
ア: データの物理的格納場所やアプリケーションプログラムの実行場所を意識することなくトランザクション処理が行える。
誤り。この記述はトランザクションの原子性とは関係なく、分散システムにおける透過性の説明に該当します。
イ: トランザクションが終了したときの状態は,処理済みか未処理のどちらかしかない。
正しい。これはトランザクションの「原子性 (Atomicity)」の説明に該当します。トランザクション内の全ての操作が成功するか、それとも全て無効になるかが保証されます。
ウ: トランザクション処理においてデータベースの一貫性が保てる。
誤り。これは「一貫性 (Consistency)」に関する説明であり、原子性の説明ではありません。
エ: 複数のトランザクションを同時に処理した場合でも,個々の処理結果は正しい。
誤り。この記述は「分離性 (Isolation)」に関する説明であり、原子性の説明ではありません。
【答え】
イ: トランザクションが終了したときの状態は,処理済みか未処理のどちらかしかない。
出典:平成28年度 春期 データベーススペシャリスト試験 午前II 問17