<< 前回へ<<

 前回に説明した第1正規化、第2正規化に続く、第3正規化では「主キー列以外の列の値が主キーのみによって決まる」ようにする必要があります。第2正規化との区別が少々分かりにくいかもしれませんが、注文テーブルに注目してみてください。

第3正規化

 先述したように、注文テーブルは主キーである注文番号によって顧客番号、顧客名、顧客住所は決まります。しかし、よく考えてみてください。顧客名や顧客住所は、注文番号によってのみ決まるわけではなく、実は顧客番号によって決まるのです。

 このようなデータは冗長ですので、顧客テーブルとして分割します。その結果できたのが表1のテーブルです。

表1●第3正規化後のテーブル
表1●第3正規化後のテーブル
[画像のクリックで拡大表示]

 いかがですか?これで、正規化のプロセスは完了です。

 場合によっては、この後にボイスコッド(BC)正規化、第4正規化、第5正規化などが登場する場合もありますが、基本としては第3正規化まで理解していれば十分でしょう。