令和7年度 ITパスポート試験 公開問題 問61 解説 DBMSのトランザクション
DBMSのトランザクションに関する記述として,適切なものはどれか。
- あるデータベースの内容を他のデータベースに複製し,内容の同期をとる。
- データベースに対して行った操作を,順次記録する。
- データベースに対する一連の処理が全て成功したら変更結果を確定し,途中で失敗したら処理前の状態に戻す。 ✓ 正答
- データベースの表の索引を作成し,検索時には索引を使用する。
解説
トランザクション問題の解き方
この問題は、データベースの「トランザクション」という用語が指す定義をそのまま選ぶ問題です。トランザクションとは、一言でいえば「分けることのできない一連の処理のまとまり」のことです。選択肢の中で「処理のまとまりを、成功するか失敗するかで完全に分ける(途中の状態で終わらせない)」と説明しているものが正解となります。
トランザクションの仕組み:原子性とは
トランザクションという言葉が出てきたら、必ずセットで覚えておかなければならないのが「ACID特性」です。特に今回の正解の根拠となっているのは、その中の「原子性(Atomicity)」という性質です。
原子性とは、その名の通り「原子のようにそれ以上分割できない」という性質を指します。銀行の振込処理をイメージすると分かりやすいでしょう。
- Aさんの口座から1万円を引き落とす
- Bさんの口座に1万円を振り込む
もし1の後にシステムトラブルが起きて2が実行されなかったら、Aさんのお金だけが消滅してしまいます。これを防ぐために、「1と2の両方が成功したときだけ結果を確定(コミット)し、どちらか一方でも失敗したら1の処理もなかったことにする(ロールバック)」という仕組みが機能しています。この「すべて成功するか、全く実行されないか」のどちらかしかないという状態こそが、トランザクションの最も重要な役割です。
実務における重要性
なぜ試験でこの知識が問われるのでしょうか。それは、現代のITシステムにおいてデータの一貫性を保つことが極めて難しい挑戦だからです。
現実の開発現場では、複数のユーザーが同時に同じデータにアクセスしたり、通信が途中で切断されたりと、予期せぬ事態が日常的に発生します。トランザクションの概念を知らなければ、エラー発生時に「中途半端なデータ」がデータベースに残り、システム全体が異常状態に陥ります。プログラマやシステムエンジニアは、この「途中で失敗したら元の状態に戻す」という処理をいかに堅牢に実装するかを常に意識して開発を行っています。この知識は、データベースの設計を行う際に最も基礎となる重要な教養です。
選択肢の解説
他の選択肢が何を指しているかも理解しておくと、関連知識として定着します。
- あるデータベースの内容を複製し同期をとる:これは「レプリケーション」の説明です。冗長化や読み取り負荷分散のために使われます。
- データベースに対して行った操作を順次記録する:これは「ログ」や「ジャーナル」の説明です。障害復旧時に処理をやり直すために不可欠です。
- データベースの表の索引を作成し検索時に使用する:これは「インデックス(索引)」の説明です。検索速度を向上させるための仕組みです。