日本ER図表記法

目次

目的

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

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

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

ER図では、実體を四角形、関連を線として表す。

エンティティ

論理モデルのER図の場合、エンティティ(実體)は業務におけるひとまとまりのデータを表している。物理モデルのER図の場合、エンティティはデータベースのテーブルを表す。

エンティティには2種類あり、非依存実體と依存実體に分けられる。

非依存実體

非依存実體とは他のエンティティに依存せずに存在できるエンティティである。非依存実體は四角形の記號で表し、四角形の上にはエンティティ名を記述する。

非依存実體

依存実體

依存実體とは他のエンティティに依存して存在するエンティティである。依存実體は角の丸い四角形として記述する。

依存実體

屬性

エンティティを表す四角形の中には屬性を記述する。四角形を線で上下に區切り、上には主キーとなる屬性名、下には主キーでない屬性名を記述する。

外部キー(FK)

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

リレーション

リレーションはエンティティ間の関連である。エンティティを表す四角形の間に線を引くことでエンティティを表し、線の橫に関連名を記述する。依存実體との関連には実線、非依存実體との関連には破線を使用する。

関連によってつながった実體間には親子関係が成り立ち、子となる実體に結び付けられた線の先には黒く塗り潰した円を記述する。

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

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

リレーションのカーディナリティ(多重度)の書き方には2種類あり、IDEF1X記法とIE記法に分けられる。

IDEF1X記法

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

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

ER図(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記法

IE (Information Engineering)記法とは、James Martin氏が提唱したデータベースの設計に特化したER図表記法である。

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

ER図(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のツール
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章