第一正規化の例外

第一正規化の例外について説明

一レコード一要素(スカラ値)とすることを第一正規化と言いますが、例外として第一正規化を行わずにテーブル化する例もあります。


配列状態の列

以下テーブルの要素列のように複数のスカラ値を持たせるような構造も可能です。


テーブル作成例

列を配列状態にするメリット・デメリット

以下、メリット・デメリットについて詳解を加えます。

メリット

  1. 登録するレコード数を抑えられるので、DB操作に関する性能が向上する点

デメリット

  1. 他テーブルと結合する際に配列型の列をキーに結合することができない点
  2. 配列型の列にした場合、その列を検索条件の対象として利用できない点(セル値に対して特定の値がマッチングするレコード取得等)
  3. 配列型の列の値の構造が複雑化した場合、仕様を厳密化しないとアプリケーションのエンハンスがしにくくなる点


見た通り、デメリットの方が多い為、原則として第一正規化に倣うことをお勧めします。

但し性能を重視した場合、その限りでない事も留意して下さい。


SoulImpact株式会社公式ブログ

ソフトウェアの開発/システム技術者の派遣/ITコンサルタント

0コメント

  • 1000 / 1000