step02 テーブルの正規化
正規化とは
これまで、システムのテーブル構成を決める設計については、現実世界の特定の対象や業務を分析することで、多分に勘と経験にたよって行ってきた。業務分析において、画面や帳票の検討から決められることもあった。
もちろん、勘や経験は重要だが、より複雑な、たとえば10個以上のテーブルを必要とするようなシステムについて、テーブル構成を決めるにはどうしたらよいのだろう。なにかシステマチックな手順があるのだろうか。
それがテーブルの正規化および正規形と呼ばれるものである。テーブル設計においては、1つの複雑なテーブルを、より単純な2つのテーブルに分割してゆく操作がくりかえされる。その際に、分割すべきかどうかという判定基準を提供するのが正規形というテーブルの性質であり、実際にテーブルを分割するのが正規化とよばれる手続だ。
正規化と正規形には、図2-1に示すようないくつかの種類があり、上から下に段階的に実行される。

この他にも、第4正規化、第5正規化、ボイス=コッド正規化(と、それぞれの結果としての正規形)などがあるが、普通は第3正規化までの手順を踏めば、データベース・システムのテーブルとしての必要十分条件を満たすとされている。
教科書による「正規化」の学習
正規化は、単に知識として持っているだけでは役に立たず、実際のデータを正規化していき、望ましい正規形のテーブルを作り出すスキルが必要だ。そこで、以下の教科書(『これだけは知っておきたいデータベースの常識』(藤本壱、技術評論社より抜粋)を元に、詳細な解説を行う。このリンクからダウンロードして、授業中に参照すること。予定している小テストでは、この資料の持ち込みを許可するので、手元におけるよう印刷するとよい。
「正規化」の小テスト
この単元の内容を正しく理解したことを確認するため、小テストを行う。上記教科書の印刷物のみ、持ち込みを許可する。PCの使用は認めないので、ログオフしておくこと。