応用情報に戻る
外部キー難易度: 2013年度

応用情報技術者 過去問外部キー 2013年度 第28問

問題

“プログラマは全て社員であり、社員の約 10%を占める。社員は社員番号と氏名をもち、職種がプログラマである場合は、使用できるプログラム言語を一つ以上もつ。”という状況を記録するデータベース設計案として、適切なものはどれか。ここで、各案の〔 〕内に主キー・外部キーの指定を示す。

選択肢

  1. 1社員(社員番号、氏名、職種、プログラム言語)〔主キー:社員番号〕
  2. 2社員(社員番号、氏名、プログラム言語)〔主キー:社員番号とプログラム言語の組〕
  3. 3社員(社員番号、氏名)〔主キー:社員番号〕/プログラマ(社員番号、プログラム言語)〔主キー:社員番号。社員番号は社員表への外部キー〕
  4. 4社員(社員番号、氏名)〔主キー:社員番号〕/プログラマ(社員番号、プログラム言語)〔主キー:社員番号とプログラム言語の組。社員番号は社員表への外部キー〕

正解

4. 社員(社員番号、氏名)〔主キー:社員番号〕/プログラマ(社員番号、プログラム言語)〔主キー:社員番号とプログラム言語の組。社員番号は社員表への外部キー〕

詳しい解説を見る

解説

一人のプログラマが複数のプログラム言語をもち得るため、アのように社員表に言語列を1つ置くと複数言語を表せず、イのように全社員の表に言語を含めるとプログラマ以外の行で空値が生じるうえ氏名が部分関数従属となり不適切である。ウはプログラマ表の主キーが社員番号のみのため、1人につき1行しか登録できず「一つ以上(複数)の言語」を扱えない。エは社員(社員番号、氏名)と、社員番号とプログラム言語の組を主キーとするプログラマ表(社員番号は社員表への外部キー)に分けており、複数言語を正しく扱える正規化された設計である。よってエが正解。(出典: 平成25年度 春期 応用情報技術者試験 午前 問28)

一問一答

全400問を繰り返し学習

同じ年度の過去問

この調子で演習を続けよう

スキマ資格では応用情報の全3360問を分野別・難易度別に体系的に学習できます。応用情報技術者試験(AP)は IPA が実施する情報処理技術者試験のレベル3。2026年度からCBT方式へ移行し、科目A(四肢択一80問)・科目B(記述11問中5問選択)の2部構成で、それぞれ基準点以上が必要です。テクノロジ・マネジメント・ストラテジの全分野から出題されます。