pulpul 日本の試験

ネットワークスペシャリスト 概念書 · データベース

関係データベースの表設計と正規化

関係データベースの表設計とは、データの重複や更新時の矛盾を減らすように、表(関係)を属性どうしの関係に基づいて分けて定義する作業である。その判断の基準となるのが正規化であり、第1正規形から第3正規形までの段階で、表の構造が適切かどうかを確かめる。加えて、各表に主キーや外部キーを定め、表どうしの参照関係を制約として明示することも、設計の重要な一部である。

正規形の段階と判定の基準

第1正規形は、一つの属性に複数の値が入る繰返し属性を持たないことを条件とする。 第2正規形は、非キー属性が主キーの真部分集合に関数従属しないことを条件とする。つまり、キーの一部だけで値が決まる属性は、別の表に移す必要がある。 第3正規形は、非キー属性が主キーに対して推移的に関数従属しないことを条件とする。非キー属性どうしの依存関係を取り除くことで、同じ情報が表の中で繰り返し登録される状態を防ぐ。

正規化の手順と分解の考え方

正規化では、条件を満たさない表を、関数従属性に沿って複数の表に分解する。候補キー以外の属性どうしに関数従属性がある場合は、その関係を分解することで第3正規形に近づける。 一方、候補キーの一部から非キー属性への従属を分解するのは、第2正規形への変換に対応する。 一つの属性に複数の値が入っている状態を単一値に分けるのは、第1正規形への変換である。 段階を第1、第2、第3の順に踏むと考えると、どの従属性を分けるべきかが整理しやすい。

主キー・候補キーと外部キーの役割

候補キーとは、表の行を一意に識別できる属性の組であり、そのうちの一つを主キーとして選ぶ。複数の属性を組み合わせた候補キーでは、その一部だけでは行を決められない場合がある。例えば、部品番号とメーカ番号の組は納入表の候補キーの一部にできるが、それだけで個々の納入を識別できるとは限らず、納入日などの属性を加える必要が生じる。 同じ部品を同じメーカから複数回納入することがあるため、組み合わせだけで行が決まるとは考えないことが重要である。 外部キーは、参照する側の表が持つ属性であり、参照される側の表の主キーを指す。納入表が部品番号とメーカ番号を持つのは、納入表が部品表とメーカ表を参照するからであり、その逆ではない。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む