ホーム > データベーススペシャリスト試験 > 2020年
データベーススペシャリスト試験 2020年 午前2 問12
SQLトランザクション内で変更を部分的に取り消すために設定するものはどれか。
ア:コミットポイント
イ:セーブポイント(正解)
ウ:制約モード
エ:チェックポイント
解説
SQLトランザクション内で変更を部分的に取り消すために設定するものはどれか。【午前2 解説】
要点まとめ
- 結論:トランザクション内の変更を部分的に取り消すには「セーブポイント」を設定します。
- 根拠:セーブポイントはトランザクションの途中で状態を記録し、そのポイントまでロールバック可能にする機能です。
- 差がつくポイント:コミットポイントやチェックポイントは全体の確定や復旧に関わるため、部分的な取り消しには使いません。
正解の理由
「イ: セーブポイント」はトランザクションの途中で状態を保存し、そこまでの変更を部分的に取り消す(ロールバックする)ことができます。これにより、トランザクション全体を取り消すことなく、一部の処理だけをやり直すことが可能です。
よくある誤解
コミットポイントやチェックポイントはトランザクション全体の確定や障害復旧に関する用語であり、部分的な取り消しには使えません。
解法ステップ
- トランザクションの意味を理解する(複数の処理を一括で扱う単位)。
- 部分的に変更を取り消す機能が必要なことを確認する。
- 各選択肢の用語の意味を整理する。
- 「セーブポイント」が途中の状態を保存し、部分的ロールバックを可能にすることを知る。
- よって「イ」が正解と判断する。
選択肢別の誤答解説
- ア: コミットポイント
トランザクションの変更を確定するポイントであり、部分的な取り消しには使いません。 - イ: セーブポイント
トランザクション内の途中状態を保存し、部分的にロールバック可能にするための設定です。 - ウ: 制約モード
制約モードはデータベースの整合性制約に関する設定で、トランザクションの部分的取り消しとは無関係です。 - エ: チェックポイント
データベースの障害復旧時に使用される状態保存の仕組みで、部分的な変更取り消しには使いません。
補足コラム
セーブポイントは複雑なトランザクション処理で特に有用です。例えば、複数の処理を順に実行し、一部だけ失敗した場合にその部分だけをロールバックし、他の処理は維持することができます。これにより効率的なエラー処理が可能となります。
FAQ
Q: セーブポイントはどのように設定しますか?
A: SQLでは「SAVEPOINT 名前;」で設定し、「ROLLBACK TO SAVEPOINT 名前;」でそのポイントまでロールバックします。
A: SQLでは「SAVEPOINT 名前;」で設定し、「ROLLBACK TO SAVEPOINT 名前;」でそのポイントまでロールバックします。
Q: コミットポイントとセーブポイントの違いは何ですか?
A: コミットポイントはトランザクション全体の確定を意味し、セーブポイントは途中の状態を保存して部分的に取り消せるポイントです。
A: コミットポイントはトランザクション全体の確定を意味し、セーブポイントは途中の状態を保存して部分的に取り消せるポイントです。
関連キーワード: トランザクション, ロールバック, セーブポイント, コミット, チェックポイント, データベース管理