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

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

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

問題

第2正規形である関係Rが,第3正規形でもあるための条件として,適切なものはどれか。

選択肢

  1. ア
    いかなる部分従属性も成立しない。
  2. イ
    推移的関数従属性が存在しない。
  3. ウ
    属性の定義域が原子定義域である。
  4. エ
    任意の関数従属A→Bに関して,Bは非キー属性である。
解き方のヒントを見る

関数従属を正規形へつなぐ視点

関数従属と正規形を整理するときは、属性間の決まり方と表の構造を切り分けて捉え、定義同士の関係を順に点検することが大切です。

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

一つの依存関係に注目し、どの属性が何を決めるのか、またその関係が表の分解や重複とどう関わるのかを定義に沿って確認してください。

視点

関数従属は属性間の決定関係、正規形はその関係を踏まえた表構造の整理として捉えます。まず用語の定義を分けて確認し、依存する側・決められる側・候補となる識別単位の役割を混同しないようにします。

確認ポイント

  • 依存関係の左辺と右辺の役割を、用語の定義に沿って区別する
  • 識別に関わる属性のまとまりと、単独属性との関係を整理する
  • 表の重複や分解との結び付きを、該当する正規形の条件から確認する
正解と解説を見る

正解

イ

解説

第2正規形では部分関数従属性を排除する。さらに第3正規形とするには、キーから非キー属性への依存が別の非キー属性を経由して成立する関係を排除する必要があるため、推移的関数従属性が存在しないことが条件になる。

理由

第2正規形は、複合キーの一部だけで非キー属性が決まる部分関数従属性を排除した状態です。第3正規形では、それに加えて、キー以外の属性を経由して別の非キー属性が決まる推移的関数従属性も存在しないことが求められる。

比較

アは第2正規形の条件に関係し、ウは第1正規形に関する条件です。エは関数従属の右辺属性についての条件を逆方向に限定しており、第3正規形の定義を適切に表していない。

選択肢ア

これは不正解だよ。部分関数従属性を排除することは、第2正規形に関係する条件である。設問では関係Rがすでに第2正規形だと示されているため、そこから第3正規形になるための追加条件としては適切ではない。

選択肢イ(正解)

これは正解だよ。第2正規形の状態から第3正規形にするには、キーから非キー属性への依存が、別の非キー属性を経由して成立する推移的関数従属性を排除する必要がある。したがって、この条件が適切である。

選択肢ウ

これは不正解だよ。属性の定義域を原子定義域にすることは、各属性値を分割できない単一値にするという第1正規形に関する条件である。第2正規形から第3正規形へ進むための追加条件を示していない。

選択肢エ

これは不正解だよ。任意の関数従属A→BについてBが非キー属性である、という条件は、第3正規形の判定条件を正しく表していない。第3正規形では、推移的な依存関係の有無など、関数従属性の構造を確認する。

学習のポイント

第2正規形と第3正規形の追加条件を、関数従属性の種類で整理する。

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

関連する過去問一覧

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