SAシステムアーキテクト試験 午前Ⅰ

令和7年度春期 システムアーキテクト 午前Ⅰ 問9

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

問題

関係を第2正規形から第3正規形に変換する手順はどれか。

選択肢

  1. ア
    候補キー以外の属性から、候補キーの一部の属性に対して関数従属性がある場合、その関係を分解する。
  2. イ
    候補キー以外の属性間に関数従属性がある場合、その関係を分解する。
  3. ウ
    候補キーの一部の属性から、候補キー以外の属性への関数従属性がある場合、その関係を分解する。
  4. エ
    一つの属性に複数の値が入っている場合、単一の値になるように分解する。
解き方のヒントを見る

正規化を考える一つの視点

関係データベースの整理を考えるときは、表の構造を段階的に眺め、各項目の結び付きと重複の生じ方に注目して、設計上の意図と整合しているかを確認しましょう。

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

一つの観点に絞り、各項目がどの情報と結び付いているかを整理しながら、同じ事実が複数箇所に現れる可能性や、変更時の影響範囲を考えてください。

視点

表を単独で見るのではなく、項目どうしの関係、情報の重なり、更新や追加の際に生じうる不整合を順に整理すると、構造の妥当性を検討しやすくなります。

確認ポイント

  • 各項目がどの情報と結び付いているかを整理する
  • 同じ事実が複数箇所に現れる可能性を確認する
  • 変更や追加が別の情報へ及ぼす影響を考える
正解と解説を見る

正解

イ

解説

第2正規形では部分関数従属性を除去する。さらに第3正規形へ変換するには、候補キー以外の属性が別の候補キー以外の属性を関数従属させる推移的な関係を分解する。

理由

第3正規形では、候補キー以外の属性から別の候補キー以外の属性への関数従属性をなくす。これは候補キーから非キー属性への推移的な従属を分解する操作であり、該当する選択肢はイです。

比較

候補キーの一部から非キー属性への従属は第2正規形で扱う部分関数従属性であり、単一属性に複数値が入る状態の分解は第1正規形に関する。したがって、各選択肢は対象となる正規化段階が異なる。

選択肢ア

これは不正解だよ。候補キー以外の属性から候補キーの一部の属性への関数従属性を示しているが、第3正規形で除去する対象はこの向きではない。第3正規形では、非キー属性間の従属による推移的関数従属性を分解する。

選択肢イ(正解)

これは正解だよ。候補キー以外の属性間に関数従属性があると、候補キーから非キー属性への推移的な従属が生じることがある。第3正規形では、この非キー属性間の関数従属性を分解して除去する。

選択肢ウ

これは不正解だよ。候補キーの一部の属性から候補キー以外の属性への関数従属性は、複合候補キーの一部に依存する部分関数従属性である。この問題は第3正規形ではなく、第2正規形への変換で除去する対象となる。

選択肢エ

これは不正解だよ。一つの属性に複数の値が入っている状態を単一値へ分解するのは、属性値を原子値にする第1正規形の考え方である。第2正規形から第3正規形への変換で扱う、非キー属性間の関数従属性とは異なる。

学習のポイント

第2正規形と第3正規形では、除去対象となる関数従属性が異なる。

出典:独立行政法人 情報処理推進機構(IPA)令和7年度春期 システムアーキテクト試験 午前Ⅰ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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