ハジカラ 〜はじめからでも、プログラミング勉強〜

入門向けに、IT関連(javaやKotlin)をコツコツ書いたり検証したりします。

Home » IT入門 » 【IT入門】データベースの正規化

【IT入門】データベースの正規化

calendar

reload

【IT入門】データベースの正規化

こんにちは😀

今回は、データベースの正規化に関してまとめてみます。

関係データベース(リレーショナルデータベース)は、蓄積されているデータに矛盾や重複が発生しないように、表を最適化する必要があります。
その最適化を正規化と呼びます。

正規化することで、データの矛盾・重複を未然に防ぐことができます。

また、関係データベースは、表の形でデータを管理するデータベースのことです。
データの内容次第で複数の表を関係付けして扱うことができます。

正規化をみていく上で、段階があります。
非正規形→第一正規系→第二正規形→第三正規形となります。
それぞれみていきましょう。

スポンサーリンク

非正規形とは

その名の通り、正規形ではない状態です。
例えば、表に繰り返し部分を持っていたり、各レコードの長さがバラバラである状態です。

関係データベースでは、そもそもこのような表を管理することができません。

第一正規形とは

非正規形の表から、繰り返しの部分を取り除いたものを第一正規形と言います。
切り捨てたデータは別のレコードや表に追加するなど整理する必要はあります。
また計算で求められるデータは、記録する必要はないので削除します。

このように繰り返しを排除し、レコードの長さを整えて二次元の表に整理して第一正規形が完成します。

第二正規形とは

第一正規形の表から「部分関数従属」している列を切り出したものが第二正規形になります。

主キーが決まれば、列の値が一意に決まる関係を「関数従属」と言います。
複合キーの一部の項目だけで、列の値が一意に決まる関係を「部分関数従属」と言います。

その部分関数従属にある列を複数の表に分けるなどして、整理すれば第二正規形にすることができます。

第三正規形とは

第一正規形、第二正規形と整理してきました。
第二正規形の表から、主キー以外の列に関数従属している列を切り出したものを第三正規形と言います。
この関数従属している列を推移的関数従属と呼んでいます。
これも推移的関数従属の列を別の表に切り出すことで作成できます。

このように関係データベースの表を作成する場合は、非正規形の状態から、第一正規形→第二正規形→第三正規形と整理していきます。
最終的には第三正規形まで整理して、データを管理します。

今回の一言・・・

何気なく操作や管理しているデータベースの表ですが、ゼロから作成するとなると、上記のような最適化が必要になります。

今回はここまで🤚

では、また次回。

IT入門一覧はこちら】