⏱ 10分 ★★★★★ 頻出:高

ER図の読み方(午後対策)

4ステップでER図を系統的に読む。多重度・外部キー・制約の特定まで

ER図を読む4ステップ

DBスペシャリスト試験の午後問題では、ER図が与えられて「テーブル定義を完成させる」「SQLを書く」問題が出ます。

ER図をシステム的に読む手順を身につけることが合格への近道です。

STEP 1:エンティティを列挙する

確認すること
  • 矩形(四角)の数=テーブルの数
  • 二重線の矩形=弱エンティティ(他の主キーが必要)
  • 各エンティティの主キー(下線付き属性)を確認

STEP 2:多重度を読む

A ──‖────<── B
Aの1件に対しBは0件以上(1:N)
A ──○────<── B
Aの0件以上に対しBは0件以上(任意:N)
A ──‖────‖── B
A1件にB必ず1件(1:1必須)
試験のポイント:「0以上」と「1以上」の違いに注意。○は任意(NULLあり)、‖は必須(NOT NULL)を意味します。

STEP 3:外部キーの向きを特定する

ルール:外部キーは「多」の側に置く
A(1) ─── B(N) の場合 → BがAの主キーを外部キーとして持つ
実践例:受注管理ER図
顧客(1) ───────── 注文(N)
→ 注文テーブルに「顧客ID」(FK)が必要

注文(1) ───────── 注文明細(N)
→ 注文明細テーブルに「注文ID」(FK)が必要

STEP 4:制約条件を問題文から拾う

ER図だけでは分からない制約が問題文に書かれています。

📌 問題文の定番フレーズと対応するSQL制約
「同一日に同一顧客の注文は1件まで」→ UNIQUE制約(顧客ID, 注文日)
「数量は1以上でなければならない」→ CHECK制約(quantity >= 1)
「受注金額は自動計算」→ 導出属性(テーブルに保存しない場合も)
「注文には必ず1件以上の明細が必要」→ 全参加制約(論理設計の制約)
午後問題の採点ポイント:エンティティ・属性・多重度・主キー・外部キーが揃って初めて満点。1つでも欠けると減点です。
🧠 確認クイズ
Q1. ER図のIE記法で「○」(丸)が示す意味は何か?
Q2. 1:Nの関係で外部キーを置くべきテーブルはどれか?
Q3. 「同一顧客の同一日注文は1件まで」という制約はどのSQL制約で実現するか?