ITサポート

セミナー

会員特典

その他

過去のコラム等

Twitter

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■第27回 第4正規化・第5正規化 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 前回、第3正規化までお話しましたが、正規化は第5まで存在します。 しかし、実際の業務では第3正規化までで終わりにすることが一般的です。 そこで今回、あえて第4、第5正規化を紹介することで、なぜ第3正規化まで とすることが多いのか考えてみたいと思います。 ちなみに、第4正規化の前に「ボイスコッド正規化」というのがあるのです が、ちょっと分かりにくいところがありますので、順番を変えて次回紹介し ようと思います。 ●第4・第5正規化の対象 いきなり核心に触れてしまいますが、第3正規形までのテーブルは、キー項 目が決まると非キー項目も決まる(関数従属)という性質があります。 この性質があるために、キーは分解できないのですが、第4・第5正規化はキ ーの分解を行います。 一見矛盾している話のようですけれど、対照表(関連表)のようにキーのみ の表では状況によって分解が可能になります。 この対照表、表Aと表Bの関連が他対他であるとき、キーの組み合わせを持 った表を作成することで、1対他と他対1の関連を作り出します。 例を、社員と趣味の関係で考えてみます。 ある社員の趣味が読書と映画鑑賞だとすると、複数の趣味が存在ということ になりますし、読書が趣味の社員も相当多く居ると思われますので、他対他 の関係になります。 これを対照表にすると、以下のようになります。 ------------------- | 社員 | 趣味 | +------+----------+ | 田中 | 読書 | +------+----------+ | 田中 | 映画鑑賞 | +------+----------+ | 鈴木 | 読書 | +------+----------+ | 鈴木 | 競馬 | +------+----------+ | 佐藤 | 映画鑑賞 | ------------------- 社員が決まると趣味の集合が決まりますね。 このように集合に対する従属性を多値従属性といいます。 ●第4正規化 では、以下のような表ではどうでしょうか。 -------------------------- | 部署 | 社員 | 支給品 | +------+------+----------+ | 総務 | 田中 | 鉛筆 | +------+------+----------+ | 総務 | 田中 | ノート | +------+------+----------+ | 総務 | 田中 | 消しゴム | +------+------+----------+ | 総務 | 佐藤 | 鉛筆 | +------+------+----------+ | 総務 | 佐藤 | ノート | +------+------+----------+ | 総務 | 佐藤 | 消しゴム | +------+------+----------+ | 営業 | 鈴木 | ノートPC | +------+------+----------+ | 営業 | 鈴木 | 携帯電話 | +------+------+----------+ | 営業 | 後藤 | ノートPC | +------+------+----------+ | 営業 | 後藤 | 携帯電話 | +------+------+----------+ | 営業 | 池田 | ノートPC | +------+------+----------+ | 営業 | 池田 | 携帯電話 | -------------------------- この表では、部署に対して社員の集合が決まるし、内線の集合も決まる性質 があります。 第4正規化では、このように多値従属性が複数存在するとき、それぞれの多 値従属性に注目して分割します。 --------------- ------------------- | 部署 | 社員 | | 部署 | 支給品 | +------+------+ +------+----------+ | 総務 | 田中 | | 総務 | 鉛筆 | +------+------+ +------+----------+ | 総務 | 佐藤 | | 総務 | ノート | +------+------+ +------+----------+ | 営業 | 鈴木 | | 総務 | 消しゴム | +------+------+ +------+----------+ | 営業 | 後藤 | | 営業 | ノートPC | +------+------+ +------+----------+ | 営業 | 池田 | | 営業 | 携帯電話 | --------------- ------------------- さて、第4正規化を行わない場合、社員・支給品を登録しないとデータの登 録が行えません。(キー項目にNULLは入れられません) また、部署に所属する社員のデータすべてを削除すると、部署ごとの支給品 が分からなくなってしまいますね。 ●第5正規化 第5正規化は、分解後の表を結合すると元の表に戻せるように分解します。 もっと分かりやすく言うと、全ての組み合わせを考慮して分解します。 上記の表を例にすると、 --------------- ------------------- ------------------- | 部署 | 社員 | | 部署 | 支給品 | | 社員 | 支給品 | +------+------+ +------+----------+ +------+----------+ | 総務 | 田中 | | 総務 | 鉛筆 | | 田中 | 鉛筆 | +------+------+ +------+----------+ +------+----------+ | 総務 | 佐藤 | | 総務 | ノート | | 田中 | ノート | +------+------+ +------+----------+ +------+----------+ | 営業 | 鈴木 | | 総務 | 消しゴム | | 田中 | 消しゴム | +------+------+ +------+----------+ +------+----------+ | 営業 | 後藤 | | 営業 | ノートPC | | 佐藤 | 鉛筆 | +------+------+ +------+----------+ +------+----------+ | 営業 | 池田 | | 営業 | 携帯電話 | | 佐藤 | ノート | --------------- ------------------- +------+----------+ | 佐藤 | 消しゴム | +------+----------+ | 鈴木 | ノートPC | +------+----------+ | 鈴木 | 携帯電話 | +------+----------+ | 後藤 | ノートPC | +------+----------+ | 後藤 | 携帯電話 | +------+----------+ | 池田 | ノートPC | +------+----------+ | 池田 | 携帯電話 | ------------------- 第5正規化を行わない場合、各項目がキーですので、全てのデータが揃って からでないと登録ができません。 さて、なぜ第3正規化までで十分なのか分かりましたでしょうか。 まず1つ目の理由として、データが揃わないと登録できないという制限が発 生する事。 2つ目の理由として、2つの表の関連表であれば、そもそも正規化が不要だ からということになります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━