正規化
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対多」の関係となる