情報セキュリティマネジメント試験過去問 - 分野別(科目A) - トランザクション処理

令和1年秋期 問46
データベースのトランザクションに関する記述のうち,適切なものはどれか。
ア他のトランザクションにデータを更新されないようにするために,テーブルに対するロックをアプリケーションプログラムが解放した。
イトランザクション障害が発生したので,異常終了したトランザクションをDBMSがロールフォワードした。
ウトランザクションの更新結果を確定するために,トランザクションをアプリケーションプログラムがロールバックした。
エ複数のトランザクション間でデッドロックが発生したので,トランザクションをDBMSがロールバックした。
答え : エ
分野 : その他の分野 › 技術要素 › データベース › トランザクション処理 › トランザクション処理
解説 :
データベースの「トランザクション処理」とは,不可分な一連の処理をひとまとまりとして扱う仕組みです。

「エ」は,複数のトランザクションがお互いのロックの解除を待ち続けて進まなくなるデッドロックが発生したため,DBMSがトランザクションをロールバック(処理を取り消して元の状態に戻す)して解消したという内容で,適切です。これが正解です。

「ア」について,他のトランザクションに更新されないようにするには,ロックを解放せず,ロックを取得して保持します。

「イ」について,異常終了したトランザクションは,ロールバックして元に戻します。ロールフォワードは,障害後にログを使って更新済みの状態まで進める処理です。

「ウ」について,更新結果を確定する操作は,コミットといいます。ロールバックは取消しなので,確定の目的には使えません。
平成31年春期 問45
トランザクションT1が更新中のデータを,トランザクションT2が参照しようとしたとき,更新と参照の処理結果を矛盾させないようにするためのDBMSの機能はどれか。
ア最適化
イ参照制約
ウ排他制御
エ副問合せ
答え : ウ
分野 : その他の分野 › 技術要素 › データベース › トランザクション処理 › トランザクション処理
解説 :
正解は「ウ」です。「排他制御」とは,あるトランザクションが更新中のデータを,他のトランザクションが同時に更新したり参照したりして,データに矛盾が生じるのを防ぐ機能です。更新中のデータにロック(鍵)をかけて,更新が終わるまで他の処理を待たせるのが基本です。トイレの個室に鍵をかけて,使用中は他の人が入れないようにするイメージです。

「ア」の「最適化」は,検索や処理を効率よく実行するための機能です。

「イ」の「参照制約」は,外部キーの値が参照先に存在することを保証する機能で,トランザクション間の競合を防ぐものではありません。

「エ」の「副問合せ」は,SQLの中に別の検索を埋め込む書き方のことです。
平成30年春期 問46
DBMSにおいて,複数のトランザクション処理プログラムが同一データベースを同時に更新する場合,論理的な矛盾を生じさせないために用いる技法はどれか。
ア再編成
イ正規化
ウ整合性制約
エ排他制御
答え : エ
分野 : その他の分野 › 技術要素 › データベース › トランザクション処理 › トランザクション処理
解説 :
複数のトランザクションが同じデータを同時に更新すると,互いの更新が上書きされたり,途中の状態が見えたりして,データに矛盾が生じるおそれがあります。これを防ぐ技法が「エ」の排他制御で,あるトランザクションが更新中のデータに,ロックをかけて,他のトランザクションが同時に更新できないようにします。

「ア」の「再編成」は,データベースの格納状態を整理して,性能を回復させる作業です。

「イ」の「正規化」は,データの重複をなくすように,表を設計し直す作業です。

「ウ」の「整合性制約」は,データが満たすべき規則を定めるもので,同時更新の競合を防ぐものではありません。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる