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

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

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

問題

第2正規形である関係Rが,第3正規形でもあるための条件として,適切なものはどれか。ここで,A→Bは属性Bが属性Aに関数従属していることを意味する。

選択肢

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

関数従属と正規形の確認手順

属性どうしの依存関係を整理し、どの情報が何に左右されるかを順に確認します。定義だけで判断せず、候補となるまとまりや例外の有無を照合しながら、正規化の観点を一つずつ点検してください。

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

この問題では、関数従属を見つける作業と、正規形を判定する作業を混同しないことに集中します。各段階で使う前提を分け、属性の役割と依存の範囲を同じ基準で見比べてください。

視点

まず属性間の依存を図や表に書き出し、決定側・従属側・複合的なまとまりを区別します。そのうえで、正規形の判定に必要な条件を段階ごとに照合し、途中の判断が次の判断へ影響していないかを見直します。

確認ポイント

  • 依存関係の向きと、決定に関わる属性のまとまりを区別できているか
  • 単一属性の場合と複数属性の組合せの場合を同じ扱いにしていないか
  • 正規形の段階を飛ばさず、各段階の前提を個別に確認しているか
正解と解説を見る

正解

イ

解説

第2正規形は部分従属性を排除した状態であり、第3正規形ではそれに加えて、キーから非キー属性への望ましくない推移従属性がないことを確認します。したがって適切なのはイです。

理由

第2正規形では、複合候補キーの一部だけに非キー属性が従属する部分従属性を排除します。第3正規形ではさらに、候補キーから非キー属性へ別の非キー属性を経由して従属する推移従属性を排除する必要があります。

比較

設問はすでに第2正規形であると前提を置いているため、部分従属性を述べる選択肢ではなく、次の段階で確認する推移従属性に関する選択肢が条件として適切です。

選択肢ア

これは不正解だよ。部分従属性は、複合候補キーの一部に非キー属性が従属する状態であり、第2正規形で排除すべき問題です。設問では関係Rがすでに第2正規形であるため、第3正規形になる条件として改めて示す内容ではありません。

選択肢イ(正解)

これは正解だよ。第2正規形では部分従属性が排除されています。第3正規形ではさらに、候補キーから非キー属性へ別の非キー属性を経由して従属する推移従属性を排除する必要があるため、推移従属性が存在しないという条件が適切です。

選択肢ウ

これは不正解だよ。属性の定義域が原子定義域であることは、各属性値を分割できない単一値にする第1正規形に関係する条件です。第2正規形を前提とした関係が第3正規形になるために、追加で確認する条件を表していません。

選択肢エ

これは不正解だよ。任意の関数従属性A→BでAが候補キーになる必要はありません。第3正規形では、すべての関数従属性の左辺が候補キーであることまで要求するのではなく、非キー属性への推移従属性など、特定の望ましくない従属性を排除します。

学習のポイント

部分従属性と推移従属性を、正規化の段階ごとに区別して理解する。

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

関連する過去問一覧

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