ER図 いーあーるず
エンティティリレーションシップカーディナリティデータベース設計UML概念設計
ER図について教えて
ER図とは
**ER図(Entity-Relationship Diagram / ERD)とは、データベースの構造をエンティティ(Entity:実体)とリレーションシップ(Relationship:関係)**を用いて視覚的に表現した設計図です。1976年にピーター・チェンが提唱したER(実体関連)モデルを図化したものです。
ER図を作成する主な目的は2つです。1つは業務要件の整理:「どのようなデータが存在し、どう関係しているか」を業務担当者とエンジニアが共同で確認・合意するため。もう1つはデータベース設計の設計書:テーブル・カラム・キー・リレーションの定義をドキュメントとして残すためです。
ER図には表記法の違いがいくつかあります。チェン記法(原型の記法)、IE記法(鳥足記法)(現在最も広く使われる)、UML記法(クラス図の拡張)が代表的です。DBeaverやA5:SQL Mk-2・DrawioなどのツールでER図を自動生成・編集できます。
ER図の主要要素
| 要素 | 記号 | 説明 | 例 |
|---|---|---|---|
| エンティティ | 四角形 | データの主体 | 顧客・商品・注文 |
| 属性 | 楕円(チェン)/ カラム(IE) | エンティティが持つ情報 | 顧客名・価格・日付 |
| リレーションシップ | 線・記号 | エンティティ間のつながり | 注文する・含む・属する |
| カーディナリティ | 1, N, M等の記号 | 関係の多重度 | 1対多・多対多 |
| 主キー | 下線(チェン)/ PK(IE) | 一意識別子 | customer_id |
| 外部キー | FK | 他テーブルへの参照 | order.customer_id |
歴史と背景
- 1976年:ピーター・チェンがER(Entity-Relationship)モデルを論文で提唱
- 1980年代:CASE(Computer-Aided Software Engineering)ツールでER図が普及
- 1990年代:IE記法(鳥足記法)・UML記法が登場。ツールの自動生成機能も充実
- 2000年代:MySQL Workbench・ERwin・PowerDesignerなど専用ツールが充実
- 2010年代:dbdiagram.io・DrawioなどWebツールの登場で手軽に作成できるように
- 現在:Notionやドキュメントツールへの埋め込み、DBからの自動リバース生成が標準化
ER図の表記法比較
| 表記法 | カーディナリティ表現 | 特徴 |
|---|---|---|
| チェン記法 | 1・N・M | 概念設計向け。原型だが現在は少ない |
| IE記法(鳥足) | , ○, <鳥足> | |
| UML記法 | 1, *, 0..1 | オブジェクト設計と連携しやすい |
| IDEF1X | 点・線の組み合わせ | 米政府・大型プロジェクト向け |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| ISO/IEC 9075 (SQL標準) | ER図から導出されるリレーショナルスキーマの基準 |
| UML 2.x | クラス図を使ったER図表記の標準 |
| IDEF1X (NIST FIPS 184) | 米国政府標準のER表記法 |