関数従属性とは?かんすうじゅうぞくせい
関数従属性とは、2つの項目XとYの間で、Xの値が決まればYの値がただ1つに定まる関係。X→Yと書き、Xを決定項、Yを従属項と呼ぶ。正規化は、表の中にある従属関係を洗い出し、キー以外のものが決定項になっている箇所を別の表へ切り出す作業として説明できる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
1枚の表に何でも持たせると、同じ事実が何行にも重複して書かれる。改称のたびに全行を直さねばならず、1行でも漏れれば矛盾が残り(更新時異常)、最後の1行を消すと事実そのものが消える(削除時異常)。この危うさを設計者の勘ではなく「どの項目がどの項目を決めているか」という形で書き下せるようにしたのが関数従属性で、だからこそ正規化を機械的な手続きとして進められる。科目Bで設計の根拠を書かせるとき、必ず土台になる語である。
具体例
通販の注文明細表を、主キー(注文番号,商品コード)で考える。注文番号だけで注文日と会員IDが定まるのは複合キーの一部だけによる部分関数従属、商品コードだけで商品名が定まるのも同じく部分関数従属で、これらは第2正規形で分離する。会員ID→会員ランクのようにキー以外を経由して定まるものは推移的関数従属で、第3正規形の対象になる。
試験での引っ掛け
X→Yが成り立ってもY→Xが成り立つとは限らない、向きのある関係である(社員番号→氏名は成り立つが、同姓同名がありうる以上、氏名→社員番号は成り立たない)。また、複合キーの一部だけで定まる部分関数従属を除くのが第2正規形、キー以外の項目を経由して定まる推移的関数従属を除くのが第3正規形で、この対応が入れ替えて出題される。
関連用語
出た過去問
出典:平成28年度 春期 応用情報技術者試験 午前 問27(IPA)
関数従属を次のように表記するとき,属性a~eで構成される関係を第3正規形にしたものはどれか。 〔関数従属〕 (1) 属性Xの値が与えられると,属性Yの値を一意に…
正解:{a,b,d} と {b,c} と {b,d,e} に分解する
要点:第3正規形は非キー属性間の推移的関数従属を排除する
候補キーはaである。a→b→cという推移的関数従属があるのでcをbとともに切り出し、同様にa→{b,d}→eの推移性からeを{b,d}とともに切り出す。残るのは{a,b,d}となり、{a,b,d}・{b,c}・{b,d,e}の3つに分解した形が第3正規形である。
出典:平成30年度 秋期 応用情報技術者試験 午前 問28(IPA)
出典:令和2年度 10月試験 応用情報技術者試験 午前 問28(IPA)
関係"注文記録"の属性間に①〜⑥の関数従属性があり、それに基づいて第3正規形まで正規化を行って、"商品"、"顧客"、"注文"、"注文明細"の各関係に分解した。関…
正解:注文明細(注文番号, 商品番号, 数量, 販売単価)(注文番号・商品番号が主キー)
要点:明細は{注文番号,商品番号}に完全従属する属性だけを残す
第3正規形では、主キー全体に完全関数従属し、かつ推移的従属のない属性だけを同じ関係に残す。数量と販売単価は{注文番号, 商品番号}に完全従属するので、この2属性を主キーとする関係にまとめる。注文日と顧客番号は注文番号に、顧客名は顧客番号に、商品名は商品番号に従属するので別の関係へ分ける。
出典:令和4年度 春期 応用情報技術者試験 午前 問28(IPA)
第1、第2、第3正規形とリレーションの特徴a, b, cの組合せのうち、適切なものはどれか。 a:どの非キー属性も、主キーの真部分集合に対して関数従属しない。 …
正解:第1正規形:c/第2正規形:a/第3正規形:b
要点:正規化は繰返し→部分従属→推移的従属の順に取り除く
第1正規形は繰返し項目を排除して各欄が単一の値になった状態(c)を指す。第2正規形はさらに、主キーの一部だけで決まる属性(部分関数従属)を分離した状態(a)である。第3正規形では、非キー属性を経由して間接的に決まる推移的関数従属も取り除く(b)。この順で段階的に冗長性を減らしていく。
出典:令和7年度 春期 応用情報技術者試験 午前 問26(IPA)
関係を第2正規形から第3正規形に変換する手順はどれか。
正解:候補キー以外の属性間に関数従属性がある場合,その関係を分解する。
要点:第3正規形化は非キー属性間の推移的関数従属を分離すること
第3正規形は、候補キー以外の属性(非キー属性)が候補キーに推移的に関数従属している状態を排除した形である。第2正規形の関係で非キー属性どうしに関数従属があると、候補キー→中間属性→別の非キー属性という推移的従属が生じているので、その部分を別の関係に切り出す。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。