戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2018年 秋期 85


問題文

関係データベースで管理している“担当社員”表、“地区”表及び“顧客”表を結合して、A表を得た。結合に用いた“顧客”表はどれか。ここで、下線のうち実線は主キーを、破線は外部キーを表す。
ITパスポート 2018年 秋期  問85の問題画像ITパスポート 2018年 秋期  問85の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

関係データベースの結合(担当社員・地区・顧客)【ITパスポート 解説】

正解の理由

A表にある「社員名」と「地区名」は、それぞれ「担当社員」表と「地区」表から取り出された列です。A表の残り(顧客コード、顧客名、代表者名)は顧客表が持っている情報と考えられます。したがって、顧客表には「担当社員」表と「地区」表と結合(JOIN)できるための外部キー(担当社員を示す社員コード、地区を示す地区コード)が含まれていなければなりません。
選択肢のうち、顧客表に主キー(顧客コード、実線)と代表者名・顧客名を持ち、さらに社員コードと地区コードが破線(外部キー)で示されているのは だけです。よって が正解です。
(用語補足)主キー(Primary Key:表の各行を一意に識別する項目)、外部キー(Foreign Key:別の表の主キーを参照する項目)、結合(JOIN:複数の表をつなげて一つの表のように扱う操作)

解法ステップ

  1. A表の列を確認:顧客コード(主キー)、顧客名、社員名、地区名、代表者名。
  2. 各列の出所を推測:
    • 社員名 → 「担当社員」表
    • 地区名 → 「地区」表
    • 顧客コード・顧客名・代表者名 → 顧客表
  3. 「担当社員」表と「地区」表の情報をA表に取り込むには、顧客表にそれぞれの表を参照する外部キー(社員コード、地区コード)が必要。
  4. 選択肢を見て、顧客表に両方の外部キー(破線で示されるもの)があるものを選ぶ。該当するのは だけ。

選択肢別の誤答解説

  • ア:顧客コード(主キー)、顧客名、代表者名のみ。社員名・地区名を取得するための外部キーがないため、担当社員表・地区表と結合できない。A表の「社員名」「地区名」を作れない。
  • イ:社員コードが破線(外部キー)であるため担当社員表とは結合可能。ただし地区コードの外部キーがないため地区表とは結合できない。A表にある「地区名」を得られない。
  • ウ:地区コードが破線(外部キー)であるため地区表とは結合可能。ただし社員コードの外部キーがないため担当社員表とは結合できない。A表にある「社員名」を得られない。
  • エ:顧客コード(主キー)と顧客名・代表者名を持ち、社員コードと地区コードが外部キー(破線)になっている。担当社員表・地区表両方と結合でき、A表の全列を再現できるため正しい。

よくある誤解

  1. 「A表に社員名や地区名がある=顧客表にその名前もある」と考える誤解。実際は名前は別のテーブルにあり、顧客表は名前ではなく参照用のキー(社員コードや地区コード)を持つことが多いです。
  2. 線の見方を誤る(実線=主キー、破線=外部キーを逆に読む)。図の線種はキーの役割を示すため、必ず確認すること。

補足コラム

関係データベース設計では「正規化」と呼ばれるルールで、重複する情報を別の表に分けます。例えば社員の名前を顧客表に何度も書くと修正漏れが発生します。そこで社員は「担当社員」表で一度だけ管理し、顧客表は社員コード(外部キー)で参照します。これが今回の問題の背景にある考え方です。

FAQ

Q. 顧客表に社員名・地区名を直接入れてはいけないのですか?
A. 技術的には可能ですが、データの重複や整合性の問題が起きやすくなるため、一般的には外部キーで参照する方法(正規化)が推奨されます。
Q. 実線・破線が無くても判断できますか?
A. 線が無いと難しいですが、A表に社員名・地区名があるなら、その情報の出所(別の表)があるはずと考え、参照キーが必要と推理できます。図の記号は重要な手がかりです。
Q. JOIN の種類(内部結合・外部結合)は関係ありますか?
A. 今回は「どの顧客表が結合に使われたか」を問う問題で、結合の種類までは指定がありません。必要な外部キーがあるかが判断基準です。

関連キーワード: リレーショナルデータベース, 主キー, 外部キー, テーブル結合, 正規化, JOIN, テーブル設計
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について