スポンサーリンク

55-03.データの正規化

スポンサーリンク
データの正規化 ITパスポート
●このページで解説する内容
・データの正規化データの重複を排除してテーブルを分割する処理
・データの正規化の目的(メリット)
 ①データベースの維持管理が容易(保守性が高い)になる
 ②データ更新時の不整合(矛盾)の発生を抑えられる

このページでは、ITパスポート試験で出題されるデータの正規化の内容に絞り、解説します。

スポンサーリンク

データの正規化とは?

データの正規化とは、データの重複を排除してテーブルを分割する処理です。

ITパスポート試験で問われるデータの正規化の工程は、「主キー以外のフィールド(項目)により、決まるフィールドを、別のテーブルに分割」することです。

55-03_01_社員テーブル(データの正規化前)

具体的には、社員テーブルのフィールド「支店番号」は主キーではありませんが、「支店番号」のフィールドにより「支店名」が決まります。

したがい、データの正規化では、「支店番号」と「支店名」のフィールドを別テーブル「支店番号テーブル」として分割します。

55-03_02_社員番号テーブル、支店番号テーブル(データの正規化後)

「社員番号テーブル」と「支店番号テーブル」に分割しても、「社員番号テーブル」の「支店番号」のフィールドが外部キーとなり、「支店番号テーブル」と関係づけることが可能です。

このように、データの正規化では、「主キー以外のフィールド(項目)により、決まるフィールドを、別のテーブルに分割」することで、データの重複を排除します。

データの正規化の目的(メリット)

データの正規化の目的(メリット)としては、次の2点になります。

①データベースの維持管理が容易(保守性が高い)になる
②データ更新時の不整合(矛盾)の発生を抑えられる

具体例として、「社員番号:0001」の社員が、「東京支店(01)」から「神奈川支店(02)」に異動した場合のデータベース更新を考えます。

データの正規化をしていない「社員テーブル」では、「社員番号:0001」のレコード(行)を「支店番号:02」「支店名:神奈川」に更新する必要があります。

55-03_03_社員テーブルの更新(データの正規化前)

万が一、「支店名」の更新が漏れた場合、「社員番号:0001」のレコード(行)は、「支店番号:02」「支店名:東京」というデータの矛盾が発生します。

一方、データの正規化をした場合は、「社員番号テーブル」の、「社員番号:0001」のレコードで、「支店番号:02」の修正のみで更新が完了します。

55-03_04_社員番号テーブルの更新(データの正規化後)

このように、データの正規化は、データベースの維持管理が容易(保守性が高い)になり、データ更新時の不整合(矛盾)の発生も抑えることができます。

スポンサーリンク

【まとめ】データの正規化

それでは最後におさらいをしておきましょう!

用語説明
データの正規化データの重複を排除し、テーブルを分割すること
メリット①:維持管理が容易(保守性が高い)になる
メリット②:データ更新時の不整合(矛盾)の発生を抑える

コメント

タイトルとURLをコピーしました