it

ER図とは?意味や基本をわかりやすく解説!(データベース・エンティティ・リレーション・記号・見方・読み方など)

当サイトでは記事内に広告を含みます

「ER図」という言葉を聞いたことはあるでしょうか。

システム開発やデータベース設計の現場ではよく登場する用語ですが、初めて目にする方には「何のための図なのか」「どうやって読むのか」がわかりにくいかもしれません。

ER図は、データベースの設計を視覚的に表現するための図で、エンティティ(データの塊)とリレーション(関係性)を記号や線で表したものです。

この記事では、ER図の意味・基本的な概念・記号の読み方・見方について、データベース初心者の方にもわかりやすく解説していきます。

ER図とはデータベースの設計図である

それではまず、ER図とは何かという結論から解説していきます。

ER図とは「Entity Relationship Diagram(エンティティ・リレーションシップ・ダイアグラム)」の略称で、データベースに登場するデータの種類とその関係性を図で表したものです。

システム開発の現場では、データをどのように管理・格納するかを設計する工程があります。

そのときに「どんなデータが存在し、それぞれがどのように関係しているか」を整理するために使われるのがER図です。

ER図(Entity Relationship Diagram)とは、データベース設計において「エンティティ(データの実体)」と「リレーション(関係性)」を視覚的に表現した設計図のことです。

システムが扱うデータの全体像を一目で把握でき、開発メンバー間の認識合わせにも役立ちます。

たとえば「ネットショップのシステムを作る」という場合、「顧客」「商品」「注文」「在庫」といったさまざまなデータが登場します。

これらのデータがお互いにどう関連しているかを図で整理したものが、ER図です。

データベース設計の基礎となる重要なドキュメントといえるでしょう。

上の図のように、ER図では四角い箱がデータの塊(エンティティ)を表し、線がそのつながり(リレーション)を表します。

線の端についている記号が「1対多」「多対多」などの関係の種類を示す仕組みです。

ER図が必要とされる理由

ER図がなぜ必要とされるかというと、データベース設計のミスを事前に防ぐためです。

データベースを実際に作り始めてから「このデータとこのデータをどう結びつけるか決めていなかった」となると、修正に大きなコストがかかります。

ER図を先に作っておけば、設計段階で問題点に気づくことができ、開発効率が大幅に向上するでしょう。

また、チーム開発では複数の開発者が同じデータベースを扱うため、共通の設計図として認識を合わせる役割も果たします。

ER図が使われる場面

ER図は主に以下のような場面で活用されます。

場面 内容
新規システム開発 データベースの構造を設計する際に作成する
既存システムの改修 現状のDB構造を把握・ドキュメント化するために使う
チームへの仕様共有 開発メンバーや顧客への説明資料として活用する
レビュー・設計検討 設計の問題点を洗い出すためのレビュー資料にする

このように、システム開発のさまざまな場面でER図は活用される重要なドキュメントです。

ER図とデータベース設計の関係

ER図はデータベース設計の「概念設計」段階で作成されます。

概念設計とは、実際にどのデータベースを使うか(MySQLなのかPostgreSQLなのか)を考える前に、「どんなデータが存在するか」「それらがどう関係するか」を整理する工程です。

ER図で概念設計を固めた後、論理設計・物理設計へと進んでいくのが一般的な流れといえるでしょう。

ER図の基本要素:エンティティ・属性・リレーション

続いては、ER図を構成する3つの基本要素について確認していきましょう。

ER図を理解するうえで最も重要なのが「エンティティ」「属性」「リレーション」の3つです。

エンティティ(Entity)とは

エンティティとは、データベースで管理する「もの」や「概念」のことです。

わかりやすく言い換えると、データとして記録・管理する対象のことを指します。

エンティティの例

・顧客(Customer)

・商品(Product)

・注文(Order)

・社員(Employee)

・部署(Department)

ER図では四角い箱で表現され、箱の中にエンティティ名が書かれます。

エンティティはデータベースのテーブルに対応すると考えると理解しやすいでしょう。

属性(Attribute)とは

属性とは、エンティティが持つ具体的なデータ項目のことです。

たとえば「顧客」というエンティティであれば「顧客ID」「氏名」「メールアドレス」「電話番号」などが属性にあたります。

データベースのテーブルに置き換えると、属性はテーブルの列(カラム)に対応するものです。

属性の中でも特に重要なのが「主キー(Primary Key)」で、各レコードを一意に識別するための属性です。

リレーション(Relation)とは

リレーションとは、エンティティ同士のつながり・関係性のことです。

ER図ではエンティティ間を結ぶ線として表現されます。

「顧客は複数の注文をする」「注文には複数の商品が含まれる」といった関係性を、線と記号を使って視覚的に表現するのがリレーションです。

リレーションには「1対1」「1対多」「多対多」の種類があり、それぞれ線の端の記号で区別します。

エンティティと属性の構造
顧客
🔑 顧客ID(PK)
氏名
メールアドレス
電話番号
注文
🔑 注文ID(PK)
注文日
🔗 顧客ID(FK)
合計金額
PK=主キー FK=外部キー(リレーションのつながり)

