用語比較
第一正規形・第二正規形・第三正規形の違い|何を取り除く段階か(DS検定)
第一正規形・第二正規形・第三正規形は、テーブルを正規化する3つの段階です。違いは、各段階で取り除くものにあります。第一正規形は1つのセルに複数の値が入る状態を、第二正規形は主キーの一部だけで決まる列を、第三正規形は主キー以外の列を経由して決まる列を、それぞれ取り除きます。
複数の値を取り除くのが第一、主キーの一部だけに従う列を取り除くのが第二、主キー以外を経由して決まる列を取り除くのが第三と区別するのが出発点です。段階は順に進めます。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
第一正規形と第二正規形の要点
第一正規形
列が単一の値だけを持ち、1つのセルに複数の値や繰り返しが入らない状態。重複した行もない。
第二正規形
主キーが複数の列でできているとき、主キー以外の列が、主キーの全体に従って決まる状態。
第三正規形
主キー以外の列が、主キーだけに従って決まり、ほかの列を経由して決まらない状態。
違いを表で確認
| 比較軸 | 第一正規形 | 第二正規形 |
|---|---|---|
| 取り除くもの | 第一は1つのセルの複数の値、第二は主キーの一部だけに従う列 | 第三は主キー以外の列を経由して決まる列 |
| 着目する関係 | 第一は列の値の形、第二は主キーの全体への従い方 | 第三は主キー以外の列を経由した従い方 |
| 進める順序 | 第一から第二へ、第二から第三へと順に進める | 第三に進むには、第二までを満たしている必要がある |
| 第二で気にする場面 | 主キーが複数の列の組になっているとき | 主キーが1つの列だけなら、第二の問題は起こらない |
| 試験で探す語 | 繰り返し、複数の値、部分従属 | 推移的、間接的、主キー以外から決まる |
DS検定の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
正規化を「テーブルを分けること」としか覚えていない人
分けるのは結果です。何を取り除くために分けるのかが、段階ごとに違います。取り除く対象を言えると、3つの段階を見分けられます。
第二正規形と第三正規形の違いがあいまいな人
第二は、主キーが複数の列でできているときに、その一部だけで決まる列を問題にします。第三は、主キー以外の列から決まる列を問題にします。
問題文の説明から段階を当てたい人
「複数の値が入っている」なら第一、「主キーの一部で決まる」なら第二、「主キー以外の列から決まる」なら第三の話です。
具体例で使い分ける
例 1
1つの注文テーブルを3段階で分ける場合
架空の注文テーブルで、列は注文番号、商品コード、商品名、数量、顧客ID、顧客名です。商品コードの列に「A1,B2」のように複数の商品が入っています。
- 第一正規形にするには、商品コードのセルに複数の値が入る状態をなくします。注文番号と商品コードの組ごとに1行にします。
- この時点の主キーは、注文番号と商品コードの組です。商品名は商品コードだけで決まり、注文番号に関係がありません。主キーの一部だけで決まる列なので、第二正規形では商品テーブルに分けます。
- 顧客名は、注文番号から顧客IDが決まり、顧客IDから顧客名が決まります。主キー以外の列を経由して決まる列なので、第三正規形では顧客テーブルに分けます。
結論: 複数の値、主キーの一部だけに従う列、主キー以外を経由して決まる列の順に取り除きます。
例 2
主キーが1つの列だけのテーブルの場合
顧客ID、顧客名、郵便番号、都道府県の4列で、顧客IDが主キーです。郵便番号から都道府県が決まります。
- 主キーが顧客ID1つだけなので、主キーの一部だけで決まる列は存在しません。第二正規形は満たしています。
- 都道府県は、顧客IDから郵便番号を経由して決まります。主キー以外の列を経由して決まる列があるので、第三正規形は満たしていません。
結論: 主キーが1つの列なら、第二の問題は起こらず、第三の問題だけが残りえます。
問題文から答えを選ぶ手順
- 1
セルに複数の値が入っていないかを見る
入っていれば第一正規形を満たしていません。行ごとに分けます。
- 2
主キーが複数の列かを確かめる
複数の列なら、その一部だけで決まる列がないかを調べます。あれば第二正規形を満たしていません。
- 3
主キー以外の列から決まる列を探す
主キー以外の列から決まる列があれば、第三正規形を満たしていません。
- 4
段階の順序を守る
第一を満たしてから第二、第二を満たしてから第三へ進みます。
試験での見分け方
- 1第一正規形は、列が単一の値だけを持ち、1つのセルに複数の値や繰り返しが入らない状態である。
- 2第二正規形は、主キー以外の列が、主キーの全体に従って決まる状態である。
- 3第三正規形は、主キー以外の列が、主キーだけに従って決まる状態である。
誤答しやすい選択肢
第二正規形を、主キーが1つの列のテーブルにも当てはめる
修正: 第二正規形が問題にするのは、主キーが複数の列でできている場合の、その一部だけに従う列です。
第三正規形を、第二正規形と同じものと考える
修正: 第二は主キーの一部だけに従う列、第三は主キー以外の列を経由して決まる列が対象で、取り除くものが違います。
正規化を、テーブル数を減らす作業と考える
修正: 正規化は同じ内容の重複をなくすために、テーブルを分ける作業です。
確認問題
Q11つのセルに複数の値が入る状態を取り除く段階は、第一から第三のどれですか?
答え: 第一正規形
第一正規形は、列が単一の値だけを持つ状態です。
Q2主キーの一部の列だけで決まる列を取り除く段階は、第一から第三のどれですか?
答え: 第二正規形
主キーが複数の列でできているときに問題になります。
Q3主キー以外の列を経由して決まる列を取り除く段階は、第一から第三のどれですか?
答え: 第三正規形
主キー以外の列から決まる列を、別のテーブルに分けます。
到達チェック
- 第一正規形で取り除くものを言える
- 第二正規形が問題になる主キーの形を言える
- 第三正規形で取り除くものを言える
- 注文テーブルの例で、列ごとにどの段階で分けるかを説明できる
関連ページで確認する
同じ資格で次に知りたいこと
- 形態素解析と係り受け解析の違い|単語に分けるか、単語どうしのつながりを調べるか(DS検定)
形態素解析と係り受け解析の違いを、入力と出力、処理の順序、日本語の例文で解説。DS検定の自然言語処理で問われる見分け方の手順と確認問題つきです。
- リレーショナルデータベース(RDB)とNoSQLの違い|表で持つか、用途に合う形で持つか(DS検定)
リレーショナルデータベース(RDB)とNoSQLの違いを、データの持ち方、スキーマ、結合、整合性、選ぶ場面で解説。DS検定のデータ蓄積で問われる見分け方の手順と確認問題つきです。
- WebスクレイピングとAPIの違い|Webページから取るか、用意された窓口から取るか(DS検定)
Webスクレイピング(クローラー)とAPIによるデータ収集の違いを、取得元、取れるデータの形、守るルールから解説。DS検定のデータ収集で問われる使い分けの手順と確認問題つきです。
よくある質問
Q第一・第二・第三正規形の一番大きな違いは何ですか?
取り除くものです。第一は1つのセルの複数の値、第二は主キーの一部だけに従う列、第三は主キー以外の列を経由して決まる列を取り除きます。
Q正規化を進めると何が良くなりますか?
データの重複と更新時のずれを減らせます。Wikipediaの正規化の解説は、冗長性を減らしデータの整合性を高めるための手順と説明しています。
Q第三正規形まで進めれば十分ですか?
一般に、関係データベースのテーブルは第三正規形を満たせば正規化されていると説明されます。ボイス・コッド正規形など、さらに進んだ段階もあります。
QDS検定に正規化は出ますか?
データサイエンティスト協会のスキルチェックリストに、第一正規化から第三正規化までの手法でテーブルを正規化できることが、データ構造の★1つ星の項目として含まれます。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
