基本情報技術者平成25年秋期 午前問31

問31

"商品"表に対して,更新SQL文を実行するトランザクションが,デッドロックの発生によって異常終了した。異常終了後の"商品"表はどれか。ここで,"商品"表に対する他のトランザクションは,参照は行うが更新はしないものとする。
31.png/image-size:216×108
〔更新SQL文〕
DELETE FROM 商品 WHERE 商品コード='B020'
  • 31a.png/image-size:215×93
  • 31i.png/image-size:214×92
  • 31u.png/image-size:214×70
  • 31e.png/image-size:214×49

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

トランザクションには「トランザクション内の処理がすべて実行されるか、または全く実行されないというどちらかの状態で終了しなければならない」という特性が要求されます。この特性をトランザクションの原子性(Atomicity)といいます。

障害やデッドロックによってトランザクションが正常終了しなかったときは、原子性を保証するために、DBMSはトランザクションの更新前ログを使用してデータベースをトランザクション開始直前の状態に戻すロールバックを行います。これにより、データベースは何の処理も行わなかったのと同じ状態に戻ります。

したがって、異常終了後の表の状態はSQL文実行前と同じ状態の「イ」となります。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop