読み方 : だいさんせいきけい
第3正規形 【third normal form】 3NF / 第三正規形 / 第3正規化 / 第三正規化
概要
第3正規形(third normal form)とは、リレーショナルデータベース(RDB)でデータの冗長性や不整合を排除した正規形の一つで、ある表(リレーション)が第2正規形であり、かつ、レコード中の非キー項目のうち、他の非キー項目のいずれかが定まれば一意に定まるようなものを排除して独立した表として分離したもの。RDBではどの表にどの項目を記録するかは設計次第だが、同じ項目が複数の表にまたがって重複するなど不適切な構造だと処理効率の低下やデータの不整合を招く。データ全体の構造はそのままで、一定の基準に基づいて表の設計を整理することを「正規化」、整理後の形式を「正規形」という。
例えば、製品の仕入れ先を記録する表が「製品コード、製品名、仕入先コード、仕入先名、所在地、電話番号」で構成され、製品コードが主キーであるとき、仕入先名や所在地、電話番号は仕入先コードが定まれば一意に定まる。
このような場合に、表から仕入先名、所在地、電話番号の項目を取り除き、「仕入先コード、仕入先名、所在地、電話番号」からなる新たな表として分離したものが第3正規形となる。第2正規形の表をこのような形式に改めることを「第3正規化」という。
一方、行内にデータの重複を含む非正規形の表から重複を排除したものを「第1正規形」という。また、第1正規化データ表をもとに、主キーが定まれば一意に定まる項目を別の表に分離したものを「第2正規形」という。
(2025.8.8更新)
「第3正規形」の関連用語
他の用語辞典による「第3正規形」の解説 (外部サイト)
資格試験などの「第3正規形」の出題履歴
▼ 基本情報技術者試験
【令7修7 問19】 関係 “注文記録” の属性間に ①~⑥ の関数従属性があり,それに基づいて第3正規形まで正規化を行って,“商品”,“顧客”,“注文”,“注文明細” の各関係に分解した。
【令6修6 問19】 “従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})( { } は繰返しを表す)。
【令5修12 問19】 項目 a~f から成るレコードがある。このレコードの主キーは,項目aとbを組み合わせたものである。また,項目fは項目bによって特定できる。
【令5修7 問19】 “従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})( { } は繰返しを表す)。
【令4修1 問25】 関係 “注文記録” の属性間に ①~⑥ の関数従属性があり,それに基づいて第3正規形まで正規化を行って,“商品”,“顧客”,“注文”,“注文明細” の各関係に分解した。
【令2修1 問25】 項目 a~f からなるレコードがある。このレコードの主キーは,項目aとbを組み合わせたものである。また,項目fは項目bによって特定できる。
【令1修12 問26】 次のような繰返し構造をもったデータを,第3正規形に正規化したものはどれか。ここで,下線部分は主キーを表す。また,単位と単価は商品コードごとに決まるものとする。
【平30修12 問28】 関係 “注文記録” の属性間に ①~⑥ の関数従属性があり,それに基づいて第3正規形まで正規化を行って,“商品”,“顧客”,“注文”,“注文明細” の各関係に分解した。
【平29修7 問27】 関係 “注文記録” の属性間に ①~⑥ の関数従属性があり,それに基づいて第3正規形まで正規化を行って,“商品”,“顧客”,“注文”,“注文明細” の各関係に分解した。
【平29修1 問26】 項目 a~f からなるレコードがある。このレコードの主キーは,項目aとbを組み合わせたものである。また,項目fは項目bによって特定できる。
【平28修12 問28】 “従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})( { } は繰返しを表す)。
【平28修7 問28】 次の “受注台帳” 表を “注文” と “顧客” 表に分解し,第3正規形にしたとき,両方に必要な属性はどれか。ここで,送付先と支払方法は注文ごとに決めるものとする。
【平27秋 問27】 関係 “注文記録” の属性間に ①~⑥ の関数従属性があり,それに基づいて第3正規形まで正規化を行って,“商品”,“顧客”,“注文”,“注文明細” の各関係に分解した。
【平27修7 問27】 “従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})( { } は繰返しを表す)。
【平27修1 問28】 項目 a~f からなるレコードがある。このレコードの主キーは,項目aとbを組み合わせたものである。また,項目fは項目bによって特定できる。
【平26秋 問28】 関係を第3正規形まで正規化して設計する目的はどれか。
【平26修1 問30】 次のような繰返し構造をもったデータを,第3正規形に正規化したものはどれか。ここで,下線部分は主キーを表す。また,単位と単価は商品コードごとに決まるものとする。
【平25修6 問32】 項目 a~f からなるレコードがある。このレコードの主キーは,項目aとbを組み合わせたものである。また,項目fは項目bによって特定できる。
【平24修12 問31】 “従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})( { } は繰返しを表す)。
【平24修6 問30】 次のような繰返し構造をもったデータを,第3正規形に正規化したものはどれか。ここで,下線部分は主キーを表す。また,単位と単価は商品コードごとに決まるものとする。
【平24修1 問30】 項目 a~f からなるレコードがある。このレコードの主キーは,項目aとbを組み合わせたものである。また,項目fは項目bによって特定できる。
【平23修12 問29】 次の “受注台帳” 表を “注文” と “顧客” 表に分解し,第3正規形にしたとき,両方に必要な属性はどれか。ここで,送付先と支払方法は注文ごとに決めるものとする。
【平22修12 問33】 “従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})( { } は繰返しを表す)。
【平22秋 問29】 次の “受注台帳” 表を “注文” と “顧客” 表に分解し,第3正規形にしたとき,両方に必要な属性はどれか。ここで,送付先と支払方法は注文ごとに決めるものとする。
【平21春 問32】 “従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})( { } は繰返しを表す)。