正規化を学ぼう
正規化とは?

目的:データベースの冗長性をなくし、データの一貫性を保証する。

具体的な方法:

結果として保証される事項:



第1正規化:複数のデータ項目の中で、繰り返して取られる属性値をもつ部分を固定部分と結合して別グループとして分離する。(下図を参照)

第2正規化:主キーに従属するデータ項目を別グループとして分離する。このとき主キーのみに従属して決まる部分を完全従属、主キー以外のほかのデータ項目が決まることで、決まる部分を部分従属として別グループに分離する。

第3正規化:主キー以外のデータ項目群の中で、従属関係にあるデータ項目群を別グループとして分離すること。




第3正規化の具体例

非正規化データ

固定部分 繰り返し部分(n個)
受注番号 顧客番号 氏名 住所 電話番号 受注日 受注総額 商品コード 商品名 注文数量 単位 受注金額 … … … …
1、固定部分+繰り返し部分1個のレコードをn個作成







受注番号 顧客番号 氏名 住所 電話番号 受注日 受注総額 商品コード 商品名 注文数量 単位 受注金額 1番目








受注番号 顧客番号 氏名 住所 電話番号 受注日 受注総額 商品コード 商品名 注文数量 単位 受注金額 n番目

3、従属関係にあるデータ項目群を分離する 2、各レコードキーで識別できるように項番を追加し、受注番号+項番をを主キーとする。










第3正規形
受注番号 顧客番号 受注日 受注金額


受注番号項番商品コード注文数量受注金額


顧客番号氏名住所電話番号


商品コード商品名単価




前のページへ戻る
最初のページへ戻る