スポンサーリンク

ITパスポート試験 令和8年度 [問72] 過去問解説

問題

問72

関係データベースで管理している“口座”表,“顧客”表及び“取引明細”表がある。新たな顧客が口座の開設と同時に1万円を入金するとき,表にデータを追加する順序として,適切なものはどれか。ここで,下線のうち実線は主キーを,破線は外部キーを表す。

  • 口座 → 顧客 → 取引明細
  • 顧客 → 口座 → 取引明細
  • 顧客 → 取引明細 → 口座
  • 取引明細 → 口座 → 顧客

[出典:ITパスポート試験 令和8年度 問72]

正解

正解は「」です。

解説

 正解は「顧客 → 口座 → 取引明細」という順序です。関係データベースには「参照整合性制約」という重要なルールがあり、他の表のデータを参照する「外部キー」が設定されている場合、その参照先(主キー側)のデータが先に存在していなければなりません。

 まず、新しく口座を作るためには、そもそも「誰の口座か」を確定させるための顧客情報が必要です。そのため、最初に「顧客」表へデータを登録します。次に、その顧客に関連付ける「口座」表へ登録を行います。この際、「口座」表にある「顧客番号(外部キー)」は、先ほど登録した「顧客」表の「顧客番号(主キー)」を指し示す必要があるため、顧客が先にいないとエラーになります。

 最後に、作成された口座に対して「1万円の入金」という「取引明細」を登録します。「取引明細」表の「口座番号(外部キー)」は、「口座」表の「口座番号(主キー)」を参照しているため、口座ができた後でなければ入金記録を作ることができません。

 これは、飲食店で例えると「まずお客様が来店し(顧客)、注文を受けるための伝票を作り(口座)、その伝票に具体的な注文内容を書き込む(取引明細)」という順番でなければ、事務処理が成立しないのと同じ理屈です。

ア(口座 → 顧客 → 取引明細):
 「口座」表には「顧客番号」という外部キーが含まれています。参照先である「顧客」表にデータがない状態で口座を作ろうとすると、参照整合性制約に違反するため登録できません。
ウ(顧客 → 取引明細 → 口座):
 「取引明細」表は「口座番号」を外部キーとして持っています。「口座」表にデータが登録される前に入金内容だけを先に登録しようとしても、どの口座の入金かが不明なためエラーになります。
エ(取引明細 → 口座 → 顧客):
 完全に逆の順序です。外部キーを持つ「取引明細」や「口座」は、その土台となる親データ(主キー側)が確定していない状態ではシステムに受け入れられないため、不適切な順序となります。

スポンサーリンク

難易度

 この問題の難易度は、ITパスポート試験の中では標準的です。データベースの基本用語である「主キー」と「外部キー」の関係を正しく理解できているかを問う良問です。初学者にとっては、一見すると難しそうに見えますが、「参照している側は、参照される側より後に追加する」という依存関係のルール(親子関係)さえ把握してしまえば、パズルのように解くことができるため、得点源にしやすい問題と言えます。

用語補足

関係データベース (RDB):
 データを複数の表形式で管理し、項目同士を関連付けるデータベースです。Excelのシートを複数使い、特定のIDでつなげるイメージです。

主キー (Primary Key):
 表の中でデータを一意に特定するための項目です。出席番号やマイナンバーのように、重複が許されない「識別のための鍵」です。

外部キー (Foreign Key):
 他の表の主キーを参照するための項目です。自分の表のデータが「どこの誰に関連しているか」を示すリンクの役割を果たします。

参照整合性制約:
 外部キーで指定する値は、参照先の表に必ず存在しなければならないというルールです。存在しない実体のない番号を登録することを防ぎます。

対策

 対策としては、問題文の図を見て「どの表がどの表を参照しているか」を矢印で書き込む習慣をつけましょう。外部キーが引かれている(破線の)項目から、参照先の主キー(実線の)項目へ矢印を引くと依存関係が明確になります。追加の順序は必ず「矢印の先(親)」から「矢印の根元(子)」へ向かうことを覚えておけば、どのような類似問題にも対応できます。

created by Rinker
¥16,800 (2026/05/21 10:10:35時点 楽天市場調べ-詳細)


error:
タイトルとURLをコピーしました