ER図とは
E(Entity:実体)とはテーブルのこと。
R(Relationship:関連とは文字通りテーブル同士の関連のこと。
ER図には流派がある
代表的なフォーマットにIE(Information Engineering)表記法
とIDEF1X
がある。
テーブル同士の関連
ER図を書くとき、最初に着目するポイントは、あるテーブルの主キーが他のテーブルに列として含まれてるかどうか
という点です。
その場合2つのテーブル間には意味的な関連があることになるからです。
一対多
社員テーブル、会社テーブル、部署テーブルの3つのテーブルがあるとする。
社員テーブルの中に会社テーブルの主キーと部署テーブルの主キーが含まれている。
会社テーブルには一つの会社は1行しか含まれません。
しかし
社員テーブルには一つの同じ会社IDが複数行現れている
。このことを一対多
という。
一対一
あまり見かけない
。
2つのテーブルのレコードが1対1に対応するということは要するに、2つのテーブルの主キーが一致するケース
であり、そうであれば普通は一つのテーブルにまとめてしまっても問題ない
からです。
気づき
ちょっとこれはわからない。
多対多
テーブルを作っていくと出来上がることがある。
リレーショナルデータベースのお約束として、この多対多の関連は作ってならないということになっています。
気づき
両方のテーブルに同じIDが複数行現れているのか。
リレーショナルデータベース
p6
関係データベースとも呼ばれてる。
現在最も広く利用されているデータベース。
データを人間が理解しやすい2次元表の形式で管理するため、データの取り扱いが他のデータベースに比べると直感的でわかりやすいです。
関連実態
学生テーブルと講義テーブルがある。
その時
一人の学生が講義テーブルで複数行現れ、講義テーブルにもその学生が複数行現れることになる。
これが問題になる。
その時に関連実態(associative entity)
がある。
受講テーブル(今回の関連実態)を作成して、それぞれの主キーの組み合わせを持ったキー
を主キーに持つ。
学生と受講の関係は一対多
、講義と受講の関係は一対多
。
ER図から多対多の関係が消去される、という仕掛けになる。
リレーショナルデータベースを使ったシステムを作るうえでは必ずと言っていいほど使用する技術
気づき
人工的なテーブルを作成して多対多の問題を解消するのか。
IE(Information Engineering)表記法
とIDEF1X
図を書かねくてはいけないので省略します。
感想
とりあえず一対多、 多対多のことは理解できた。
一対一はこれから理解しよう。
出典