正規化とは?
正規化とは、データの重複や、挿入・更新・削除の際に生じる不整合(更新時異状)を防ぐため、関数従属にもとづいて表を分割していく手順。繰返し項目を除くのが第1正規形、部分関数従属を除くのが第2正規形、推移的関数従属を除くのが第3正規形。
基本情報技術者試験の過去問では4回出題されています(2017年度〜2023年度)。
せいきか
正規化の意味
データの重複や、挿入・更新・削除の際に生じる不整合(更新時異状)を防ぐため、関数従属にもとづいて表を分割していく手順。繰返し項目を除くのが第1正規形、部分関数従属を除くのが第2正規形、推移的関数従属を除くのが第3正規形。
正規化の具体例
「注文番号、商品コード、商品名、数量」という表では、商品コードだけで決まる商品名が主キーの一部にしか従属していない(部分関数従属)。商品名を商品表へ切り出せば、商品名を改称しても1行直すだけで済む。
正規化は試験でどう引っ掛けられる?
正規化の目的は容量削減ではなく、更新時異状の防止と整合性の確保。また正規化を進めるほど結合が増えて性能が落ちるため、あえて崩す非正規化という選択もある点を「常に第3正規形が最善」と誤解しやすい。
正規化と関連する用語
正規化が出た過去問
0以外の数値を浮動小数点表示で表現する場合,仮数部の最上位桁が0以外になるように,桁合わせする操作はどれか。ここで,仮数部の表現方法は,絶対値表現とする。
正解:正規化
要点:正規化=仮数の先頭を0以外に寄せ指数で調整する操作
浮動小数点数は仮数部と指数部の組で値を表すため、同じ値でも仮数と指数の取り方が何通りもあります。そこで仮数部の最上位桁が0にならないよう仮数を左へ寄せ、その分だけ指数を調整して表現を一意に決める操作を正規化と呼びます。仮数部の有効桁を最大限使えるので、精度の低下も抑えられます。
出典:平成29年度 春期 基本情報技術者試験 午前 問2(IPA)ディレクトリトラバーサル攻撃に該当するものはどれか。
正解:攻撃者が,パス名を使ってファイルを指定し,管理者の意図していないファイルを不正に閲覧する。
要点:ディレクトリトラバーサルはパス指定を細工した不正閲覧
ディレクトリトラバーサルは、ファイル名を受け取るWebアプリケーションに対して「../」などを含むパスを与え、本来公開する意図のない上位ディレクトリのファイルを読み出させる攻撃です。パスの検証不足が原因なので、入力値の正規化や、指定できる範囲を限定する対策が有効です。
出典:平成29年度 春期 基本情報技術者試験 午前 問37(IPA)オブジェクト指向の基本概念の組合せとして,適切なものはどれか。
要点:オブジェクト指向の柱は抽象化・カプセル化・継承・クラス
オブジェクト指向は、共通の性質を抜き出す抽象化、データと操作を1つにまとめて内部を隠すカプセル化、既存のクラスの性質を引き継ぐ継承、そしてオブジェクトの雛形であるクラスを基本概念とします。正規化は関係データベースの、構造化は手続き型設計の考え方であり、オブジェクト指向の基本概念には含まれません。
出典:平成29年度 春期 基本情報技術者試験 午前 問48(IPA)次の関数従属を満足するとき,成立する推移的関数従属はどれか。ここで,“A→B”はBがAに関数従属していることを表し,“A→{B, C}”は,“A→B”かつ“A→…
正解:注文コード → 顧客コード → 顧客住所
要点:推移的関数従属はA→B→Cと2段でCが決まる関係
推移的関数従属は、A→B かつ B→C が成り立ち、Bが候補キーでないために A→C が間接的に導かれる関係をいう。ここでは注文コードから顧客コードが決まり、顧客コードから顧客住所が決まるので、注文コードを起点とした推移的関数従属が成立する。正規化ではこの連鎖を切り離して別表にすることが第3正規形の目的となる。
出典:令和5年度 (公開問題) 基本情報技術者試験 kamokuA 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。