ER 図

IE 記法 vs IDEF1X 記法

ER 図の 2 大記法 IE(カラスの足)と IDEF1X の違いを比較し、使い分けを明確化。

IE 記法 vs IDEF1X 記法 diagram

2 つの記法が併存する理由

ER 図の記法は歴史的に複数あり、現代の実務でよく見るのは IE 記法(Information Engineering / カラスの足)IDEF1X 記法 の 2 つです。

  • IE 記法: 1981 年に Clive Finkelstein / James Martin が提唱。多重度を線端の記号(棒・○・カラスの足)で直感的に表す。民間の DB 設計ツールがほぼこれを採用
  • IDEF1X 記法: 米国空軍の ICAM プロジェクト発、1993 年に FIPS 184(連邦情報処理標準)として制定。政府調達・防衛・大規模基幹システムで採用される

どちらも同じ ER モデルを描くが、どの情報を図に織り込むかの思想が違います。IE は「パッと見の読みやすさ」、IDEF1X は「識別関係や依存関係まで厳密に表現」を優先します。

多重度の書き分け — 同じ関係を両記法で描くと

多重度の書き分け — 同じ関係を両記法で描くと diagram

同じ多重度を IE と IDEF1X で並べて描くと上の図のようになります。IDEF1X は「子(N)側の黒丸」+「多重度ラベル」で表現します。

多重度IE 記法IDEF1X 記法
1 .. 1(ちょうど 1)棒 1 本 ──┼──親側に記号なし(単線)
0 .. 1(0 か 1)○ + 棒 ──○┼──子側に Z ラベル + ●
1 .. N(1 以上)棒 + カラスの足 ──┼≪──子側に P ラベル + ●
0 .. N(0 以上、既定)○ + カラスの足 ──○≪──子側に ● のみ(ラベル無し)
ちょうど n 個(記号では表現できない・注釈で補足)子側に数値ラベル(例: 3)+ ●

IE は「両端の記号を見るだけ」で読めるが、「ちょうど 3 個」のような固定多重度は表現できず注釈に逃がします。IDEF1X は任意の数も書けるため、より厳密な契約文書向きです。

識別関係と非識別関係 — IDEF1X 独自の概念

IDEF1X の最大の特徴は、親子関係を 識別関係(identifying)非識別関係(non-identifying) に区別することです。

  • 識別関係(実線): 子エンティティの PK に親の PK が組み込まれる関係。子は親が無ければ存在できない(例: order_lines (order_id, line_no) — 注文が消えたら明細も意味を失う)
  • 非識別関係(破線): 子は自前の PK を持ち、親の PK は FK 列としてだけ参照する(例: orders (order_id, customer_id) — 注文はシステム内で独立した存在)

さらに子エンティティも形状で区別され、依存エンティティ(Dependent)= 角丸の箱独立エンティティ(Independent)= 角張った箱 となります。

IE 記法にはこの区別が無く、どちらも同じ実線で描かれます。代わりに FK 列に注記(FK (NOT NULL)FK (NULLABLE))で同じ情報を表現します。

使い分けの目安 — 実務的な比較

項目IE 記法(カラスの足)IDEF1X 記法
制定1981 年、Finkelstein / Martin1993 年、FIPS 184(米国連邦標準)
多重度の表記線端の ○・棒・カラスの足● + ラベル(P / Z / 数字)
識別/非識別の区別無し(実線のみ)実線 vs 破線で明示
エンティティ形状すべて同じ角張った箱独立 = 角張り/従属 = 角丸
学習コスト低(4 種類の線端を覚えるだけ)やや高(記号・形状が多い)
代表的なツールA5:SQL Mk-2 / dbdiagram.io / DBeaver / MySQL Workbench / PlantUMLERwin / ER/Studio / PowerDesigner
よく使われる場面Web/業務システム/OSS/スタートアップ全般政府調達/防衛/金融の基幹/大規模 SI

迷ったら IE 記法。現代の DB 設計ツールはほぼ IE を既定としており、ドキュメント共有のハードルも低い。IDEF1X は「顧客が公的機関」「設計書が納品物として契約に入る」場合だけ検討すれば十分です。

本サイトの ER 解説・図はすべて IE 記法で統一しています。