問題
RDBMSの機能によって実現されるトランザクションの性質はどれか。
キーボード:1〜4で選択・Enterで次へ
答え合わせ
- A
- B
- C
- D
自信の3択
えらぶと、この端末に記録します(登録はいりません)
解説
答えは a「ACID特性」 です。
ACID特性は、トランザクション(ひとまとまりの処理)が守るべき4つの性質の頭文字です。
- Atomicity(原子性):全部やるか、全部やらないか
- Consistency(一貫性):データの決まりを破らない
- Isolation(独立性):同時に動いても互いに影響しない
- Durability(耐久性):確定した結果は障害でも消えない
RDBMSはロックやログなどの機能で、この4つを実現しています。
👉 覚え方:トランザクションの性質=ACID。
ほかの選択肢:b 関数従属性=属性どうしの関係(正規化で使う)/c 候補キーの一意性=表の行を区別するための性質/d データ独立性=データの構造とプログラムを切り離す考え方。
なぜこれが正解か
正解は a。トランザクションが満たすべき性質はACID特性(原子性 Atomicity,一貫性 Consistency,独立性 Isolation,耐久性 Durability)であり,RDBMSは次のような機能でこれを実現する。
- 原子性:ロールバック(ログを使った取消し)
- 一貫性:整合性制約(主キー,外部キー,検査制約など)
- 独立性:ロックなどによる同時実行制御
- 耐久性:コミット時のログの書出し,障害回復(ロールフォワード)
各選択肢の解説
- a 正しい:ACID特性はRDBMSの機能で実現されるトランザクションの性質。
- b 誤り:関数従属性は,ある属性の値が決まると別の属性の値が決まるという属性間の関係で,正規化の基礎となる概念。トランザクションの性質ではない。
- c 誤り:候補キーの一意性は,表の各行を一意に識別できるという表(関係)の性質。
- d 誤り:データ独立性は,データの論理構造や物理構造を変更しても応用プログラムに影響しないようにするデータベースの設計上の性質(3層スキーマで実現)。
覚え方・ひっかけ注意
「トランザクションの性質」と問われたら ACID。関数従属性・正規化は「表の設計」,データ独立性・3層スキーマは「データベースの構造」の話と分けて覚える。
理論的背景
ACID特性は,1980年代にジム・グレイらの研究をもとに整理された,信頼できるトランザクション処理の要件である。原子性はトランザクションの途中で障害が起きても中途半端な状態を残さないこと,一貫性はトランザクションの前後でデータベースが整合性制約を満たすこと,独立性は並行して実行されるトランザクションが互いの途中結果の影響を受けないこと,耐久性はコミットされた結果がその後の障害でも失われないことを指す。RDBMSは,ログ(更新前・更新後の値の記録)を用いたロールバックとロールフォワード,ロックや多版同時実行制御(MVCC)による同時実行制御,整合性制約の検査によってこれらを実現している。
実務での使われ方
銀行の振込や在庫の引当てなど,複数の更新を一体として扱う必要がある業務では,ACID特性を備えたRDBMSが使われる。独立性は性能とのトレードオフがあり,SQLの隔離性水準(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ,SERIALIZABLE)で求める厳しさを選ぶ。大規模な分散システムでは,可用性を優先して結果整合性(BASE)を採るNoSQLもあり,用途に応じて使い分けられる。
試験での位置づけ
基本情報では,ACIDの各特性の意味と,それを実現する仕組み(ロールバック,ロック,ログ)の対応が頻出。応用情報・データベーススペシャリストでは,障害回復の手順,隔離性水準と異常現象(ダーティリード,ファントム),2相コミットまで問われる。
選択肢の発展補足
b の関数従属性は,正規化(第2正規形での部分関数従属の排除,第3正規形での推移的関数従属の排除)の判断基準となる。c の候補キーの一意性は,主キーやUNIQUE制約として定義され,一貫性を支える要素の一つではあるが,トランザクションの性質そのものではない。d のデータ独立性は,ANSI/SPARCの3層スキーマ(外部スキーマ・概念スキーマ・内部スキーマ)によって,物理的な変更や論理的な変更の影響をプログラムから切り離す考え方である。
出典と作り方
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成29年度 秋期 問29/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。

