誰にでもできる!システム開発  RSSを登録する

73%は失敗と言われている、システム開発プロジェクトを成功させるためのテクニックや考え方をお届けします。新人エンジニアが失敗しやすいポイントも詳しく解説しています。

現在休刊中です    
解除

規約に同意して

2008/12/15

【誰にでもできる!システム開発】第4正規化・第5正規化

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

      『誰にでもできる!システム開発』 2008/12/15 号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 ご愛読、ありがとうございます。

 このメールマガジンは、システム開発を始めたばかりの方、これから始める
 方向けに、筆者が日頃から心がけていることをお話しています。

 扱う内容については、テクニックと考え方を半分ずつで構成しています。

 思っていた内容と違う、つまらない、読む気力が無くなったという方、
 購読解除はこちらからできます。
  http://www.mag2.com/m/0000263428.html


 著者プロフィール
  http://www.shiga-it-office.com/mailmagazine/writer.html

 事務所概要
  http://www.shiga-it-office.com/profile.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■第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つの表の関連表であれば、そもそも正規化が不要だ
 からということになります。

------------------------------------------------------------------------
■編集後記

 最後までお読みいただき、ありがとうございました。


 先週末に風邪をひきました。

 少し落ち着いてから病院に行ったのですが、それでも38.9度もあり、具合が
 悪いというのにインフルエンザの検査を受けさせられました。

 幸いなことにインフルエンザでは無かったのですが、最近では新型ウィルス
 への対応として、検査体制や蔓延を防ぐ対策として強制的に入院させたりす
 るのだそうです。徹底してますね。

 タミフルなどの抗ウィルス剤も備蓄されていますが、新型ウィルスに効果が
 あるかは未知数でして、もし効かないとなると大量の死者が出ることは予想
 されますので、みなさんも症状があれば病院に行きましょう。


 ご感想・ご意見・ご要望などありましたら、気軽にご連絡ください♪
 では、また次回お会いしましょう!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
『誰にでもできる!システム開発』 2008/12/15 号

 本日のメールマガジンを読んだ感想をお聞かせください。
 お寄せいただいた感想は、メールマガジン上で紹介させていただくことが
 ありますので、ご了承ください。

 配信中止はこちらから↓
  http://www.mag2.com/m/0000263428.html
 メールアドレスの変更はこちらから↓
  http://www.mag2.com/m/0000263428.html
 ご意見&ご感想はこちらから↓
  http://www.shiga-it-office.com/mailmagazine/ImpressionFrom.html
 コンサルティングのご相談はこちらから↓
  http://www.shiga-it-office.com/inquiry.html


 発行元 志賀IT事務所
   http://www.shiga-it-office.com/

 関連メールマガジン 「誰にでもできる!インターネット活用術」
   http://www.mag2.com/m/0000263426.html

 関連ブログ
  ☆コンサル日和
   http://d.hatena.ne.jp/kei_onpu/
  ☆爆裂!C#野郎
   http://csharp.yaminabe.info/
  ☆10年戦える開発技術
   http://10year.yaminabe.info/
  ☆情報処理技術者試験午前対策
   http://am.yaminabe.info/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
現在休刊中です
解除

規約に同意して

最近の記事

上へ戻る