DBデータベーススペシャリスト試験 午前Ⅱ
平成29年度春期 データベーススペシャリスト 午前Ⅱ 問16
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アトランザクションでは,実行すべき処理が全て行われるか,何も処理が行われないかという状態の他に,処理の一部だけが行われるという状態も発生する。
- イトランザクションの実行完了後でも障害の発生によって実行結果が失われることがある。
- ウトランザクションの実行の結果が矛盾した状態になることはない。
- エトランザクションは相互に関連しており,同時に実行される他のトランザクションの影響を受ける。
解き方のヒントを見る
取引境界から整合性を考える視点
トランザクションの開始から終了までを一つのまとまりとして捉え、途中の状態変化と確定・取り消しの関係を整理しながら、データの整合性を評価する観点を丁寧に学びます。
この問題で問われていること
一つの取引を追うとき、処理の途中と区切りの時点で、データがどのような状態に見えるかを整理し、変更が確定する場面と元に戻る場面の違いに注目し、その順序も確認します。
視点
整合性を考えるときは、個々の処理結果だけでなく、処理をひとまとまりとして扱う境界に注目します。開始前・途中・終了後を分けて整理すると、どの時点の状態を評価しているかを明確にできます。
確認ポイント
- 処理の開始と終了に当たる区切りを整理する
- 途中の状態と終了後の状態を区別する
- 変更が確定した場合と見直される場合を分けて考える
正解と解説を見る
正解
ウ
解説
ACID特性は、原子性、一貫性、独立性、永続性という四つの性質です。この設問では、処理結果が矛盾しない状態を保つ一貫性の説明が適切です。
理由
一貫性(Consistency)は、トランザクションの実行前後でデータベースが整合性を保ち、矛盾した状態にならないことを示します。したがって、実行結果が矛盾した状態にならないという説明が適切です。
比較
原子性は処理を全て実行するか全く反映しない性質、永続性は完了した結果を障害後も保持する性質、独立性は同時実行中のトランザクションの影響を分離する性質です。
選択肢ア
これは不正解だよ。原子性では、トランザクション内の処理を全て実行するか、失敗時に全く実行されなかった状態へ戻すことが求められます。処理の一部だけが行われた状態も発生するとする説明は、原子性に反します。
選択肢イ
これは不正解だよ。永続性では、トランザクションが正常に完了して確定した実行結果を、その後に障害が発生しても失わないことが求められます。完了後に結果が失われることがあるとする説明は、永続性に反します。
選択肢ウ(正解)
これは正解だよ。一貫性は、トランザクションの実行によってデータベースが矛盾した状態にならず、整合性を保つ性質です。実行結果が矛盾した状態になることはないという説明は、ACIDの一貫性に該当します。
選択肢エ
これは不正解だよ。独立性では、同時に実行される他のトランザクションから途中経過の影響を受けないように扱います。ほかのトランザクションの影響を受けるとする説明は、独立性が保証する内容と反対です。
学習のポイント
ACIDの各特性が保証する対象を、処理単位・障害・整合性・同時実行に分けて整理しましょう。
出典:独立行政法人 情報処理推進機構(IPA)平成29年度春期 データベーススペシャリスト試験 午前Ⅱ 問16(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針