この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ア

解説

トランザクションのACID特性は、データベースの信頼性を支える4つの性質です。A(Atomicity・原子性)、C(Consistency・一貫性/整合性)、I(Isolation・独立性/隔離性)、D(Durability・永続性)を指します。このうち一貫性(Consistency)とは、トランザクションの実行前後でデータベースが定められた整合性制約(一意性制約、参照整合性、検査制約など)を満たした正しい状態に保たれる性質です。実行前に整合の取れた状態であれば、トランザクション完了後も再び整合の取れた状態になることを保証します。選択肢aは「整合性の取れたデータベースに対して、トランザクション実行後も整合性が取れている性質」とあり、一貫性の定義そのものなので正解です。一貫性は、原子性・独立性・永続性という他の3特性が適切に守られることによって結果的に保たれる、データベースの「正しさ」に関する性質です。例えば銀行口座間の振込で、引き落としと入金の合計残高が常に保たれることが一貫性の典型例です。

なぜ他の選択肢は違うのか

選択肢 イ
「同時実行される複数のトランザクションが互いに干渉しない」は独立性(Isolation)の説明です。複数のトランザクションを並行実行しても、あたかも1つずつ逐次に実行したかのような正しい結果が得られる性質であり、整合状態の保持を指す一貫性とは異なる概念です。ロックや多版同時実行制御などで実現されます。
選択肢 ウ
「完全に実行が完了するか、全く実行されなかったかの状態しかとらない」は原子性(Atomicity)の説明です。トランザクションを分割できない最小単位として扱い、途中で失敗した場合はすべて取り消して中途半端な状態を残さない(all or nothing)性質であり、一貫性とは別の特性に当たります。途中で失敗すればすべて取り消して中途半端な状態を残さない性質であり、整合状態の保持を指す一貫性とは別の特性に当たります。
選択肢 エ
「ひとたびコミットすれば、その後どのような障害が起こっても状態の変更が保たれる」は永続性(Durability)の説明です。正常に完了(コミット)したトランザクションの結果は、その後システム障害が発生しても失われないという性質であり、整合状態の保持を指す一貫性とは異なります。ログやバックアップによって実現されます。

解くときのポイント

ACID:原子性(all or nothing)、一貫性(整合制約を保つ=実行後も正しい状態)、独立性(並行でも干渉しない)、永続性(コミット後は障害でも残る)。それぞれの代表キーワードで4つを判別する。