基本情報技術者 2017年 秋期 午前(科目A) 問29
問題文
RDBMSの機能によって実現されるトランザクションの性質はどれか。
選択肢
ア:ACID特性(正解)
イ:関数従属性
ウ:候補キーの一意性
エ:データ独立性
RDBMSの機能によって実現されるトランザクションの性質はどれか。【午前2 解説】
要点まとめ
- 結論:トランザクションの性質は ア の「ACID特性」であり、RDBMSが原子性・一貫性・独立性・永続性を保証します。
- 根拠:RDBMSのトランザクション機構はコミット/ロールバックやロック、ジャーナリングで ACID の各要素を実現するためです。
- 差がつくポイント:関数従属性や候補キー、一部のデータ独立性は別概念であり、トランザクションそのものの性質とは異なる点を明確にすること。
正解の理由
トランザクションとは一連のDB操作を単位として扱い、全体を成功させるか全て取り消すかを保証する仕組みです。RDBMS が提供するトランザクション機能は、Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性/隔離性)、Durability(永続性)という四つの性質、すなわち ACID を満たすことを目的としています。コミットとロールバック、トランザクションログ、ロックや分離レベル設定などの機能がこれらを実現するため、選択肢の中ではアが正解です。
よくある誤解
- 「関数従属性がトランザクションの性質」:関数従属性は正規化やスキーマ設計の概念であり、トランザクション動作そのものとは無関係です。
- 「候補キーの一意性がトランザクションの保証」:キーの一意性はデータ整合性制約であってトランザクションが提供する動作(ロールバックや分離)とは別です。
- 「データ独立性=トランザクションの独立性」:データ独立性はスキーマとアプリケーションの分離の概念で、Isolation(隔離性)とは異なる層の話です。
解法ステップ
- 問題文のキーワード「トランザクションの性質」に着目し、ACID の有無を第一に想起する。
- 各選択肢を「トランザクションに直接関係するか」で判定する(関数従属性=論理設計、候補キー=制約、データ独立性=スキーマ設計)。
- RDBMS のトランザクション機能(コミット・ロールバック・ログ・ロック)が示す性質を照合して ACID を選ぶ。
選択肢別の誤答解説
- ア: ACID特性 — 正解。トランザクションの基本的性質を示す用語で、RDBMS が提供するトランザクション機能で実現されます。
- イ: 関数従属性 — 誤り。関数従属性は関係データモデルでの属性間の依存関係であり、正規化やスキーマ設計の概念です。
- ウ: 候補キーの一意性 — 誤り。一意性制約はデータの整合性確保に関するもので、トランザクションの振る舞い(原子性や隔離性など)とは別領域です。
- エ: データ独立性 — 誤り。データ独立性は物理設計と論理設計の分離を指す概念で、トランザクションの ACID 性とは直接関係しません。
補足コラム
ACID の各要素を実務視点で簡潔に説明します。Atomicity(原子性):複数操作は全て成功するか全て取り消される。Consistency(一貫性):トランザクション開始前後で整合性制約が満たされる。Isolation(隔離性):同時実行が互いに影響を及ぼさないように見える。Durability(永続性):コミット後の変更は障害後も保持される。設計やトラブル対応では、特に隔離性(分離レベル)と性能のトレードオフを理解しておくと差が付きます。
FAQ
Q: トランザクションとロックは同じですか?
A: いいえ。ロックは隔離性を実現する手段の一つで、トランザクションは一連の操作を管理する仕組みです。
A: いいえ。ロックは隔離性を実現する手段の一つで、トランザクションは一連の操作を管理する仕組みです。
Q: ACID は必ず全ての DB システムで同じ強さで保証されますか?
A: 程度は異なります。分散DBやNoSQLは一貫性や隔離性を緩めて可用性や性能を優先する設計があります(CAP やBASEの考え方)。
A: 程度は異なります。分散DBやNoSQLは一貫性や隔離性を緩めて可用性や性能を優先する設計があります(CAP やBASEの考え方)。
Q: データ独立性は重要ではないのですか?
A: 重要ですが、トランザクションの「性質」そのものではなく、システム設計や運用に関する別の観点です。
A: 重要ですが、トランザクションの「性質」そのものではなく、システム設計や運用に関する別の観点です。
関連キーワード: トランザクション、ACID、原子性、整合性、隔離性、永続性、コミット、ロールバック、トランザクションログ、分離レベル、ロック、関数従属性、候補キー、データ独立性、正規化

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

