
正規化とは、データベースのテーブル設計で、データの重複を最小限に抑え、整合性を確保するようにテーブルを構造化することです。 重複による挿入、更新、削除の異常やデータの不整合を防ぎ、構造をより安定させて保守しやすくするために必要です。
正規化によって読み取り性能が低下したとき、特にJOINが増えてボトルネックになったときに非正規化を検討します。 意図的にデータの重複を許すか、テーブルを統合し、JOINの回数を減らします。長所は、必要なデータをより速く読み取り、システムの性能を高められることです。短所は、データが重複して一貫性を保ちにくくなり、更新時に複数箇所を変更する保守コストが増えることです。
