平成27年度 春期 午前 問30
データベース
原子性に関する問題
DBMS に実装すべき原子性(atomicity)を説明したものはどれか。
- ア同一データベースに対する同一処理は,何度実行しても結果は同じである。
- イトランザクション完了後にハードウェア障害が発生しても,更新されたデータベースの内容は保証される。
- ウトランザクション内の処理は,全てが実行されるか,全てが取り消されるかのいずれかである。
- エ一つのトランザクションの処理結果は,他のトランザクション処理の影響を受けない。
答えと解説を見る
✓ これが正解ウトランザクション内の処理は,全てが実行されるか,全てが取り消されるかのいずれかである。
解説
全部を実行するか、全部を取り消すかのどちらかです。
設問は、DBMSに実装すべき原子性を説明したものを選ばせています。原子という言葉は、これ以上は割れないものという意味です。ですからトランザクションは、全部を実行するか、全部を取り消すかの二つしかなく、途中で止まったままの状態を残しません。よって、トランザクション内の処理は全てが実行されるか全てが取り消されるかのいずれかである、という記述が当てはまります。口座から引いて別の口座へ足す送金で言えば、引いた後に処理が落ちたなら、引いた分も取り消して元へ戻します。これを行う操作がロールバックであり、原子性があるからこそこの仕組みが必要です。ACID特性の四つを見分けるときは、いつの話かと、誰との話かの二点で割ると早く決まります。原子性は自分のトランザクションの中の話であり、しかも完了する前に落ちたときの話です。この二点のどちらかがずれている記述は、別の特性を説明しています。
ほかの選択肢はなぜ違うのか
- ア同一データベースに対する同一処理は,何度…:同じ処理を何度繰り返しても結果が変わらないという性質を述べたものです。四つのうちこれだけがACID特性の外側にあり、途中で止まった状態を残さないかどうかという観点とは別の話になります。
- イトランザクション完了後にハードウェア障害…:完了した後に障害が起きても内容が保たれるという性質を述べたものです。原子性が完了する前に落ちた場合を扱うのに対し、こちらは完了した後を扱っており、見ている時点がずれています。
- エ一つのトランザクションの処理結果は,他の…:同時に動いている別の処理から影響を受けないという性質を述べたもので、隔離性にあたります。自分の中で完結する話ではなく、他との関係についての話である点で観点が違います。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成27年度 春期 応用情報技術者試験 午前 問30
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(DBMS)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 春期 午前 問25:ストアドプロシージャの利点(DBMS)
- 令和5年度 秋期 午前 問30:ロールフォワードに関する問題(DBMS)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)