スポンサーリンク

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

データモデル表現の標準的手法であるERモデルは静的モデルであるため、エンティティ(データ)が生成されたり、更新されるタイミングを表現できない。これらを表現するにはCRUD図を用いる。

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

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

Peter Chen記法

Peter Chen記法とは、Peter Chen氏が考案した、実体を四角形、リレーションをひし形の記号で表すというシンプルなER図表記法である。

Peter ChenにおけるER図の書き方の例

Peter Chen記法におけるER図の書き方の例を示す。

ER図(Peter Chen記法)

Peter Chenにおける多重度の書き方

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

IDEF1X (Integration Definition)記法

IDEF1X (Integration Definition)記法とは、米国標準技術研究所(NIST)が規格化した、データベースの設計に特化したER図表記法である。

IDEF1XにおけるER図の書き方の例

IDEF1X記法におけるER図の書き方の例を示す。

ER図(IDEF1X記法)

IDEF1XにおけるER図の記号

実体(Entity)

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

関連(Relationship)

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

属性

実体を表す四角形の中には属性を記述する。四角形を線で上下に区切り、上には主キー(Primary Key)となる属性名、下には主キーでない属性名を記述する。

IDEF1Xにおける外部キー(FK)の書き方

外部キー(Foreign Key)となる属性には、属性名の後に「(FK)」という文字を付ける。

IDEF1Xにおける多重度の書き方

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

子の多重度が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氏が提唱したデータベースの設計に特化したER図表記法である。

IEにおけるER図の書き方の例

IE記法におけるER図の書き方の例を示す。

ER図(IE記法)

属性

実体を表す四角形の中には属性を記述する。四角形を線で上下に区切り、上には主キー(Primary Key)となる属性名、下には主キーでない属性名を記述する。

IEにおける外部キー(FK)の書き方

外部キー(Foreign Key)となる属性には、属性名の後に「(FK)」という文字を付ける。

IEにおける多重度の書き方

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

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

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

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

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

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

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

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

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

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

モデル

論理モデル

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

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

論理ER図

物理モデル

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

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

物理ER図

論理モデルのエンティティにおいて、テーブルのキーとなる自然キー(ナチュラル・キー)が存在しても、物理モデルではシステム上の都合で代理キー(サロゲート・キー)を追加することがある。 たとえば、業務で従業員番号を数字3桁で管理していたものが、会社の規模拡大に応じて桁数が増えたり、所属部署を表すアルファベットが頭に付くようになったりすることがある。 この従業員番号(ナチュラル・キー)をそのままテーブルの主キーとしてしまうと、テーブルの主キー変更がたびたび発生してしまう。 そこで、システム上は単純に1からの連番をキーとすることがある。これが代理キー(サロゲート・キー)である。

ER図作成ツール

ER図作成ツール
ツール 説明
ERMaster フリーのEclipseプラグイン
MySQL Workbench MySQLのツール
このエントリーをはてなブックマークに追加
スポンサーリンク