【ITパスポート】ER図とは?エンティティ・リレーション・カーディナリティをわかりやすく解説

データベースを設計するとき、どのデータをどのテーブルに入れて、どのテーブルとどのテーブルを結びつけるのかを事前に整理する必要があります。そのために使われる設計図がER図です。

「ER図って何の図?どうやって読むの?」と疑問に感じている方も多いでしょう。この記事では、ER図の3つの構成要素と、エンティティ間の関係性を示すカーディナリティの読み方を具体例を使ってわかりやすく解説します。試験合格に向けて、一緒にマスターしましょう!

目次

ER図とは?データベースの設計図

ER図(Entity-Relationship Diagram)とは、データベースのデータ構造とデータ同士の関係性を視覚的に表した設計図のことです。Entity(エンティティ:実体)とRelationship(リレーション:関係)の頭文字を取ってER図と呼びます。

データベースを構築する前にER図を描くことで、テーブルの設計ミスや漏れを事前に防ぎ、チームメンバー間での認識合わせにも活用できます。

ER図の3つの構成要素

ER図は主に3つの要素で構成されます。

要素記号意味
エンティティ四角形データのまとまり(テーブルに対応)
リレーション線(矢印)エンティティ間の関係性
アトリビュート楕円形または列名エンティティの属性(列に対応)

エンティティ(Entity)

エンティティとは、データベースで管理するデータのまとまりです。四角形で表現され、データベースのテーブルに相当します。

具体的な例としては、顧客・商品・注文・社員・部署などが挙げられます。実際に存在するものだけでなく、注文や取引といった概念的なものもエンティティになります。

リレーション(Relationship)

リレーションとは、エンティティとエンティティの間の関係を示すものです。線で結んで表現し、動詞で関係を説明します。例えば「顧客が注文をする」であれば、顧客と注文のエンティティを線で結びます。

アトリビュート(Attribute)

アトリビュートとは、エンティティが持つ属性(特徴)のことです。データベースのテーブルでいう列(カラム)に相当します。顧客エンティティなら「顧客ID」「氏名」「住所」などがアトリビュートです。

カーディナリティ(多重度)の読み方が最重要!

ER図の中で試験に最もよく出るのがカーディナリティ(多重度)です。カーディナリティとは、エンティティ間で何対何の関係があるかを示すものです。

カーディナリティには主に3種類あります。

カーディナリティ表記意味
1対11─────1一方の1件が他方の1件に対応する
1対多1─────N一方の1件が他方の複数件に対応する
多対多N─────N双方の複数件が互いに対応する

具体例で理解するカーディナリティ

1対多の例:顧客と注文

1人の顧客は何度も注文できますが、1つの注文は必ず1人の顧客に紐付きます。つまり顧客(1)対注文(多)という関係です。

多対多の例:注文と商品

1件の注文に複数の商品が含まれることがあり(ショッピングカートのイメージ)、逆に1つの商品も複数の注文に含まれることがあります。これが注文(多)対商品(多)の多対多の関係です。

1対1の例:社員と社員証

1人の社員には1枚の社員証が発行され、1枚の社員証は必ず1人の社員に対応します。これが社員(1)対社員証(1)の関係です。

多対多は中間テーブルで解消する

多対多の関係はそのままデータベースに実装できないため、中間テーブルを介して2つの1対多の関係に変換します。

注文と商品の多対多の場合は「注文明細テーブル」(注文ID+商品ID)を中間テーブルとして用意することで解消できます。これも試験で問われることがあります。

ER図とデータベース設計の流れ

ER図はデータベース設計の初期段階で作成します。一般的な流れは次の通りです。

  1. 業務分析を行い、管理すべきデータ(エンティティ)を洗い出す
  2. エンティティ同士の関係(リレーション)を明確にする
  3. それぞれのエンティティの属性(アトリビュート)を決める
  4. カーディナリティを決定してER図を完成させる
  5. ER図をもとにデータベースのテーブルを設計する

ER図があることで、複雑なデータ構造を誰でも視覚的に把握できるようになります。

ITパスポート試験でのER図出題傾向と対策

ER図はテクノロジ系のデータベース分野で出題されます。

試験でおさえるべきキーワード

  • ER図:データの構造とデータ間の関係を図示したデータベース設計図。
  • エンティティ:データのまとまり。四角形で表現。データベースのテーブルに対応。
  • リレーション:エンティティ間の関係性を示す線。
  • アトリビュート:エンティティが持つ属性。テーブルの列に対応。
  • カーディナリティ(多重度):エンティティ間の数的関係(1対1・1対多・多対多)。
  • 多対多の解消:中間テーブルを設けて2つの1対多の関係に変換する。

過去問に挑戦!

【問題】
ER図において、1人の顧客が複数の注文を持てるが、1つの注文は必ず1人の顧客に属するという関係はどのカーディナリティで表されるか。

ア.1対1
イ.1対多
ウ.多対1
エ.多対多

【正解】:イ
【解説】:顧客(1)が複数の注文(多)に対応する関係は1対多です。ウの多対1はイと逆方向に見ているだけで同じ関係を指します。試験では「顧客側から見て多(N)、注文側から見て1」という表現に注意しましょう。

【問題】
ER図の構成要素に関する説明として、適切なものはどれか。

ア.エンティティは楕円形で表現され、データの属性を示す
イ.アトリビュートは四角形で表現され、データのまとまりを示す
ウ.エンティティは四角形で表現され、データのまとまり(テーブルに相当)を示す
エ.リレーションは丸で表現され、エンティティ間の関係を示す

【正解】:ウ
【解説】:エンティティは四角形で表現されてデータベースのテーブルに相当します。アトリビュートは楕円形(またはテーブルの列名)で表現されます。リレーションは線で表現されます。アとイは記号と意味が逆になっています。

まとめ:ER図はデータベースの設計図

今回はER図の構成要素とカーディナリティの読み方を解説しました。ポイントをもう一度確認しましょう。

  • ER図はデータの構造とデータ間の関係を視覚化したデータベース設計図
  • 3つの構成要素はエンティティ(四角形)・リレーション(線)・アトリビュート(楕円形)
  • カーディナリティは1対1・1対多・多対多の3種類
  • 多対多の関係は中間テーブルを使って1対多に変換して実装する
  • 試験ではカーディナリティの種類とエンティティ・アトリビュートの記号の違いが頻出

顧客・注文・商品という身近なショッピングのイメージをベースに、カーディナリティを整理してみましょう。問題演習もしっかり重ねて、試験本番での得点につなげてください!

目次