ITパスポート試験 令和3年度 公開問題 問62
金融システムの口座振替では、振替元の口座からの出金処理と振替先の口座への入金処理について、両方の処理が実行されるか、両方とも実行されないかのどちらかであることを保証することによってデータベースの整合性を保っている。データベースに対するこのような一連の処理をトランザクションとして扱い、矛盾なく処理が完了したときに、データベースの更新内容を確定することを何というか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
コミットとは、一つのトランザクションに含まれる一連の処理が矛盾なく完了したとき、その更新内容をデータベースに正式に確定することです。例えば口座振替では、振替元からの出金と振替先への入金を一まとまりとして扱います。両方が成功した時点でコミットすれば、片方だけが反映される不整合を防げます。したがって、該当するのはアです。
イのスキーマは誤りです。これは、テーブル、列、データ型、テーブル間の関係など、データベースの論理的な構造を定義したものです。更新内容を確定する処理ではありません。
ウのロールフォワードは誤りです。これは、障害発生時にバックアップを復元した後、ログに記録された更新処理を再実行し、障害直前の状態へ近づける復旧方法です。
エのロックは誤りです。これは、複数の利用者が同じデータを同時に更新して不整合が起きないように、処理中のデータへのアクセスを制限する仕組みです。
【ポイント】 トランザクションは、分割すると意味が失われる一連の処理を一つの単位として扱う仕組みです。 正常終了時はコミットで確定し、途中で失敗した場合はロールバックで処理前の状態に戻します。 「全て実行するか、全く実行しないか」という性質を原子性といいます。
出典:令和3年度 ITパスポート試験 公開問題 問62
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の100問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる