ITパスポート 2018年 (平成30年 秋期) 問85「関係データベースで管理している"担当社員"表,"地区"表及び"顧客"表を結合して…」の正解と解説です。ITパスポート試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約55%です。
正解
エ. 顧客コード(主) 地区コード(外部)
正答率 55.5%(1,372人中 761人が正解)
問題の解説
関係データベースのテーブル結合設計の問題。結合後のA表には社員名(担当社員表から)・地区名(地区表から)・顧客コード・顧客名・代表者名が含まれる。顧客表がA表を生成するためには、担当社員表(社員コード=主キー)への参照用外部キー(社員コード)と地区表(地区コード=主キー)への参照用外部キー(地区コード)の両方が顧客表に必要。主キー・外部キーの設計とJOINによるデータ取得の仕組みを正確に理解することが問われる。
選択肢ごとの解説
- 誤り。外部キーが全くなく顧客コード・顧客名・代表者名だけの構成では、担当社員表・地区表とのJOINができない。社員名・地区名を取得するための参照フィールド(外部キー)が存在しないため、A表が必要とする社員名・地区名のカラムを結合で取得する手段がない。
- 誤り。社員コード(外部キー→担当社員表参照)はあるが地区コード(外部キー→地区表参照)が欠けているため、地区表とのJOINができず地区名を取得できない。A表には地区名が必要なため地区コードの外部キーも必須であり、片方の外部キーのみでは不完全な設計となる。
- 誤り。地区コード(外部キー→地区表参照)はあるが社員コード(外部キー→担当社員表参照)が欠けているため、担当社員表とのJOINができず社員名を取得できない。A表には社員名が必要なため社員コードの外部キーも必須であり、片方の外部キーのみでは不完全な設計となる。
- 正解。顧客コード(主キー)・顧客名・代表者名・社員コード(外部キー→担当社員表参照)・地区コード(外部キー→地区表参照)の5フィールドを持つ構成。社員コードで担当社員表と、地区コードで地区表とそれぞれJOINすることでA表に必要な全フィールド(社員名・地区名含む)を取得できる。
ITパスポート 2018年 (平成30年 秋期) の過去問一覧に戻る・問85