ERD表記法とは?
ERD(Entity Relationship Diagram)を描く際、エンティティ・関係・多重度(カーディナリティ)を表現する方式にはいくつかの標準があります。どの表記法を使うかによって、同じデータモデルでも見え方が全く異なります。チーム全体が同じ表記法を使い、正しく解釈できることが重要です。
主要な表記法としてクロスフット(Crow's Foot / IE)、UMLクラス図、**ピーター・チェン(Peter Chen)**表記法があります。
クロスフット(Crow's Foot)表記法
実務で最も広く使われる表記法で、情報工学(Information Engineering、IE)表記法とも呼ばれます。MySQL Workbench、draw.io、Erdmatesなど多くのERDツールがデフォルトでサポートしています。
多重度の表現
関係線の端の形で多重度を示します:
- 縦線(|):「ちょうど1つ」を意味(必須)
- 円(O):「0または1つ/複数」を意味(任意)
- カラスの足(〈):「1つ以上」を意味(複数)
| 端の形 | 意味 |
|---|---|
| ` | — |
| `O— | ` |
| ` | —<` |
O—< | 0以上(任意・複数) |
1:N関係の例
users ——|——< orders
「1人のユーザーは複数の注文を持てる。各注文は必ず1人のユーザーに属する」を意味します。
メリット・デメリット
| 区分 | 内容 |
|---|---|
| メリット | 直感的、ツールのサポートが豊富、業界標準 |
| デメリット | 記号が初心者には分かりにくい場合がある |
UMLクラス図表記法
オブジェクト指向設計から生まれた表記法で、開発者に馴染みやすいものです。
多重度の表現
関係線の端に数値や範囲で表現します:
1: ちょうど1つ0..1: 0または1つ1..*: 1つ以上0..*: 0以上
メリット・デメリット
| 区分 | 内容 |
|---|---|
| メリット | 開発者に親しみやすい、属性・メソッド表現可能、ORMマッピングに便利 |
| デメリット | 純粋なデータモデリングよりクラス設計寄り |
ピーター・チェン(Peter Chen)表記法
1976年にPeter Chen教授が提案したオリジナルのERD表記法です。学術的な環境でよく使われます。
図形の意味
- 長方形:エンティティ
- 楕円:属性
- 菱形:関係
- 二重長方形:弱いエンティティ
- 二重楕円:多値属性
メリット・デメリット
| 区分 | 内容 |
|---|---|
| メリット | 概念的に明確、学術標準、属性構造を詳細表現可能 |
| デメリット | 図が複雑になりやすく、ツールのサポートが限定的 |
どの表記法を選ぶべきか?
| 状況 | 推奨表記法 |
|---|---|
| 実務プロジェクト・チーム協業 | クロスフット(IE) |
| ソフトウェア開発者チーム | UMLクラス図 |
| 学術的データモデリング | ピーター・チェン |
| 非開発者への説明 | クロスフット(直感的) |
Erdmatesの表記法サポート
Erdmatesはクロスフット表記法をデフォルトで使用し、実務で最も広く使われる方式でERDを視覚化します。AI自然言語入力でエンティティと関係を自動生成し、SQL DDLを直接エクスポートできます。
まとめ
表記法そのものより重要なのはチーム内で一貫して使用することです。どの表記法を選んでも、全メンバーが記号の意味を正確に理解し、同じように解釈できることが効果的なデータモデル共有の鍵となります。