令和6年度 科目A 問7
データベース
原子性に関する問題
DBMS に実装すべき原子性(atomicity)を説明したものはどれか。
- ア同一データベースに対する同一処理は,何度実行しても結果は同じである。
- イトランザクション完了後にハードウェア障害が発生しても,更新されたデータベースの内容は保証される。
- ウトランザクション内の処理は,全てが実行されるか,全てが取り消されるかのいずれかである。
- エ一つのトランザクションの処理結果は,他のトランザクション処理の影響を受けない。
答えと解説を見る
✓ これが正解ウトランザクション内の処理は,全てが実行されるか,全てが取り消されるかのいずれかである。
解説
原子性は、全部を実行するか全部を取り消すかのどちらかになる性質です。
トランザクション処理に求められる性質は ACID の四つで整理されます。原子性は、トランザクション内の処理が、全てが実行されるか、全てが取り消されるかのどちらかで終わることを指します。途中まで反映された中途半端な状態を残さない、という性質です。たとえば口座振替で出金だけ済んで入金が失敗したなら、出金も取り消して元の状態に戻します。DBMS は、全てを確定させるコミットと、全てを元に戻すロールバックによってこれを実現します。原子性は全部かゼロか、と一言で押さえておくと、他の性質の説明と取り違えにくくなります。
ほかの選択肢はなぜ違うのか
- ア同一データベースに対する同一処理は,何度…:同じ処理を何度実行しても結果が変わらないという説明は、ACID の四つの性質のどれでもありません。処理の途中で失敗したときに全部を取り消すかどうか、という話とは別の性質を述べています。
- イトランザクション完了後にハードウェア障害…:トランザクションの完了後に障害が起きても更新内容が失われない、という説明です。確定した結果を守り続ける性質を述べており、処理の途中で全部を実行するか取り消すかを決める性質とは異なります。
- エ一つのトランザクションの処理結果は,他の…:一つのトランザクションの結果が、同時に動く他のトランザクションの影響を受けないという説明で、独立性にあたります。処理どうしの干渉を防ぐ性質であり、全部かゼロかで終わる性質とは別です。
この問題の用語
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
出典:令和6年度 基本情報技術者試験 科目A 問7
同じ用語が出る問題
- 令和5年度 科目A 問7:ACIDに関する問題(トランザクション)
- 令和元年度 秋期 午前 問29:ロックが発生しないデータ処理順序(トランザクション)
- 平成30年度 春期 午前 問27(DBMS)
- 平成29年度 秋期 午前 問39:SQLインジェクション攻撃の説明(DBMS)
- 平成29年度 秋期 午前 問26(DBMS)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)