メインコンテンツへスキップ
ITパスポート2013年度 秋期午前67

2013年度 秋期 ITパスポート 午前67

難度標準

あるトランザクション処理は,①共有領域から値を読み取り、②読み取った値に数値を加算し、③結果を共有領域に書き込む手順からなっている。複数のトランザクションを並列に矛盾なく処理するためには、トランザクション処理のどの時点で共有領域をロックし、どの時点でロックを解除するのが適切か。

選択肢

共有領域のロック:時点(a) 共有領域のロック解除:時点(c)
共有領域のロック:時点(a) 共有領域のロック解除:時点(d)
共有領域のロック:時点(b) 共有領域のロック解除:時点(c)
共有領域のロック:時点(b) 共有領域のロック解除:時点(d)

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

この問題では、複数のトランザクションが並列に実行される際に、共有領域へのアクセスで発生する競合を防ぐためのロック戦略について問われています。トランザクション処理が「①共有領域から値を読み取り」「②読み取った値に数値を加算し」「③結果を共有領域に書き込む」という手順で構成されていることを理解することが重要です。

詳細Layer 2

正解はイです。共有領域をロックするのは、①共有領域から値を読み取る前、つまり(a)の時点が適切です。これにより、他のトランザクションがこの共有領域にアクセスして値を変更するのを防ぎ、一貫性を保つことができます。ロックの解除は、③結果を共有領域に書き込んだ後、つまり(d)の時点で行うのが適切です。これにより、トランザクションが完了した後に他のトランザクションが共有領域にアクセスできるようになります。このロック戦略は、排他ロック(Mutex)の基本的な考え方に基づいています。排他ロックとは、あるリソースを同時に1つのトランザクションのみが排他的に利用できるようにする仕組みです。

補足Layer 3

アは、ロック解除のタイミングが早すぎます。③の結果を共有領域に書き込む前にロックを解除してしまうと、他のトランザクションが不整合なデータを読み取る可能性があります。ウは、ロックの開始時点が遅すぎます。①の読み取り前にロックしないと、読み取った値が別のトランザクションによって変更されている可能性があり、不正確な加算結果につながります。エも、ロックの開始時点が遅すぎ、ウと同様の問題を抱えています。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「データベース」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
正規化・SQL・トランザクション特性(ACID)・同時実行制御・分散DBの基本。
学習の進め方
ER 図 ⇄ 関係スキーマ ⇄ SQL の3者を行き来できるよう演習。3NF までの正規化を手で実行できると強い。
関連キーワード
正規化SQLACIDトランザクションロックデッドロックER図
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

データベース の他の問題