ume

データベース後半 正規化〜ER図

前書き

前回実際にデータベースの概念設計の流れについて簡単に説明しました。今回は前回の続きのER図の作成〜物理設計までを実際に手を動かしながら学んでいき新しい発見や気づきを記録として記事にしていこうと思います。

目次

⑤ER図の概要〜ER図の作成まで(テーブルとテーブルの関係性を可視化して関係性を分かりやすくする。正規化を行うとテーブルが増えて関係性が分かりにくくなるので).

ER図とは

⇨テーブル同士の関係性を可視化しデータベースの設計内容を簡単な図にしたもの. 要はER図はデータベースを作成する設計図。

ER図を作成する目的.
⇨①誰でもデータベースの仕様を変更できるようにするために書く。 システムは一度構築すれば終わりではなく、長年稼働しながら改修を繰り返していく。その時チームが10人で、そのうちの1人がデータベースを設計したとする。データベースを作った人がそのチームから別のプロジェクトに異動した際にER図がないと残りの9人がデータベースの仕様を変更しないといけない時にテーブル同士の関係性がわからず困ったり,変更するのに時間がかかる。そうならないようにER図を作成しデータベース設計者以外の人もデータベースの設計内容を理解することで変更を容易にできるようにするためにER図を作成する.
⇨②データベース作成者がデータベース作るためにミスしないようにするため

E = entity(テーブル) R = relationship(関係性)

例 学校のER図を作成する際

校長 - 学校→ 生徒 ↔️ 科目となる

用語.
校長、学校、生徒、科目=entity.
-,⇨、↔️=relationship.
上の学校のentityとrelationshipの関係性を考えてみよう.
entityとrelationshipの関係性3種類.
①1対1.
⇨校長というテーブルと学校テーブルの関係性を考えてみると 1人の校長に対して学校は1つなので 1対1の関係性が成り立つ.
②1対多.
⇨学校と生徒の関係性を見ると.
学校1つに対して生徒は複数在籍している.
なので1対多の関係が成り立つ.

③多対多.
⇨学生と科目の関係性を見ると 学生1人に対して複数の科目を持っているし、1つの科目からしても複数の学生に履修されているので.
多対多の関係が成り立つ.

ER図の書き方.
IE表記法で書いてみる別名「鳥の足表記法」.
手順.
①エンティティの抽出 ②属性を割り振る 四角の箱の上半分に主キー,下半分に主キー以外を書く.
③テーブル間の関係性を鳥の足でつなぐ | = 1を表し.
○ =ゼロ以上. 三 = 複数.
要約すると1(会社テーブルの会社ID)に対し0以上(社員テーブルの外部キー(会社ID))の多という意味になる.