読み方: いーあーるず
1行定義
エンティティ(実体)とリレーションシップ(関連)を図で表したデータベース設計の標準的な設計図
詳細解説
ER図(Entity-Relationship Diagram)とは、業務で管理する対象(エンティティ)と、その間の関係(リレーションシップ)を図で表す手法で、データベース設計の土台として使われます。「エンティティ(Entity)」は管理対象のデータ(顧客・商品・注文など)を表し、「アトリビュート(Attribute)」はエンティティが持つ属性(顧客名・価格など)を表します。「リレーションシップ(Relationship)」はエンティティ間の関係を示し、カーディナリティ(対応数)で「1対1」「1対多」「多対多」の関係を表現します。多対多の関係はリレーショナルデータベースでは直接実装できないため、中間テーブル(関連テーブル)を設けて「1対多」2本に分解します。表記法にはChen記法、IE記法(鳥の足記法)などがあります。ER図は特定のデータベース製品の表の形を前提にせず、管理対象とその関係を整理するモデルとして描きます(基本情報技術者試験 平成28年度秋期 午前 問26 では「関係データベースの表として実装することを前提に表現する」は正解になりません)。ITパスポートでは、条件文からE-R図を選ぶ問題(令和3年度 公開問題 問70)や、E-R図でデータモデリングを行う理由を問う問題(同 問1)が出ています。
ER図の書き方(4つの手順)
結論:ER図は「①管理する対象(エンティティ)を洗い出す → ②それぞれを一意に見分ける主キーと属性を決める → ③エンティティ同士の関係(リレーションシップ)と、その数の対応(カーディナリティ:1対1・1対多・多対多)を決める → ④多対多を中間のエンティティで1対多2本に分ける」の順に書きます。
合格ナビに収録しているITパスポートの公開問題600問(令和3〜8年度・各100問)のうち、E-R図そのものを扱う問題は2問、基本情報技術者試験の収録問題520問でも2問です(2026-10-02 集計)。E-R図の次の段階(表の設計)にあたる主キー・外部キー・正規化を主題にした問題は、同じITパスポートの600問で7問あります。
自作の例:ネットショップの注文
| 手順 | やること | この例での結果 |
|---|---|---|
| ① エンティティ | 管理したい「もの・こと」を名詞で挙げる | 顧客、注文、商品 |
| ② 主キーと属性 | 1件を見分ける項目(主キー)と、持たせる項目を決める | 顧客(顧客番号・氏名)、注文(注文番号・注文日)、商品(商品番号・商品名・単価) |
| ③ リレーションシップとカーディナリティ | 2つずつ組にして「1件に対して相手は何件か」を両方向から確かめる | 顧客と注文は1対多(1人が何回も注文し、1つの注文は1人のもの)。注文と商品は多対多(1つの注文に複数の商品、1つの商品は何度も注文される) |
| ④ 多対多の分解 | 多対多の間に中間のエンティティを置く | 「注文明細」(注文番号+商品番号・数量)を置き、注文と注文明細を1対多、商品と注文明細を1対多にする |
1対多を「1の側 → 多の側」の矢印で表すと、この例は「顧客 → 注文 → 注文明細 ← 商品」になります。
- 確かめ方:③は必ず両方向から問います。「1つの注文に商品は何件?」「1つの商品に注文は何件?」の両方が「複数」なら多対多です。
- 関係データベースの表は1つの欄に1つの値しか入れない作りのため、多対多はそのままでは表にできません。中間のエンティティを置き、その主キーを両側の主キーの組(注文番号+商品番号)にします。
この論点の過去問を解く(主キー・外部キー・中間の表):
カーディナリティの読み方と記法
カーディナリティ(多重度)は、一方のエンティティの1件に対して、もう一方が何件対応するかを表します。
| カーディナリティ | 意味 | 例 |
|---|---|---|
| 1対1 | どちらから見ても相手は1件 | 社員と、その社員の入館証(1人に1枚・1枚は1人のもの) |
| 1対多 | 片方から見ると複数、もう片方から見ると1件 | 部門と社員(1つの部門に複数の社員・社員の所属は1つ) |
| 多対多 | どちらから見ても相手が複数 | 学生と科目(1人が複数の科目を履修・1つの科目を複数の学生が履修) |
例はいずれも自作で、「社員の所属は1つ」のような前提を置いた場合の対応です。前提が変わればカーディナリティも変わるので、試験では問題文の条件だけで判断します。
- 記法は複数あり、実務ではIE記法(鳥の足記法)などが使われます。ITパスポートの問題では、矢印(a→b)が1対多を表すといった記法が問題文の中で定義されることがあるので、その定義どおりに読みます(次の例題)。
- 多対多の例の「学生と科目」は、ITパスポート 令和8年度 問57 の「成績」表のように、中間の表(学生番号+科目コード)を置いて表します。
この論点の過去問を解く(カーディナリティ):
例題:条件文からE-R図を選ぶ(IPA 過去問)
条件①~④を全て満たすとき,出版社と著者と本の関係を示す E-R 図はどれか。ここで,E-R 図の表記法は次のとおりとする。
〔表記法〕a → b a と b が,1対多の関係であることを表す。
〔条件〕① 出版社は,複数の著者と契約している。② 著者は,一つの出版社とだけ契約している。③ 著者は,複数の本を書いている。④ 1冊の本は,1人の著者が書いている。
出典:令和3年度 ITパスポート試験 公開問題 問70(独立行政法人情報処理推進機構)(問題PDF・解答例PDF)
選択肢ア〜エは、出版社・著者・本の3つの箱を矢印でつないだ図で、矢印の向きだけが違います(図は問題ページで確認できます)。
- ①と②を組にする:出版社1社に著者は複数、著者1人に出版社は1社 → 出版社と著者は1対多。矢印は「出版社 → 著者」
- ③と④を組にする:著者1人に本は複数、本1冊に著者は1人 → 著者と本は1対多。矢印は「著者 → 本」
- 2本の矢印がどちらも右向きにつながる「出版社 → 著者 → 本」の図が正解で、アです。
- 検算:矢印の向きを逆にすると「本1冊に著者が複数」「著者1人に出版社が複数」となり、条件④・②と矛盾します。各矢印について、条件の文と逆向きの読み方の両方を当てはめて確かめます。
この論点の過去問を解く(E-R図):
ITパスポートでの出題ポイント
- エンティティ・アトリビュート・リレーションシップの3要素
- 1対1・1対多・多対多のカーディナリティ表現
- 多対多は中間テーブルで1対多×2に変換する必要がある
- 記法は問題文の定義どおりに読む(例:a→b が1対多を表す)
関連用語
- リレーショナルDB(RDB) データベース
- 正規化 データベース
- 主キー(プライマリキー) データベース
- 外部キー(フォーリンキー) データベース
- SQL データベース
「ER図(Entity-Relationship Diagram)」の過去問を解いて理解を定着
合格ナビでは IPA 公式 600問 + 3段階の解説(初級・標準・上級) で「○○とは?」をその場で深掘りできます。
シラバス 6.5 準拠 / 最終更新: 2026-10-02
