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

平成29年度春期 データベーススペシャリスト 午前Ⅱ 問7

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

問題

第2正規形であるが第3正規形でない表はどれか。ここで,講義名に対して担当教員は一意に決まり,所属コードに対して勤務地は一意に決まるものとする。また,{ }は繰返し項目を表し,実線の下線は主キーを表す。
主キーを下線で示した学生・講義・教員・成績表,社員基本表,所属・勤務地表,及び趣味を繰返し項目として含む社員表の四つの候補。
主キーを下線で示した学生・講義・教員・成績表,社員基本表,所属・勤務地表,及び趣味を繰返し項目として含む社員表の四つの候補。

選択肢

  1. ア
    学生番号・講義名・担当教員・成績の表(主キー:学生番号と講義名)
  2. イ
    社員番号・氏名・入社年月日・電話番号の表(主キー:社員番号)
  3. ウ
    社員番号・氏名・所属コード・勤務地の表(主キー:社員番号)
  4. エ
    社員番号・身長・体重・繰返し項目{趣味}の表(主キー:社員番号)
解き方のヒントを見る

関数従属を整理する視点

関数従属と正規形を考えるときは、属性どうしの決まり方と表の分割による影響を順に整理し、依存関係の範囲や情報の重複に注目して判断の根拠を言語化します。各段階で同じ観点を保つことが大切です。

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

一つの属性や属性の組が別の属性をどの範囲で決めると見なせるかに焦点を絞り、キーとの関係、部分的な依存、推移的な依存を混同しないよう整理します。依存の範囲を図にすると確認しやすくなります。

視点

属性を単独または組として捉え、どの情報が同じ事実を繰り返し持つのか、分割した場合に意味や更新の一貫性がどう変わるのかを概念的に確認します。

確認ポイント

  • 決まり方を述べる主体と、決められる属性を区別できているか
  • 候補となるキーと、それ以外の属性との依存関係を分けて整理できているか
  • 表を分割したときの重複、更新、結合後の情報保持を観点として確認できているか
正解と解説を見る

正解

ウ

解説

正解はウです。社員番号から所属コードが決まり、所属コードから勤務地が決まるため、社員番号から勤務地への推移的関数従属が発生します。主キーは単一属性なので部分関数従属はなく第2正規形ですが、第3正規形ではありません。

理由

ウでは主キーが社員番号です。社員番号から所属コードが決まり、問題文の条件により所属コードから勤務地が一意に決まります。そのため、社員番号から勤務地へ、所属コードを経由した推移的な関数従属があります。主キーが単一属性なので部分関数従属はなく、第2正規形ですが、第3正規形ではありません。

比較

アは複合主キーですが、講義名に対して担当教員が決まるため、主キーの一部から非キー属性が決まります。イは社員番号を主キーとする単純な従属です。エは趣味が繰返し項目なので第1正規形を満たしません。

選択肢ア

これは不正解だよ。主キーは学生番号と講義名の複合キーです。問題文より講義名から担当教員が一意に決まるため、担当教員は複合キー全体ではなく講義名だけに従属します。これは部分関数従属であり、第2正規形を満たさないため、該当する表ではありません。

選択肢イ

これは不正解だよ。主キーは社員番号という単一属性なので、主キーの一部だけに非キー属性が従属する部分関数従属は生じません。氏名、入社年月日、電話番号はいずれも社員番号に従属する表として示されており、第2正規形で第3正規形でない表には当たりません。

選択肢ウ(正解)

これは正解だよ。主キーは社員番号で、社員番号から所属コードが決まります。また、問題文の条件から所属コードから勤務地が一意に決まります。このため勤務地には推移関数従属があり、第3正規形ではありません。一方、主キーは単一属性なので部分関数従属はなく、第2正規形です。

選択肢エ

これは不正解だよ。趣味は{趣味}と表されており、一つの社員番号に対して複数の値を取り得る繰返し項目です。したがって、この表はまず第1正規形を満たしていません。第2正規形であることが前提の選択肢にはならないため、求める表ではありません。

学習のポイント

第2正規形と第3正規形を、部分関数従属と推移関数従属の違いで整理する。

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

関連する過去問一覧

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