AI資格ドリル
資格を選ぶ

用語比較

第一正規形・第二正規形・第三正規形の違い|何を取り除く段階か(DS検定)

第一正規形・第二正規形・第三正規形は、テーブルを正規化する3つの段階です。違いは、各段階で取り除くものにあります。第一正規形は1つのセルに複数の値が入る状態を、第二正規形は主キーの一部だけで決まる列を、第三正規形は主キー以外の列を経由して決まる列を、それぞれ取り除きます。

複数の値を取り除くのが第一、主キーの一部だけに従う列を取り除くのが第二、主キー以外を経由して決まる列を取り除くのが第三と区別するのが出発点です。段階は順に進めます。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。

第一正規形と第二正規形の要点

第一正規形

列が単一の値だけを持ち、1つのセルに複数の値や繰り返しが入らない状態。重複した行もない。

第二正規形

主キーが複数の列でできているとき、主キー以外の列が、主キーの全体に従って決まる状態。

第三正規形

主キー以外の列が、主キーだけに従って決まり、ほかの列を経由して決まらない状態。

違いを表で確認

比較軸第一正規形第二正規形
取り除くもの第一は1つのセルの複数の値、第二は主キーの一部だけに従う列第三は主キー以外の列を経由して決まる列
着目する関係第一は列の値の形、第二は主キーの全体への従い方第三は主キー以外の列を経由した従い方
進める順序第一から第二へ、第二から第三へと順に進める第三に進むには、第二までを満たしている必要がある
第二で気にする場面主キーが複数の列の組になっているとき主キーが1つの列だけなら、第二の問題は起こらない
試験で探す語繰り返し、複数の値、部分従属推移的、間接的、主キー以外から決まる

どこで迷っているかを切り分ける

01

正規化を「テーブルを分けること」としか覚えていない人

分けるのは結果です。何を取り除くために分けるのかが、段階ごとに違います。取り除く対象を言えると、3つの段階を見分けられます。

02

第二正規形と第三正規形の違いがあいまいな人

第二は、主キーが複数の列でできているときに、その一部だけで決まる列を問題にします。第三は、主キー以外の列から決まる列を問題にします。

03

問題文の説明から段階を当てたい人

「複数の値が入っている」なら第一、「主キーの一部で決まる」なら第二、「主キー以外の列から決まる」なら第三の話です。

具体例で使い分ける

例 1

1つの注文テーブルを3段階で分ける場合

架空の注文テーブルで、列は注文番号、商品コード、商品名、数量、顧客ID、顧客名です。商品コードの列に「A1,B2」のように複数の商品が入っています。

  • 第一正規形にするには、商品コードのセルに複数の値が入る状態をなくします。注文番号と商品コードの組ごとに1行にします。
  • この時点の主キーは、注文番号と商品コードの組です。商品名は商品コードだけで決まり、注文番号に関係がありません。主キーの一部だけで決まる列なので、第二正規形では商品テーブルに分けます。
  • 顧客名は、注文番号から顧客IDが決まり、顧客IDから顧客名が決まります。主キー以外の列を経由して決まる列なので、第三正規形では顧客テーブルに分けます。

結論: 複数の値、主キーの一部だけに従う列、主キー以外を経由して決まる列の順に取り除きます。

例 2

主キーが1つの列だけのテーブルの場合

顧客ID、顧客名、郵便番号、都道府県の4列で、顧客IDが主キーです。郵便番号から都道府県が決まります。

  • 主キーが顧客ID1つだけなので、主キーの一部だけで決まる列は存在しません。第二正規形は満たしています。
  • 都道府県は、顧客IDから郵便番号を経由して決まります。主キー以外の列を経由して決まる列があるので、第三正規形は満たしていません。

結論: 主キーが1つの列なら、第二の問題は起こらず、第三の問題だけが残りえます。

問題文から答えを選ぶ手順

  1. 1

    セルに複数の値が入っていないかを見る

    入っていれば第一正規形を満たしていません。行ごとに分けます。

  2. 2

    主キーが複数の列かを確かめる

    複数の列なら、その一部だけで決まる列がないかを調べます。あれば第二正規形を満たしていません。

  3. 3

    主キー以外の列から決まる列を探す

    主キー以外の列から決まる列があれば、第三正規形を満たしていません。

  4. 4

    段階の順序を守る

    第一を満たしてから第二、第二を満たしてから第三へ進みます。

試験での見分け方

  • 1第一正規形は、列が単一の値だけを持ち、1つのセルに複数の値や繰り返しが入らない状態である。
  • 2第二正規形は、主キー以外の列が、主キーの全体に従って決まる状態である。
  • 3第三正規形は、主キー以外の列が、主キーだけに従って決まる状態である。

誤答しやすい選択肢

第二正規形を、主キーが1つの列のテーブルにも当てはめる

修正: 第二正規形が問題にするのは、主キーが複数の列でできている場合の、その一部だけに従う列です。

第三正規形を、第二正規形と同じものと考える

修正: 第二は主キーの一部だけに従う列、第三は主キー以外の列を経由して決まる列が対象で、取り除くものが違います。

正規化を、テーブル数を減らす作業と考える

修正: 正規化は同じ内容の重複をなくすために、テーブルを分ける作業です。

確認問題

Q11つのセルに複数の値が入る状態を取り除く段階は、第一から第三のどれですか?

答え: 第一正規形

第一正規形は、列が単一の値だけを持つ状態です。

Q2主キーの一部の列だけで決まる列を取り除く段階は、第一から第三のどれですか?

答え: 第二正規形

主キーが複数の列でできているときに問題になります。

Q3主キー以外の列を経由して決まる列を取り除く段階は、第一から第三のどれですか?

答え: 第三正規形

主キー以外の列から決まる列を、別のテーブルに分けます。

到達チェック

  • 第一正規形で取り除くものを言える
  • 第二正規形が問題になる主キーの形を言える
  • 第三正規形で取り除くものを言える
  • 注文テーブルの例で、列ごとにどの段階で分けるかを説明できる

同じ資格で次に知りたいこと

よくある質問

Q第一・第二・第三正規形の一番大きな違いは何ですか?

A

取り除くものです。第一は1つのセルの複数の値、第二は主キーの一部だけに従う列、第三は主キー以外の列を経由して決まる列を取り除きます。

Q正規化を進めると何が良くなりますか?

A

データの重複と更新時のずれを減らせます。Wikipediaの正規化の解説は、冗長性を減らしデータの整合性を高めるための手順と説明しています。

Q第三正規形まで進めれば十分ですか?

A

一般に、関係データベースのテーブルは第三正規形を満たせば正規化されていると説明されます。ボイス・コッド正規形など、さらに進んだ段階もあります。

QDS検定に正規化は出ますか?

A

データサイエンティスト協会のスキルチェックリストに、第一正規化から第三正規化までの手法でテーブルを正規化できることが、データ構造の★1つ星の項目として含まれます。

次に見る比較

執筆: AI資格ドリル編集部(運営者情報を見る)