E-R図(Entity Relationship Diagram)とは、データを「実体(entity)」と「関連(relationship)」、「属性(attribute)」という3つの構成要素でモデル化する「ERモデル」を図で表したものである。データベースを設計する際に用いられている。

ERモデルにおいて、実体(エンティティ)とは管理の対象として存在するものであり、名詞で表現されるものである。関連(リレーション)とは、実体と実体の関係を示したものや、実体に対する操作などのことであり、動詞で表現することができる。また、属性とは、実体の特性や実体に関する情報のことを指す。

E-R図では、実体を四角形、関連を線として表す。ただし、表現手法にはいくつかの記法が提唱されている。主なE-R図の表現手法を次に示す。

各記法の書き方と記号について解説する。

Peter Chen記法

Peter Chen記法とは、Peter Chen氏が考案した、実体を四角形、関連をひし形の記号で表すというシンプルなE-R図表記法である。E-R図の書き方の例を次に示す。

E-R図(Peter Chen記法)

カーディナリティー(多重度)

実体と実体を繋ぐ線の脇に、関連の多重度(カーディナリティ)を記述することがでる。多重度とは、実体間が何対何でつながっているかということを表現するものである。例えば、実体と実体の関連が1対多の場合、1およびNと記述する。

IDEF1X (Integration Definition)記法

IDEF1X (Integration Definition)記法とは、米国標準技術研究所(NIST)が規格化した、データベースの設計に特化したE-R図表記法である。E-R図の書き方の例を次に示す。

E-R図(IDEF1X記法)

実体

実体は四角形の記号で表し、四角形の上に実体名を記述する。実体は、他の実体に依存せずに存在できる非依存実体(Identifier-Independent Entity)と、依存して存在する依存実体(Identifier-Dependent Entity)に分けられる。依存実体は角の丸い四角形として記述する。

属性

実体を表す四角形の中には属性を記述する。四角形を線で上下に区切り、上には主キー(Primary Key)となる属性名、下には主キーでない属性名を記述する。外部キー(Foreign Key)となる属性には、属性名の後に「(FK)」という文字付ける。

関連

実体間の関連は四角形の間に線を引くことで表し、線の横に関連名を記述する。依存実体との関連には実線、非依存実体との関連には破線を使用する。関連によってつながった実体間には親子関係が成り立ち、子となる実体に結び付けられた線の先には黒く塗り潰した円を記述する。

IDEF1X記法によるER図の多重度

関連の多重度(カーディナリティ)を記述することができる。多重度は、実体間が何対何でつながっているかということを表す。

子の多重度が0または1の場合、関係線にZ (zero)を記述する。子の多重度が1以上の場合、関係線にP (positive)を記述する。

親の多重度が0または1の場合、関係線に菱形を記述する。

1 対 0または1

1 対 1

1 対 0以上

1 対 1以上

1 対 3

0または1 対 0または1

0または1 対 1

0または1 対 0以上

0または1 対 1以上

0または1 対 3

IE (Information Engineering)記法

IE (Information Engineering)記法とは、James Martin氏が提唱したデータベースの設計に特化したE-R図表記法である。E-R図の書き方の例を次に示す。

E-R図(IE記法)

カーディナリティー(多重度)

関連の上には、関連の多重度(カーディナリティ)を記述することができる。多重度は、実体間が何対何でつながっているかということを表す。多重度の構文を次に示す。

cardinality ::= [ lower-bound ] upper-bound

lower-bound ::= '○' | '|'

upper-bound ::= '|' | 鳥足

記号意味
○(白丸)0
|(関連に交差する棒)1
鳥足(3本に広がる線)

カーディナリティ記号の例を示す。

上記のE-R図の場合、下限が0で上限が1であるから、Bは0か1である。

上記のE-R図の場合、下限が0で上限が多であるから、Bは0以上である。

上記のE-R図の場合、下限が1で上限が1であるから、Bは1である。

上記のE-R図の場合、下限が1で上限が多であるから、Bは1以上である。

モデル

論理モデル

論理モデルとは、システム化する業務のエンティティとリレーションを実装技術に依存しない形で行うモデリングである。

たとえば、ひとつのプロジェクトに複数の従業員が属し、ひとりの従業員が複数のプロジェクトに属する場合、プロジェクトと従業員は多対多の関係になる。これを論理ER図で示すと次のようになる。

論理ER図

物理モデル

物理モデルとは、実装を考慮してエンティティをRDBMSのテーブルと1対1になるようモデリングしたものである。RDBMSで多対多の関係を表す場合、中間テーブルが必要になるので、これをエンティティとして表現する。

前述の論理ER図を物理ER図で表現すると、次のようになる。

物理ER図

論理モデルのエンティティにおいて、テーブルのキーとなるナチュラルキー(自然キー)が存在しても、物理モデルにおいてはシステム上の都合でサロゲートキー(代理キー)を追加することがある。