【IT】【開発】データベース設計

データの分類

マスタデータ

 * 一度登録されたら頻繁には変更されないもの
 * 正規化(下記参照)とインデックス設計が重要

 * 商品マスタ

トランザクションデータ

 * 頻繁に変更されるもの

 * 受注テーブル

ユーザデータ

 * そのまんまだがユーザのデータで、マスタデータとトランザクションデータの両方の性質を持つ

 * 顧客テーブル

階層化関係



正規化

 * データベースの正規化(normalization) とは、データベースの冗長性を減らし、参照時の矛盾を減らすことが目的である

第1正規化

 * 繰返しデータをレコードとして、独立させること
 * 第1正規化後のデータを第1正規形(first normal form) という

第2正規化

 * 主キー(primary key)の一部だけから特定できる項目を別の表にすること
 * 「○○がわかれば、横1行全部がわかる」と言うようなものを見つけて、その関連でグループ分けを行う
 * 第2正規化後のデータを第2正規形(second normal form)という

第3正規化

 * 主キー以外の項目で特定できる項目を別の表にすること
 * 主キー以外(受注No と商品以外)に注目してグループ分けを行う