この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

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

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

正解は ウ

解説

トランザクションとは、データベースにおける一連の処理のまとまりのことで、その信頼性を保証する4つの特性(ACID特性)の1つが「耐久性(durability)」です。耐久性とは、正常に完了したトランザクションの結果は、たとえシステム障害が発生しても失われることなく永続的に保存されることを保証する特性です。例えば、銀行での送金取引を考えてみましょう。送金処理が完了した後にシステムがクラッシュしても、その取引内容は確実にデータベースに残っている必要があります。これは、取引の証跡として極めて重要です。問題文で述べられている「更新処理を完全に行うか、全く処理しなかったかのどちらか」という特性は、実は「原子性(atomicity)」を指しています。この問題は、ACIDの各特性の正確な理解を問う典型的な出題であり、特に実務でのデータベース設計や運用において重要な概念であることから、頻出の題材となっています。

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

選択肢 ア
一貫性(consistency)は、トランザクションの実行前後でデータベースが矛盾のない状態を保つことを保証する特性です。例えば、口座残高がマイナスにならないといった業務ルールを守ることを指します。問題文で述べられている「完全に行うか取り消すか」という特性とは異なる概念であり、データの整合性に関する特性です。
選択肢 エ
独立性(isolation)は、複数のトランザクションが同時に実行される場合でも、それぞれが独立して実行されているように見える特性です。これは並行処理に関する特性であり、問題文で問われている「更新処理の完全性や取り消し」とは異なる概念です。

解くときのポイント

ACIDの4つの特性は、それぞれの頭文字をとって「ACID特性」と呼ばれます。各特性の意味を、実際の銀行取引のような身近な例に置き換えて理解すると覚えやすくなります。特に、原子性と耐久性は混同されやすいので、「原子性は処理の分割不可能性」、「耐久性は処理結果の永続性」と区別して記憶しましょう。また、「durability=耐久性=データが永続的に保存される」という連想で覚えるのも効果的です。