ER 図

論理 ER 図 vs 物理 ER 図

同じスキーマでも論理 ER と物理 ER は別物。概念/論理/物理の 3 段階で書き分ける。

論理 ER 図 vs 物理 ER 図 diagram

概念・論理・物理の 3 段階

ER 図は情報の詳細度で 3 段階に分けられます。それぞれ読み手と目的が違うため、混ぜて描くと全員にとって読みにくくなります。

段階書く内容読み手主な用途
概念 ERエンティティ名と関係のみ。属性は書かない業務担当・PM要件合意、全体像の共有
論理 ERPK / FK / 主要属性、型の種類(文字列・整数・日時)程度設計者・レビュアー設計議論、正規化チェック
物理 ER論理 ER に加え、正確な型・長さ・NULL 可否・索引・制約実装者・DBADDL 生成、性能チューニング

順序としては概念 → 論理 → 物理 と詳細化していきます。最初から物理 ER で書き始めると、要件が固まる前に実装詳細に引きずられがちです。

論理 ER と物理 ER の使い分け

実務で最も頻繁に描くのは論理 ER 図と物理 ER 図 の 2 種類です。以下の基準で使い分けます。

  • 論理 ER を描く場面: 要件レビュー/設計議論/正規化検討/開発者以外への説明。型は 文字列 / 整数 / 日時 / 金額 程度で十分
  • 物理 ER を描く場面: DDL 生成/コードレビュー/DBA とのチューニング議論/納品物。VARCHAR(80) NUMERIC(14,2) TIMESTAMPTZ NOT NULL まで書く

同じスキーマから両方の図を保守するのが理想ですが、重複保守は現実的ではありません。実務では「論理 ER を正 / 物理 ER はツールから自動生成」という運用が多いです。A5:SQL Mk-2 / DBeaver は DB 接続からの物理 ER 自動生成に対応しています。

論理と物理で「変わる」・「変わらない」もの

論理 ER と物理 ER で変わる情報不変の情報があります。

要素論理 ER物理 ER
テーブル名論理名(顧客)中心物理名(customers)中心
列の型汎用型(文字列・整数・日時)RDBMS 固有型(VARCHAR(80), TIMESTAMPTZ
NULL 可否任意/必須のみ(多重度で表現)NOT NULL / NULLABLE を明示
索引・UNIQUE書かない書く(索引が多ければ別図推奨)
エンティティ・多重度同じ(論理的な正しさは両図で一致させる)

エンティティ構造と多重度は「論理 ER で決めたものを物理 ER も守る」のが鉄則です。物理 ER の段階で正規化を崩すと、論理 ER との整合が取れなくなり、設計ドキュメントとして機能しなくなります。

A5:SQL Mk-2 での切替

A5:SQL Mk-2 では 1 つの ER 図ファイル内で論理名表示/物理名表示/両方表示を切り替えできます。「表示」メニューから 「論理名のみ」「物理名のみ」「論理名 + 物理名」 のいずれかを選ぶだけです。

  • 業務担当へのレビュー: 論理名のみ(日本語だけで読める)
  • 開発者レビュー: 論理名 + 物理名(業務用語とコード上の名前を同時確認)
  • DDL 生成・DBA 向け: 物理名のみ(実際のテーブル・列名の視認性優先)

列の型表示も「型を省略」「型のみ」「型 + 制約」と切り替えられるため、1 つのファイルを論理 ER / 物理 ER 両用に運用できます。ER ツールを選ぶときは、この切替機能の有無を判断基準にすると良いでしょう。