【いーあーるず】

ER図(実体関連図) とは?

最終更新:
💡 どんなデータがあり、どう関係するかを描く

データとして扱う実体と、それぞれの属性や実体間の関係を表す図。データベースの設計や認識合わせに使う。概念を整理する図から、テーブル・主キー・外部キーを示す図まであり、記法と設計段階に応じて読み方を確認する。

📌 このページのポイント
ER図:注文と商品の関係を整理 顧客PK: customer_id名前メールアドレス 注文PK: order_idFK: customer_id注文日 1 0..N 商品PK: product_id商品名価格 注文明細PK/FK: order_idPK/FK: product_id数量PKは2項目の組 1 0..N 1 0..N 関係する件数を示す 概念上の実体と、テーブルの実装を区別
テーブルを示すER図の例。関係線の1は各明細などに対応する親が1件、0..Nは親に対応する子が0件以上という条件。注文と商品の多対多を注文明細でつなぐ。線は処理の流れや矢印ではなく、PKは主キー、FKは外部キー。
ひよこ ひよこ
ER図って設計図みたいなもの?
ペンギン先生 ペンギン先生
そうだよ。どんなデータを扱い、それらがどう関係するかを整理する図だね。間取り図のように全体を確認でき、データベースの設計やチームでの認識合わせに使うんだ。
ひよこ ひよこ
箱は全部テーブルなの?
ペンギン先生 ペンギン先生
テーブルを示す図もあるけれど、概念段階では人や物、出来事などの実体を表すよ。たとえば顧客という実体に名前などの属性があり、注文との関係を考える。実装へ進むと、テーブルやカラム、キーとして具体化するんだ。
ひよこ ひよこ
1対多と多対多はどう違う?
ペンギン先生 ペンギン先生
1人の顧客に複数の注文が対応するなら1対多だよ。注文に複数の商品が入り、同じ商品が複数の注文に入るなら多対多だね。必ず1件必要か、0件でもよいかも合わせて確認するんだ。
ひよこ ひよこ
多対多はテーブルでも線1本?
ペンギン先生 ペンギン先生
関係データベースでは、中間テーブルでつなぐ設計が使われるよ。注文と商品の間に注文明細を置き、両方のキーと数量などを持たせる。概念上の関係と、テーブルの実装を区別するんだ。
ひよこ ひよこ
線の記号はどれも同じ?
ペンギン先生 ペンギン先生
記法によるよ。Chen記法では関係をひし形、属性を楕円で示す例があり、テーブルを箱で示す記法もある。線の端や数値の意味を凡例で確認し、データが流れる向きの矢印とは区別するんだ。
ひよこ ひよこ
いつ描けばいい?
ペンギン先生 ペンギン先生
設計時に関係や制約を確認し、変更後も実際の構造と照合するよ。大きくなったら、用途や業務のまとまりごとに分けると確認しやすい。図だけで全ての制約や業務ルールを表せるとは限らないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ER図」って出てきたら「データとして扱う実体と、その関係を描いた設計図」と思えばだいたいOK!
📖 おまけ:英語の意味
「Entity-Relationship Diagram」 = 実体関連図
💬 Entityは実体、Relationshipは関係という意味だよ。Peter ChenのERモデルの論文は1976年に発表された。現在は図の記法や、どの設計段階を表すかにも違いがあるんだ。

参考資料

← 用語集にもどる