論理設計のステップ
論理設計は以下の4つのステップからなる
1. エンティティの抽出
どんなデータを管理するエンティティ(テーブル)が必要かを明確にする
2. エンティティの定義
エンティティ(テーブル)ごとにどんな属性(カラム)が必要かを明確にする
エンティティとは?
システムにおいて管理する必要があるデータのこと
エンティティ(Entity)は日本語で「実体」という意味
具体的には、顧客、社員、店舗のような物理的実体を伴うものもあれば、注文、予約というような概念としてしか存在しないものもある
RDBにおいては、テーブルの名前になるものという理解でもよい
3. 正規化
テーブルを分割することでデータの冗長性(ムダ、重複)をなくす
正規形には第1~第5正規形までが存在する
業務では第3正規形までを考えることが多い
第1正規形
「1つのフィールドには1つの値しか含まない」という原則が守られた形
第2正規形
部分関数従属が解消されていて、完全関数従属のみのテーブルになっている形
関数従属性とは
y = f (x)
というようにx
の値を1つ決めればy
の値が1つに決まる関係性のこと
この関係が成立している状態「y
はx
に従属するという
このとき記号では「{x}→{y}
」というように表す
第3正規形
推移的関数従属が解消されている形
推移的関数従属とは
2段階の関数従属がある状態
4. ER図の作成
複数のテーブルの関係性(リレーション)を可視化するには、
ER図(Entity Relationship Diagram)を用いる
リレーションの種類
外部キーなどによって、同じ意味の列を持つテーブル間には、 関連(リレーション)があり、
テーブル間のリレーションには以下の2種類がある
- 1対多(1:N)
- 1対1(1:1)