ITパスポート試験 ITパスポート 2018年 (平成30年 秋期)85: 関係データベースで管理している"担当社員"表,"地区"表及び"顧客"表を結合して,A表を得た。結合に用いた"顧客"表はどれか。ここで,下線のうち実線は主キー,破

ITパスポート 2018年 (平成30年 秋期)
Q 8585 / 100
関係データベースで管理している"担当社員"表,"地区"表及び"顧客"表を結合して,A表を得た。結合に用いた"顧客"表はどれか。ここで,下線のうち実線は主キー,破線はを表す。 担当社員 | 社員コード(主) | 社員名 | 地区 | 地区コード(主) | 地区名 | A | 顧客コード(主) | 顧客名 | 社員名 | 地区名 | 代表者名 |
この問の正解率:55.47%(1,372件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

関係データベースで管理している"担当社員"表,"地区"表及び"顧客"表を結合して,A表を得た。結合に用いた"顧客"表はどれか。ここで,下線のうち実線は主キー,破線は外部キーを表す。 担当社員 地区 A

選択肢

  • .顧客コード(主) 代表者名
  • .顧客コード(主) 社員コード(外部)
  • .顧客コード(主) 地区コード(外部)
  • .顧客コード(主) 地区コード(外部)

正解

. 顧客コード(主) 地区コード(外部)

解説

関係データベースのテーブル結合設計の問題。結合後のA表には社員名(担当社員表から)・地区名(地区表から)・顧客コード・顧客名・代表者名が含まれる。顧客表がA表を生成するためには、担当社員表(社員コード=主キー)への参照用外部キー(社員コード)と地区表(地区コード=主キー)への参照用外部キー(地区コード)の両方が顧客表に必要。主キー・外部キーの設計とJOINによるデータ取得の仕組みを正確に理解することが問われる。

選択肢ごとの解説

  • .誤り。外部キーが全くなく顧客コード・顧客名・代表者名だけの構成では、担当社員表・地区表とのJOINができない。社員名・地区名を取得するための参照フィールド(外部キー)が存在しないため、A表が必要とする社員名・地区名のカラムを結合で取得する手段がない。
  • .誤り。社員コード(外部キー→担当社員表参照)はあるが地区コード(外部キー→地区表参照)が欠けているため、地区表とのJOINができず地区名を取得できない。A表には地区名が必要なため地区コードの外部キーも必須であり、片方の外部キーのみでは不完全な設計となる。
  • .誤り。地区コード(外部キー→地区表参照)はあるが社員コード(外部キー→担当社員表参照)が欠けているため、担当社員表とのJOINができず社員名を取得できない。A表には社員名が必要なため社員コードの外部キーも必須であり、片方の外部キーのみでは不完全な設計となる。
  • .正解。顧客コード(主キー)・顧客名・代表者名・社員コード(外部キー→担当社員表参照)・地区コード(外部キー→地区表参照)の5フィールドを持つ構成。社員コードで担当社員表と、地区コードで地区表とそれぞれJOINすることでA表に必要な全フィールド(社員名・地区名含む)を取得できる。

ITパスポート 2018年 (平成30年 秋期)過去問一覧へ戻る・問85