令和7年度61テクノロジ系

ITパスポート 令和7年度 問61:databaseに関する問題

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

  • aあるデータベースの内容を他のデータベースに複製し,内容の同期をとる。
  • bデータベースに対して行った操作を,順次記録する。
  • cデータベースに対する一連の処理が全て成功したら変更結果を確定し,途中で失敗したら処理前の状態に戻す。正答
  • dデータベースの表の索引を作成し,検索時には索引を使用する。
正答:Cデータベースに対する一連の処理が全て成功したら変更結果を確定し,途中で失敗したら処理前の状態に戻す。

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは c です。

トランザクションは「ひとまとめの作業を“全部成功か、全部なかったことに”するしくみ」です。

たとえば銀行の振込。「Aから引く」「Bに足す」の2つが両方そろって初めて成立しますよね。もし途中で失敗したら、引いただけでお金が消えると困る。だから失敗したら最初の状態に戻すのです。

これが c「全部成功したら確定、途中で失敗したら元に戻す」。

👉 覚え方:トランザクション=“全部やるか、全部やらないか”の一かたまり

ほかの選択肢:a 複製して同期=レプリケーションの話/b 操作を順に記録=ログの話/d 索引を作る=インデックスの話。

標準試験対策の基準レベル

なぜこれが正解か

正解は c。トランザクションは、データベースに対する一連の処理を1つのまとまり(不可分な単位)として扱う仕組み。すべて成功すれば変更を確定(コミット)し、途中で失敗すれば処理前の状態に戻す(ロールバック)。これが c の記述。

各選択肢の解説

  • a あるDBの内容を別DBに複製・同期:レプリケーションの説明。
  • b 操作を順次記録する:ログ(ジャーナル)の説明。障害回復に使うがトランザクションそのものではない。
  • d 表の索引を作り検索に使う:インデックスの説明。

覚え方・ひっかけ注意

トランザクション=「All or Nothing(全部か無か)」+コミット/ロールバック。b のログや d のインデックスはトランザクションを支える周辺機能だが定義そのものではない。「一連の処理が全部成功で確定/失敗で巻き戻し」のフレーズで即断。

上級誤答論破・背景理論まで深掘り

理論的背景

DBMSのトランザクションは「一連の関連するデータベース操作を論理的な一単位としてまとめ、全成功(コミット)または全失敗時の全取消(ロールバック)を保証する機能」であり、正解はcの記述が正確にこれを表している。トランザクションの信頼性はACID特性という4つの性質によって定義される。

A(Atomicity:原子性):トランザクション内の全操作は全て完了するか、全てなかったことになるかのいずれかのみ。「半分だけ実行」という状態は存在しない。C(Consistency:一貫性):トランザクション完了後もデータベースは整合性のある状態を維持する(例:残高が負にならない等の制約が常に守られる)。I(Isolation:独立性):並列実行される複数トランザクションは互いに干渉しない。D(Durability:永続性):一度コミットされた変更はシステム障害後も失われない(ジャーナル・ログへの書き込みにより保証)。

選択肢bの「操作を順次記録する」はトランザクションログ(ジャーナル)の説明であり、トランザクション自体ではなくその実装を支える仕組みである。選択肢aの「他DBへの複製・同期」はレプリケーション、選択肢dの「索引作成」はインデックスの説明である。

実務での使われ方

トランザクション管理の重要性が最も分かりやすいのは銀行の振込処理である。「A口座から1万円引き出し→B口座に1万円入金」という2つの操作は必ずセットで成功させなければならない。前半の引き出し後にシステムが停止した場合、トランザクション管理がなければA口座の残高は減ったままBに入金されない「お金が消える」状態が発生する。トランザクションにより、このような中途半端な状態は自動的にロールバックされ、元の状態に戻る。

実務的なトランザクション設計では「楽観的ロック」と「悲観的ロック」の選択が重要である。悲観的ロック(SELECT FOR UPDATE等)は処理開始時にレコードをロックし他トランザクションの更新を排除するが、デッドロックリスクと性能低下を伴う。楽観的ロックはバージョン番号や更新タイムスタンプを利用してコミット時に競合を検出し、競合があれば処理を再試行する方式で、高並列環境でのパフォーマンスに優れる。WebアプリケーションフレームワークではActiveRecord(Rails)・JPA(Java)など多くのORMが楽観的ロックをサポートしている。

試験での位置づけ

DBMSのトランザクションはITパスポートのテクノロジ系データベース分野で安定して出題される基礎概念である。ACID特性の各文字の意味、コミット・ロールバックの動作、トランザクションとログ(ジャーナル)・レプリケーション・インデックスとの区別が問われる。本問はこれらを選択肢として全て混在させており、各概念の正確な識別力を問う良問である。試験でトランザクション関連問題を確実に正答するには「ACID特性の暗記」と「コミット/ロールバックの動作イメージ」の両方が必要である。

基本情報技術者試験では、並行トランザクション制御(ロック・2相ロック・デッドロック検出と解放)、障害回復(前進回復・後退回復・チェックポイント・ロールフォワード・ロールバック)、分散トランザクション(2フェーズコミット:2PC)まで出題される。応用情報・DB専門家試験ではMVCC(Multi-Version Concurrency Control)・隔離レベル(READ UNCOMMITTED/COMMITTED/REPEATABLE READ/SERIALIZABLE)まで踏み込んだ知識が求められる。

選択肢の発展補足

選択肢aのレプリケーションは高可用性・災害対策の文脈で重要な技術で、MySQL・PostgreSQL・Oracleなど主要DBMSが標準サポートしており、マスター・レプリカ構成による読み取りスケールアウトや、地理的に分散したデータセンター間のデータ同期に使われる。ただしレプリケーションは遅延が発生しうるため「最終的整合性(eventual consistency)」に留まるケースがある。選択肢dのインデックス(索引)は実務上も最も頻繁に使われるDBチューニング手段であり、B-Treeインデックス(等価検索・範囲検索に強い)・ハッシュインデックス(等価検索のみ・高速)・全文検索インデックス・複合インデックス・カバリングインデックスなど多様な種類がある。インデックスは検索を高速化する一方、書き込みコストを増大させるため闇雲に設定すべきでない。

出典・引用について

出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和7年度61/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

55
security
56
database
57
database
58
technology_element
59
network

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビならITパスポートの過去問を解きながら学べます。