DBデータベーススペシャリスト試験 午前Ⅱ

令和7年度秋期 データベーススペシャリスト 午前Ⅱ 問4

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

従業員の,従業員番号,氏名及び使用できるプログラム言語を管理するために,“従業員”表及び“プログラム言語”表を設計する。“プログラム言語を 2 種類以上使用できる従業員がいる。プログラム言語を全く使用できない従業員もいる。”という状況を管理する“プログラム言語”表の設計として,適切なものはどれか。ここで,実線の下線は主キーを表す。
従業員表と,選択肢ごとに異なる主キー範囲を実線の下線で示したプログラム言語表の定義。
従業員表と,選択肢ごとに異なる主キー範囲を実線の下線で示したプログラム言語表の定義。

選択肢

  1. ア
    プログラム言語(氏名,プログラム言語),主キー:氏名
  2. イ
    プログラム言語(従業員番号,プログラム言語),主キー:プログラム言語
  3. ウ
    プログラム言語(従業員番号,プログラム言語),主キー:従業員番号
  4. エ
    プログラム言語(従業員番号,プログラム言語),主キー:従業員番号とプログラム言語
解き方のヒントを見る

比較対象と条件の対応を整理する

設問中の対象どうしを同じ基準で見比べるため、何を比較し、どの条件が固定され、どの条件が変化しているかを分けて整理する視点を身につけます。判断の前提をそろえることが大切です。

この問題で問われていること

今回は、対象そのものの特徴よりも、比較に使う条件の対応関係に注目しましょう。対象・基準・条件の組合せを一つずつ整理し、同じ土俵で読めているかを確認します。条件の役割を取り違えないことが要点です。

視点

データベースに関する比較では、対象の種類、比較する基準、適用される条件を分けて捉えます。各要素がどの関係にあるかを整理し、条件の読み替えや混同がないかを確認しましょう。

確認ポイント

  • 比較されている対象を同じ粒度で捉えているか
  • 固定されている条件と変化する条件を区別できているか
  • 基準と対象の対応関係を取り違えていないか
正解と解説を見る

正解

エ

解説

プログラム言語表は、従業員番号と使用できるプログラム言語の対応を管理する。複数言語への対応と重複登録防止を両立する主キーが必要です。

理由

一人の従業員が複数のプログラム言語を使用できるため、従業員番号だけでは一人分の複数行を区別できない。また、同じ言語を複数の従業員が使用できるため、プログラム言語だけでも不十分です。従業員番号と言語の組合せで対応を識別する。

比較

プログラム言語を全く使用できない従業員は、プログラム言語表に行がなくても従業員表で管理できる。したがって、言語表の主キーは、登録される対応そのものを一意に表せる設計にする必要がある。

選択肢ア

これは不正解だよ。氏名を主キーにすると、同じ従業員が複数のプログラム言語を使う場合に、同じ氏名を持つ行を複数登録できない。また、氏名は従業員を識別するための属性としても適切とは限らず、従業員番号を使って対応を管理する設計になっていない。

選択肢イ

これは不正解だよ。プログラム言語だけを主キーにすると、同じ言語を使用する複数の従業員を登録できない。言語は従業員ごとに異なるとは限らないため、従業員番号との組合せで対応を識別できるようにする必要がある。

選択肢ウ

これは不正解だよ。従業員番号だけを主キーにすると、一人の従業員について複数のプログラム言語を登録する要求に反する。同じ従業員番号で言語ごとの複数行を持てないため、複数の対応を区別できない。

選択肢エ(正解)

これは正解だよ。従業員番号とプログラム言語の組合せを主キーにすれば、一人の従業員に複数の言語を登録でき、同じ言語を複数の従業員が使用する場合も管理できる。さらに、同じ従業員と言語の対応の重複登録を防げる。

学習のポイント

対応表では、複数の属性を組み合わせた主キーの意味を確認する。

出典:独立行政法人 情報処理推進機構(IPA)令和7年度秋期 データベーススペシャリスト試験 午前Ⅱ 問4(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針