ER図の記号と見方・読み方

続いては、ER図に登場する記号の意味と読み方を確認していきましょう。

ER図には複数の記法(書き方のルール)が存在しますが、特によく使われるのが「IE記法」と「UML記法」の2種類です。

IE記法の記号と意味

IE記法(Information Engineering記法)は、エンティティ間の関係数を「鳥の足」に似た記号で表現する記法です。

現場でもっとも広く使われている記法のひとつで、多くのER図作成ツールがIE記法に対応しています。

記号 意味
|(縦線1本) 1(必ず1件) 注文には必ず1人の顧客がいる
○(丸) 0(0件もあり得る) 注文が0件の顧客もいる
<(鳥の足・複数線) 多(1件以上) 顧客は複数の注文をする
○+<の組み合わせ 0以上(0件または多件) 注文が0件か複数件の顧客

これらの記号は線の端に付いており、組み合わせによってリレーションの種類を表現します。

UML記法との違い

UML記法はソフトウェア設計全般で使われる統一モデリング言語(UML)のクラス図をもとにしたER図の書き方です。

IE記法が「鳥の足」のような直感的な記号を使うのに対し、UML記法は数字や「0..1」「1..*」といったテキストで関係数を表現します。

UML記法でよく使う表記

・1  → 必ず1件

・0..1 → 0件または1件

・1..* → 1件以上(1対多)

・0..* → 0件以上(0対多)

・*   → 多(件数制限なし)

どちらの記法を使うかはプロジェクトやチームの方針によります。

現場ではIE記法がよく使われますが、UMLに慣れたエンジニアが多いチームではUML記法が選ばれることもあるでしょう。

ER図の読み方(カーディナリティの確認方法)

ER図を読むとき、まず確認するのが各線の両端の記号(カーディナリティ)です。

カーディナリティとは、エンティティ間の関係における件数の比率を指します。

読み方は「Aは1件につき、Bを何件持つか」という視点で考えると整理しやすくなります。

たとえば「顧客」と「注文」の間に「1対多」のリレーションがある場合は「1人の顧客は複数の注文を持つ」と読めます。

IE記法:1対多のリレーション
顧客

1(必ず1人)
多(複数件)
注文
「1人の顧客は、複数の注文を持つ」と読む

ER図の主キー・外部キーと正規化の基本

続いては、ER図でよく登場する「主キー」「外部キー」、そして「正規化」という概念を確認していきましょう。

これらはER図を正しく作成・読み取るうえで欠かせない知識です。

主キー(Primary Key)とは

主キーとは、テーブル内の各レコードを一意に識別するための項目(属性)のことです。

主キーには重複した値を設定できません。

たとえば「顧客テーブル」であれば「顧客ID」が主キーになります。

同じ顧客IDを持つレコードは存在しないため、顧客IDを指定すれば必ず一件の顧客データを特定できます。

ER図では主キーの項目名の先頭に「PK」と記載するか、下線を引いて表現することが多いでしょう。

外部キー(Foreign Key)とは

外部キーとは、別のテーブルの主キーを参照するための項目です。

「注文テーブル」に「顧客ID」という列がある場合、この「顧客ID」が外部キーにあたります。

外部キーはエンティティ間のリレーションを実現する仕組みであり、ER図の線はまさにこの外部キーの関係を視覚化したものです。

ER図では「FK」と記載して外部キーを示すことが多くなっています。

正規化とER図の関係

正規化とは、データの重複や矛盾を排除するためにテーブル構造を整理するプロセスです。

適切に正規化されたデータベースは、データの一貫性が保たれ、更新・削除時のトラブルが起きにくいという特徴があります。

ER図を作成する際は、正規化の観点からエンティティや属性を設計することが重要です。

正規化の度合いは「第1正規形」「第2正規形」「第3正規形」などの段階で表され、一般的なシステム開発では第3正規形を目標にすることが多いでしょう。

外部キーによるテーブルのつながり
顧客テーブル
顧客ID(PK)
氏名
メールアドレス
C001 / 田中 太郎
C002 / 鈴木 花子
FK参照
注文テーブル
注文ID(PK)
顧客ID(FK)
注文日
O001 / C001
O002 / C001
注文テーブルの「顧客ID(FK)」が顧客テーブルの「顧客ID(PK)」を参照している

まとめ

この記事では、ER図の意味・基本要素・記号の読み方・主キーと外部キーの関係について解説しました。

ER図とは、データベース設計においてエンティティ(データの実体)とリレーション(関係性)を視覚的に表現した設計図です。

エンティティ・属性・リレーションという3つの基本要素を理解したうえで、IE記法やUML記法の記号を読み解くことで、ER図を正しく読み取ることができるでしょう。

主キー(PK)と外部キー(FK)の概念は、テーブル間のつながりを理解するうえで特に重要なポイントです。

ER図はデータベース設計の第一歩となる重要なスキルですので、ぜひこの記事を参考に理解を深めてみてください。