部分関数従属とは?ぶぶんかんすうじゅうぞく
部分関数従属とは、候補キーが複数の属性から成るとき、その一部だけから非キー属性が決まってしまう状態。第2正規形に反する原因はこれで、決めている側のキー属性と決められる側の属性を別の表へ切り出すと解消する。逆に、候補キー全体でなければ決まらない状態を完全関数従属という。
最終更新:2026-10-06
この語が出る過去問を解く →背景
複合キーの表では、キーの片方にしか関係しない事実が紛れ込みやすい。商品名を受注明細に持たせると、同じ商品を含む明細の数だけ商品名が書き写され、変更のたびに全行を直す必要が生じる。1つの事実は1か所にだけ書かれるべきという原則を、キーの一部への従属という形で機械的に検出できるようにしたのが部分関数従属である。
具体例
(受注番号, 商品コード)を主キーとする明細表に商品名があると、商品コードだけで商品名が決まるので部分関数従属になる。数量は受注番号と商品コードの両方が揃わないと決まらないので、こちらは完全関数従属である。
試験での引っ掛け
主キーが単一属性なら部分関数従属は原理的に生じないので、その表は自動的に第2正規形を満たす。またキー属性どうしの従属は判定の対象外で、条件になるのは非キー属性の従属だけである。
関連用語
出た過去問
出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7(IPA)解説で登場
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問4(IPA)解説で登場
第2正規形である関係Rが、第3正規形でもあるための条件として、適切なものはどれか。
正解:推移的関数従属性が存在しない。
要点:第3正規形の条件は推移的関数従属が存在しないこと
第3正規形は、第2正規形であることに加えて、非キー属性が候補キーに推移的に関数従属していないことを条件とする。すなわちキー→非キー属性X→非キー属性Yという連鎖がなければよい。部分関数従属の排除は第2正規形の条件である。
出典:平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問8(IPA)解説で登場
第3正規形において存在する可能性のある関数従属はどれか。
正解:候補キーの真部分集合から他の候補キーの真部分集合への関数従属
要点:3NFが禁じるのは部分従属と推移的従属で、キー間の従属は残り得る
第3正規形が禁じているのは、候補キーの一部から非キー属性への部分関数従属と、非キー属性を経由する推移的関数従属である。候補キーの真部分集合どうしの関数従属は、右辺が非キー属性ではないためこれらに当たらず、第3正規形でも存在し得る(ボイス・コッド正規形では排除される)。
出典:令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3(IPA)解説で登場
関係R(A,B,C)の候補キーが{A,B}と{A,C}であり、{A,B}→C及びC→Bの関数従属性があるとき、関係Rはどこまでの正規形の条件を満足しているか。
正解:第3正規形
要点:全属性がキー属性なら第3正規形。非キーの決定子でBCNF不成立
候補キーが{A,B}と{A,C}なので、A・B・Cはいずれも候補キーに含まれるキー属性であり、非キー属性が存在しない。非キー属性がなければ部分関数従属も推移的関数従属も生じ得ないため、第2正規形・第3正規形は自動的に満たす。しかしC→Bという従属のCは候補キーでもスーパーキーでもないので、すべての決定子が候補キーであることを求めるボイス・コッド正規形は満たさない。よって第3正規形まで。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問6(IPA)解説で登場
次の表に対して、第3正規形まで正規化を行った場合、少なくとも幾つの表に分割されるか。ここで、顧客の1回の注文に対して一つの受注番号が割り当てられ、顧客は1回の注…
正解:4
要点:部分関数従属と推移的関数従属を除くと4表になる
まず受注番号と商品コードの複合キーに対し、顧客や受注日は受注番号だけで定まる部分関数従属なので、受注の見出し部分と明細部分に分ける。次に商品名と単価は商品コードに、顧客名は顧客コードに従属する推移的関数従属なので、それぞれ独立した表に切り出す。受注金額は単価と受注数から計算できる導出項目である。結果として受注・受注明細・商品・顧客の4つの表になる。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの3 技術要素 > 2. データベース設計 > (3) データの正規化に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。