SAシステムアーキテクト試験 午前Ⅰ
令和7年度春期 システムアーキテクト 午前Ⅰ 問9
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア候補キー以外の属性から、候補キーの一部の属性に対して関数従属性がある場合、その関係を分解する。
- イ候補キー以外の属性間に関数従属性がある場合、その関係を分解する。
- ウ候補キーの一部の属性から、候補キー以外の属性への関数従属性がある場合、その関係を分解する。
- エ一つの属性に複数の値が入っている場合、単一の値になるように分解する。
解き方のヒントを見る
正規化を考える一つの視点
関係データベースの整理を考えるときは、表の構造を段階的に眺め、各項目の結び付きと重複の生じ方に注目して、設計上の意図と整合しているかを確認しましょう。
この問題で問われていること
一つの観点に絞り、各項目がどの情報と結び付いているかを整理しながら、同じ事実が複数箇所に現れる可能性や、変更時の影響範囲を考えてください。
視点
表を単独で見るのではなく、項目どうしの関係、情報の重なり、更新や追加の際に生じうる不整合を順に整理すると、構造の妥当性を検討しやすくなります。
確認ポイント
- 各項目がどの情報と結び付いているかを整理する
- 同じ事実が複数箇所に現れる可能性を確認する
- 変更や追加が別の情報へ及ぼす影響を考える
正解と解説を見る
正解
イ
解説
第2正規形では部分関数従属性を除去する。さらに第3正規形へ変換するには、候補キー以外の属性が別の候補キー以外の属性を関数従属させる推移的な関係を分解する。
理由
第3正規形では、候補キー以外の属性から別の候補キー以外の属性への関数従属性をなくす。これは候補キーから非キー属性への推移的な従属を分解する操作であり、該当する選択肢はイです。
比較
候補キーの一部から非キー属性への従属は第2正規形で扱う部分関数従属性であり、単一属性に複数値が入る状態の分解は第1正規形に関する。したがって、各選択肢は対象となる正規化段階が異なる。
選択肢ア
これは不正解だよ。候補キー以外の属性から候補キーの一部の属性への関数従属性を示しているが、第3正規形で除去する対象はこの向きではない。第3正規形では、非キー属性間の従属による推移的関数従属性を分解する。
選択肢イ(正解)
これは正解だよ。候補キー以外の属性間に関数従属性があると、候補キーから非キー属性への推移的な従属が生じることがある。第3正規形では、この非キー属性間の関数従属性を分解して除去する。
選択肢ウ
これは不正解だよ。候補キーの一部の属性から候補キー以外の属性への関数従属性は、複合候補キーの一部に依存する部分関数従属性である。この問題は第3正規形ではなく、第2正規形への変換で除去する対象となる。
選択肢エ
これは不正解だよ。一つの属性に複数の値が入っている状態を単一値へ分解するのは、属性値を原子値にする第1正規形の考え方である。第2正規形から第3正規形への変換で扱う、非キー属性間の関数従属性とは異なる。
学習のポイント
第2正規形と第3正規形では、除去対象となる関数従属性が異なる。
出典:独立行政法人 情報処理推進機構(IPA)令和7年度春期 システムアーキテクト試験 午前Ⅰ 問9(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針