ビジネスアプリケーションの運用データベースには、数百または数千ものテーブルが含まれる場合があります。ビジネス要件に必要な数のテーブルが必要です。テーブルの数を減らすためだけにテーブルの数を減らすと、通常、データベースのクエリが難しくなり、データの整合性の問題が発生し、正規化されたデータベースよりも保守がはるかに難しくなります。
非正規化が必要な場合があります。これは、自分が何をしているか、そしてその理由を正確に知っている人によってのみ行われるべきです。デノマライズの作成は非常に簡単であるため、データベースの専門家または長年のデータベースの経験を持つ上級アプリケーション開発者のみが行う必要があります。経験の浅い人は、設計するデータベースで、少なくとも3番目の標準形式(経験の浅い人を雇うことを考えていない領域であるデータウェアハウジングを行っている場合を除く)に到達するよう努力する必要があります。
結合が高価であるためにテーブルを減らすと言うとき、それらは一般に無知であるか、重要なインデックスが欠落している、または大きな複数列の自然キーを使用するデータベースの設計が不適切です。リレーショナルデータベースは結合を使用するように設計されており、FKが適切にインデックス付けされ、小さなフィールドを使用して結合する場合、結合は非常に効率的です(整数が最も効率的です)。テラバイトサイズのデータベースを所有する大企業は、どうにかして優れたパフォーマンスを獲得し、結合を使用していることに注意してください。
テーブルの数を減らしたいという理由だけで、テーブルの数を削減しようとする深刻なデータベース設計者はいません。データが不要になったため、または他の方法で解決できないパフォーマンスの問題があるため、テーブルの数を減らします(そして、テーブルの非正規化のデータに大きなリスクを負う前に試す方法はたくさんあります) 。