ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


正規化


ヨミ: セイキカ
掲示板をミル!
1カキコ!

正規化とは、データなどを特定ルールに基づき変更して利便性を向上させる手法である。
とりわけ当記事では関係(リレーショナル)データベースにおける正規化を扱う。


概要


※当解説ではサロゲートキーを使用して解説をおこなっていることと、第3正規形まで解説しています。
第4および第5はワケがわからないよ・・・


非正規的なデータ


まずは正規化が行われていない下のデータを見てほしい

商品名 値段 税込価格 売先 売却個数
テレビ 1000円 1050円 ニコニコ本社 10個
パソコン 3000円 3150円 5個
大百科ニュース 3個
洗濯機 1500円 1575円 2個
冷蔵庫 2000円 2100円 ドワンゴ 2個

データの正規化を行う上で重要なことは、「重複性の排除」と「関係性の明確化」である。
よくExcelで見られるクソみたいなデータ形式だがなんとかして利便性を向上する必要がある。
それが後述する第3正規形までの方法である。


第1正規形


まずは関係性を明確にするため計算によりめられる要素の排除と、繰り返し要素の排除を行う。

商品名 値段 売先 売却個数
テレビ 1000円 ニコニコ本社 10個
パソコン 3000円 ニコニコ本社 5個
パソコン 3000円 大百科ニュース 3個
洗濯機 1500円 大百科ニュース 2個
冷蔵庫 2000円 ドワンゴ 2個


第2正規形


次に、項と関連する値の要素を抜き出す。
ここでは「商品名」と「値段」が関連しているためこれを個別に抜き出し、「商品」テーブルに。
元のテーブルを「取引」テーブルとする。
その際に「商品」テーブルで一意な番号として商品番号を付与する。

「商品」テーブル

商品番号 商品名 値段
0001 テレビ 1000円
0002 パソコン 3000円
0003 洗濯機 1500円
0004 冷蔵庫 2000円

「取引」テーブル

商品番号 売先 売却個数
0001 ニコニコ本社 10個
0002 ニコニコ本社 5個
0002 大百科ニュース 3個
0003 大百科ニュース 2個
0004 ドワンゴ 2個


第3正規形


「取引」テーブルではまだ重複性が残っているため、これを解消する。
売先の情報を「売先」テーブルとして取り出すことにより解決できるため実行する。
なお、「商品」テーブルには変化がないためここでは割愛する。

「売先」テーブル

売先番号 売先名
0001 ニコニコ本社
0002 大百科ニュース
0003 ドワンゴ

「取引」テーブル

商品番号 売先番号 売却個数
0001 0001 10庫
0002 0001 5個
0002 0002 3個
0003 0002 2個
0004 0003 2個

最終的な関係性


第3正規形まで整えることによりデータの関係性や繰り返し要素の排除が行えるため、考え方としては中々に便利である。

テーブル間の関係性は下のとおりである。


関連項目



最終更新日: 18/01/20 19:19
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