正規化
DBをマスターしたい
前回に引き続き、DBの基本知識を学習している
今回はER図についてまとめる
参考文献
目次
- ER図の役割
- 正規化とは
- ストレージの冗長構成
- バックアップ設計
1.ER図の役割
テーブルが多すぎる
 正規化していくと、テーブルの数が増えていく
 =管理が難しくなってくる
 そこでテーブルがどのように関連してるかを見えるようにする=ER図
ER図とは
 ER図はEntity(実体)とRelationship(かんれん)の略である
 つまりテーブル同士の関連についての図であると言える
2つの表記法
E-R図の表記法はIDEF1XとIE表記法の2つある。
2.テーブルの関連
テーブルの関連は3種類ある
- 1対1
- 1対多
- 多対多
1対1
 あまり見かけない
 二つのレコードのテーブルが1対1に対応するということ
 普通は一つのテーブルにまとめてしまって問題ない
1対多
 最もよくある関連のタイプ
「会社-社員」、「部署-社員」などが該当する
 1つの会社に対して複数の社員が所属する関係
3.E-R図の描き方
テーブル(エンティティ)の表記方法
 テーブルは以下のように表記します
 どちらの表記でも同じです。
IE表記法でのE-R図
- 会社と社員の関係
 「会社」エンティティ側の横棒はカーディナリティが1であることを表す
 「社員」エンティティは0以上の複数を表します
 これは、社員が所属していない会社のレコードがある事を指す
 ※カーディナリティ:相手のエンティティに対応するレコード数のこと
- 社員と部署の関係
 「部署」エンティティ側のカーディナリティは同じく1
 「社員」エンティティ側のカーディナリティは1以上の複数を表します
 これは、社員が所属していない部署のレコードはない事を指す
   
IDEF1XでのE-R図
- 
独立エンティティ 
 表記方法は角の尖った四角のエンティティ
 他のテーブルのデータに依存することのなく、データを保持できるエンティティ
 ex)会社テーブル、部署テーブル
- 
従属エンティティ 
 表記方法は角の丸い四角のエンティティ
 他のテーブルにデータが存在しなければ、データを保持できないエンティティ
 ex)社員テーブル
※双方の区別は主キーに外部キーが含まれているかどうかで判断する
4.「多対多」と関連実体
「多対多」の具体例
関連実体(associative entity)は2つのエンティティの間に作られる
学生と講義それぞれに対して「1対多」の関係となる





