第3正規形とは?だいさんせいきけい
第3正規形とは、第2正規形を満たし、かつ非キー属性がキーに推移的に関数従属していない状態。ある非キー属性が別の非キー属性を決めている箇所を探し、その決定項を主キーとする別の表へ切り出せば到達する。実務のテーブル設計は、まずここまでを基本形として組み立てる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
1枚の表に事実を詰め込むと、同じ内容が何行にも重複して現れる。改称のたびに全行を直す必要が生じ、1行でも漏れれば表の中で矛盾が残る。正規形が段階に分かれているのは、重複を生む原因が異なるためで、複合キーの一部だけで定まる部分関数従属を除くのが第2正規形、キー以外の属性を経由して定まる推移的関数従属を除くのが第3正規形である。
具体例
乗車履歴の表が、駅コードと一緒に駅名まで持っているとする。駅名は駅コードから定まるので、駅名を変更すると履歴の全行を更新しなければならない。駅コードを主キーとする駅の表を分けて履歴側は駅コードだけを持てば、変更は1行で済み、履歴と駅名が食い違うこともなくなる。
試験での引っ掛け
第3正規形までは、情報を失わずに分解でき(無損失分解)、かつ関数従属性も保存できる分解が必ず存在する。BCNFではこの従属性の保存が犠牲になる場合があり、この対比が頻出する。またすべての属性がキー属性である関係は、非キー属性が存在しない以上、自動的に第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正規形である。
出典:平成29年度 秋期 応用情報技術者試験 午前 問27(IPA)
第3正規形であることの効果又は影響に関する記述として、適切なものはどれか。
正解:冗長性が排除され、データの整合性を保ちやすくなる。
要点:第3正規形は冗長性を排して更新時の不整合を防ぐ
第3正規形は、非キー属性が主キーに完全関数従属し、かつ推移的関数従属が排除された状態である。同じ事実が複数箇所に重複して保持されなくなるため、更新時の不整合(更新異常)が起こりにくくなり、データの整合性を保ちやすくなる。
出典:平成29年度 春期 応用情報技術者試験 午前 問27(IPA)解説で登場
“受注明細”表は,どのレベルまでの正規形の条件を満足しているか。ここで,実線の下線は主キーを表す。
正解:第2正規形
要点:非キー属性間の従属が残る表は第2正規形まで
主キーは受注番号と明細番号の組で、商品コードも数量もこの主キー全体に決まるため部分関数従属はなく、第2正規形は満たしている。しかし商品名は非キー属性である商品コードによって決まる推移的関数従属があるため、第3正規形は満たしていない。
出典:平成30年度 秋期 応用情報技術者試験 午前 問28(IPA)
出典:令和2年度 10月試験 応用情報技術者試験 午前 問28(IPA)
関係"注文記録"の属性間に①〜⑥の関数従属性があり、それに基づいて第3正規形まで正規化を行って、"商品"、"顧客"、"注文"、"注文明細"の各関係に分解した。関…
正解:注文明細(注文番号, 商品番号, 数量, 販売単価)(注文番号・商品番号が主キー)
要点:明細は{注文番号,商品番号}に完全従属する属性だけを残す
第3正規形では、主キー全体に完全関数従属し、かつ推移的従属のない属性だけを同じ関係に残す。数量と販売単価は{注文番号, 商品番号}に完全従属するので、この2属性を主キーとする関係にまとめる。注文日と顧客番号は注文番号に、顧客名は顧客番号に、商品名は商品番号に従属するので別の関係へ分ける。
出典・参考
公式シラバスの3 技術要素 > 2. データベース設計 > (3) データの正規化に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。