データベースを設計するとき、どのデータをどのテーブルに入れて、どのテーブルとどのテーブルを結びつけるのかを事前に整理する必要があります。そのために使われる設計図がER図です。
「ER図って何の図?どうやって読むの?」と疑問に感じている方も多いでしょう。この記事では、ER図の3つの構成要素と、エンティティ間の関係性を示すカーディナリティの読み方を具体例を使ってわかりやすく解説します。試験合格に向けて、一緒にマスターしましょう!
ER図とは?データベースの設計図
ER図(Entity-Relationship Diagram)とは、データベースのデータ構造とデータ同士の関係性を視覚的に表した設計図のことです。Entity(エンティティ:実体)とRelationship(リレーション:関係)の頭文字を取ってER図と呼びます。
データベースを構築する前にER図を描くことで、テーブルの設計ミスや漏れを事前に防ぎ、チームメンバー間での認識合わせにも活用できます。
ER図の3つの構成要素
ER図は主に3つの要素で構成されます。
| 要素 | 記号 | 意味 |
|---|---|---|
| エンティティ | 四角形 | データのまとまり(テーブルに対応) |
| リレーション | 線(矢印) | エンティティ間の関係性 |
| アトリビュート | 楕円形または列名 | エンティティの属性(列に対応) |
エンティティ(Entity)
エンティティとは、データベースで管理するデータのまとまりです。四角形で表現され、データベースのテーブルに相当します。
具体的な例としては、顧客・商品・注文・社員・部署などが挙げられます。実際に存在するものだけでなく、注文や取引といった概念的なものもエンティティになります。
リレーション(Relationship)
リレーションとは、エンティティとエンティティの間の関係を示すものです。線で結んで表現し、動詞で関係を説明します。例えば「顧客が注文をする」であれば、顧客と注文のエンティティを線で結びます。
アトリビュート(Attribute)
アトリビュートとは、エンティティが持つ属性(特徴)のことです。データベースのテーブルでいう列(カラム)に相当します。顧客エンティティなら「顧客ID」「氏名」「住所」などがアトリビュートです。
カーディナリティ(多重度)の読み方が最重要!
ER図の中で試験に最もよく出るのがカーディナリティ(多重度)です。カーディナリティとは、エンティティ間で何対何の関係があるかを示すものです。
カーディナリティには主に3種類あります。
| カーディナリティ | 表記 | 意味 |
|---|---|---|
| 1対1 | 1─────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図はデータベース設計の初期段階で作成します。一般的な流れは次の通りです。
- 業務分析を行い、管理すべきデータ(エンティティ)を洗い出す
- エンティティ同士の関係(リレーション)を明確にする
- それぞれのエンティティの属性(アトリビュート)を決める
- カーディナリティを決定してER図を完成させる
- 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対多に変換して実装する
- 試験ではカーディナリティの種類とエンティティ・アトリビュートの記号の違いが頻出
顧客・注文・商品という身近なショッピングのイメージをベースに、カーディナリティを整理してみましょう。問題演習もしっかり重ねて、試験本番での得点につなげてください!
