マナビングITパスポート

DBMSのトランザクションとは?ログ・索引・複製との違い

ITパスポート試験 令和7年度 問61 / データベース › トランザクション処理

過去問にチャレンジ

令和7年度 問61

DBMSのトランザクションに関する記述として,適切なものはどれか。

  1. ア

    あるデータベースの内容を他のデータベースに複製し,内容の同期をとる。

  2. イ

    データベースに対して行った操作を,順次記録する。

  3. ウ

    データベースに対する一連の処理が全て成功したら変更結果を確定し,途中で失敗したら処理前の状態に戻す。

  4. エ

    データベースの表の索引を作成し,検索時には索引を使用する。

会話形式の解説

講師講師
今回はDBMS、つまりデータベースを管理するソフトウェアでいう「トランザクション」の意味を問う問題です。選択肢はどれもデータベースの機能の説明なので、それぞれが何という機能の説明かを見分けるのがポイントです。
受験者受験者
トランザクションは「取引」という意味の言葉ですよね。データベースの操作を記録していく説明が、取引の履歴みたいで正解に見えてしまいます。
講師講師
そこは引っかかりやすいところです。操作を順に記録するのは、ログ(ジャーナルとも呼びます)という機能の説明です。ログは障害が起きたときの復旧などに使われ、トランザクション処理を支える役割もありますが、トランザクションそのものの定義ではありません。
受験者受験者
では、トランザクションそのものは何を指すのですか。
講師講師
関連する複数の処理を、一つの処理単位として扱う仕組みのことです。一連の処理が全て成功したら変更を確定し、途中で失敗したら処理前の状態に戻します。確定することをコミット、元に戻すことをロールバックといいます。
受験者受験者
そうすると、全て成功したら確定して、失敗したら元に戻すという選択肢が正解ですね。ほかの、データベースを複製して同期をとる説明と、索引を作って検索に使う説明は何の機能ですか。
講師講師
データベースの内容を別のデータベースに複製して同期をとるのはレプリケーションです。表に索引を作って検索に使うのはインデックスで、特定のデータを速く検索するための仕組みです。どちらも、処理をひとまとまりにして確定したり取り消したりする仕組みではありません。
受験者受験者
まとめると、複製と同期はレプリケーション、操作の記録はログ、索引はインデックスで、全て成功なら確定・失敗なら元に戻すのがトランザクション、という区別ですね。
講師講師
その整理で大丈夫です。よく出る例が銀行の振込です。送金元の残高を減らす処理と送金先の残高を増やす処理を一つのトランザクションにするので、片方だけが反映されることはありません。こうして中途半端な更新が残らず、データの整合性が保たれます。
講師講師
関連してACID特性も覚えておきましょう。トランザクションに求められる原子性・一貫性・独立性・永続性の4つです。原子性は「全て成功する」か「全て失敗する」かのどちらかになることを保証する性質で、今回の正解の内容にそのまま当たります。

まとめ

DBMSのトランザクションとは、関連する複数の処理を一つの処理単位として扱う仕組みです。一連の処理が全て成功したら変更を確定(コミット)し、途中で失敗したら処理前の状態に戻し(ロールバック)ます。データベースの複製と同期はレプリケーション、操作の記録はログ、索引による検索の高速化はインデックスの説明なので、区別して覚えましょう。トランザクションに求められるACID特性は原子性・一貫性・独立性・永続性の4つで、このうち原子性が「全て成功か全て失敗か」を保証する性質です。

解答・解説

正解はウです

この問題のテーマ

DBMSでいう「トランザクション」の意味を問う問題です。複数の処理をひとまとまりとして扱い、全て成功したら確定し、失敗したら元に戻すという考え方を理解しているかが問われています。

解き方の考え方

まず、トランザクションとは「関連する複数の処理を一つの単位として扱う仕組み」だと思い出します。そのうえで、各選択肢がどの機能の説明なのかを考えます。複製と同期はレプリケーション、操作の記録はログ、索引はインデックスの説明だと分かれば、残る選択肢が正解だと判断できます。キーワードは「全て成功したら確定、失敗したら元に戻す」です。

選択肢ごとの解説

  1. ×ア  あるデータベースの内容を他のデータベースに複製し,内容の同期をとる。
    アのデータベースを別のデータベースに複製して内容を同期させる説明は、レプリケーションのものです。データベースの機能ではありますが、一連の処理を一つの単位として確定したり取り消したりする仕組みではないため、トランザクションの説明には当たりません。
  2. ×イ  データベースに対して行った操作を,順次記録する。
    イのデータベースに対する操作を順に記録する説明は、ログ(ジャーナル)機能のものです。ログは障害が起きたときの復旧などに使われ、トランザクション処理を支える役割もありますが、トランザクションそのものの定義ではありません。
  3. ○ウ  データベースに対する一連の処理が全て成功したら変更結果を確定し,途中で失敗したら処理前の状態に戻す。
    ウの、一連の処理が全て成功したら変更を確定し、途中で失敗したら処理前の状態に戻すという説明は、トランザクションそのものです。確定することをコミット、元に戻すことをロールバックといいます。この仕組みがあるので中途半端な更新が残らず、データの整合性が保たれます。
  4. ×エ  データベースの表の索引を作成し,検索時には索引を使用する。
    エの表に索引を作り、検索のときにそれを使うという説明は、インデックスのものです。インデックスは特定のデータを速く検索するための仕組みで、処理の確定や取り消しとは関係がありません。

補足

トランザクションの例としてよく挙げられるのが銀行の振込です。送金元の残高を減らす処理と送金先の残高を増やす処理を一つのトランザクションとして扱うので、片方だけが反映されることはありません。なお、ログはロールバックや障害時の復旧に使われるため、トランザクションと混同しやすい点に注意してください。

POINT

  • トランザクションは、関連する複数の処理を一つの処理単位として扱う仕組みです。
  • 全ての処理が成功したときに変更を確定するのがコミット、途中で失敗したときに処理前の状態へ戻すのがロールバックです。
  • トランザクションに求められるACID特性は、原子性・一貫性・独立性・永続性の4つです。
  • 原子性は「全て成功する」か「全て失敗する」かのどちらかになることを保証する性質です。
  • 複製・同期はレプリケーション、操作の記録はログ、索引による検索の高速化はインデックスと区別して覚えましょう。

※出典:令和7年度 ITパスポート試験 問61