データベースの設計が、システム全体のパフォーマンスに与える影響はとても大きく、テーブル、インデックス、ストレージ、メモリの設計は、最終的なシステムの目的であるアプリケーションの、使い勝手の良し悪しを決定付ける要因にもなりえます。
そのデータベースのテーブル設計において、切っても切り離せない正規化理論。やはり、重要度がとても高いようで、システム開発の上流工程で行う作業にもかかわらず、基本情報処理技術者や、ITパスポート試験でも頻出のテーマです。
得点のために学習することももちろん大切ですが、正規化理論は、ファイルのレイアウト、アプリケーション内での構造体、クラスの設計にも利用できる、データの構造を決定するための強力な武器にもなることから、システムに携わる者としては、ぜひ抑えておきたいポイントです。
さて、能書はこの辺にしておいて・・・。
基本情報処理技術者や、ITパスポート試験で解説される正規化理論は、紙面の都合上かなり要点を抑えて解説されていますよね。そのためか、難しい印象を与えているように感じます。私自身、最初に学んだときは「?」の連続でした。逆に専門書などは理論立てて説明されていますが、あまりに学術的でやはり難しいと感じます。
私はエンジニアですから、そこは実務家らしく、できるだけ平易で実際に使用できるようになるための解説を目指したいと思います。肩のこらない内容を心がけるので、構えないで読んでいただければ幸いです。