/note/tech

正規化ってなに

正規化していない、項目な何十個もあるファイルみたいなテーブルの方が、一つのテーブルを読んでくれば、全てをまかなえるので、プログラマーの目線からは、SQLが単純になり誰でもSQLを簡単に組めることになるんだと思います。

許してはならない

テーブルを分けるにあたって、わかりやすいルールを作ってテーブルを分けて行くのがよい のではないかと考え

こんな具合に6つのルールを考えてみました。

  1. イベントデータは、イベントの発生単位(入力単位)にテーブルを分ける

  2. 必須項目と必須項目以外を分ける

  3. 生きているデータと死んでいるデータを分ける

  4. 繰返し項目を除去するためにテーブルを分ける

  5. バリデーションルールを明示する

  6. 状況テーブルの様に検索用のテーブルは検索用に特化したテーブルとして分けて設計する

尊い...