ER図の構造はデータベース(RDB)の設計を表現するのに適しているため、構造設計などで頻繁に利用されています。本記事では、データベース設計する際に、よく使うER図記号とER図の書き方についてご紹介します。
- 目次 -
Part1:ER図とは
① ER図の基礎知識
Eは「Entity」の略で、日本語で実体を意味します。
Rは「Relationship」の略で日本語で関連を意味します。
・「実体」とは、世の中に存在する全てのものを指します。例えば、「学校」「先生」「音楽」などの名詞で表現することです。
・「関連」とは、実体と実体の関係や、実体に対して操作することを指します。例えば、「管理」「演奏」「所属」など2つ以上の名詞句を結び付ける動詞です。
ER図(別名:ERD,実体関連図)とは、簡単に言うと、箱と線で実体の関係性を図示したものです。
② ER図の種類
ER図は1975年にピーター・チェン(Peter Chen)氏によって提唱されました。その記法は現在ではPeter Chen記法とも呼ばれます。用途などに応じて微妙に表記法の異なる10以上の記法が考案され、様々な用途に使用されています。ER図作成ソフトEdrawMaxで、Chen ERD、Express-G 図、ORM 図、マーティン ERD及びデータベースモデル図といったER 図のデザインによく使われる記号がたくさん提供されます。ER 図を書く前に、準備として、まずはこれらの記号をちょっと了解しましょう。
前に、準備として、まずはこれらの記号をちょっと了解しましょう。
Part2:ER図記号の種類と使い方
① データベースERモデル図記号
以下の通りに、データベースモデル図記号として、実体、ビュー、親からカテゴリへ、カテゴリから子へ、動的コネクタ、直線コネクタ、強実体、弱実体、強い関係、弱い関係、属性、派生属性、制約、参加などが挙げられます。
名前 | データベースERモデル図記号 | 説明 |
---|---|---|
実体 | ![]() |
独立した存在として認識され、一意に識別されるものと定義できる。家や自動車といった物理的な物体ということもあるし、住宅販売や自動車サービスといったイベントということもあるし、客単価や注文といった概念ということもある。 |
関係 | ![]() |
2つの実体間の関係を捉えたものである。2つ以上の名詞句を結び付ける動詞に対応すると考えることができる。例えば、企業とコンピュータの間の「所有する」という関連、従業員と部門の間の「監督する」という関連、アーティストと楽曲の間の「演奏する」という関連などである。 |
カテゴリ | ![]() |
親テーブルのサブタイプであるテーブル。 |
強実体 | ![]() |
他のあるエンティティのインスタンスが存在しなくなっても、自身のインスタンスは存在しなくならないエンティティ。その存在は他のエンティティに依存しない。 |
弱実体 | ![]() |
他のあるエンティティのインスタンスが存在しなくなれば、自身のインスタンスは存在しなくなるエンティティ。その存在は他のエンティティに依存する。 |
強い関係 | ![]() |
強実体型及びその所有者との間の関係を示す。 |
弱い関係 | ![]() |
弱実体型及びその所有者との間の関係を示す。 |
属性 | ![]() |
実体と関連はどちらも属性を持つことができる。例えば、「従業員」という実体は「社会保障番号」という属性を持つことがある。また、「証明した」という関連は(証明した)「日付」という属性を持つことがある。 |
以下の通り、カテゴリの記号を使用すると、図形に浮いているボタンが設置されております。そのボタンをクリックして、カテゴリのプロパティを設定することができます。
どのようにコネクタを介して、実体の記号を接続するのか、あんまりわからない人がいるかもしれません。実は、以下のように見える簡単です。コネクタを記号のほうへ移動すると、実体の図形の周りに緑のマークを多く見えます。赤いマークが表示されたら、2つが接続するようになります。
② オブジェクトリレーショナル記号
以下の通りに、オブジェクトリレーショナルの記号として、実体、ビュー、親からカテゴリへ、カテゴリから子へ、テーブルの継承、型、型の継承及び動的コネクタなどが挙げられます。
名前 | オブジェクトリレーショナル記号 | 説明 |
---|---|---|
型 | ![]() |
関係の型は関連オブジェクトがどうのように定義されるのかということに依存する。 |
型の継承 | ![]() |
型の継承は、構造化された複雑なデータにおける階層によって提供される追加のプロパティということである。 |
③ Chen ERD 記号
名前 | Chen ERD 記号 | 説明 |
---|---|---|
属性 | ![]() |
実体と関連はどちらも属性を持つことができる。例えば、「従業員」という実体は「社会保障番号」という属性を持つことがある。また、「証明した」という関連は(証明した)「日付」という属性を持つことがある。 |
集合 | ![]() |
オブジェクトを組み立てより複雑なオブジェクトに構成する特別な種類の集合というものである。オブジェクトのグループ及びそれらとの相互作用を記述する。 |
多対多 | ![]() |
1つのテーブルにおける行を他のテーブルにおける多くの行に関連させ、また、逆にも可能。多対多リレーションシップに意味はいつも隠されます。 |
一対多 | ![]() |
これまで最も普通のリレーションシップの種類。 |
④ 関係記号
名前 | 関係記号 | 説明 |
---|---|---|
構成 | ![]() |
構成全体の関係を示して、集合の形態の一つである。構成関係により、一部分の類別の有効期間は全体の類別の有効期間に依存するということが示されます。 |
相続 | ![]() |
相続関係は構造とオブジェクトモデルの相続の間のコミュニケーションに役に立つ。相続関係により、クラスが汎化-特化階層(スーパークラス-サブクラス) に入る。属性と操作を共有するための基本的な再利用機構を提供する。 |
依存性 | ![]() |
依存関係はある要素やクライアントが他の要素やプライヤーを使用したり依存したりする関係を示す。 |
協会 | ![]() |
クラス及びユースケースのような二つの類別の間の関係で、関係の原因及びその関係を支配する規則を説明する。 |
⑤ Express-G 記号
名前 | Express-G 記号 | 説明 |
---|---|---|
定義型 | ![]() |
Express-Gにおいて最も重要なタイプ。 |
タイプの選択 | ![]() |
異なるオプションの間の選択や代替を定義する。実体型の間の選択によく使われている。 |
木構造 | ![]() |
連続分岐や下位区分がある構造である。 |
ページ参照 | ![]() |
ページのインスタンスへの参照である。 |
スキーマ | ![]() |
テーブル、ビュー、ストアドプロシージャなどオブジェクトを論理的にグループ化する方法。 |
⑥ マーティン ERD記号
名前 | マーティン ERD記号 | 説明 |
---|---|---|
データ実体 | ![]() |
そのデータがデータベースに格納されるオブジェクト、イベント、または現象などを示す。 |
データ項目 | ![]() |
特定の属性を記述して、レコードに含まれるデータの単位であり、そして、実体を表現するには1つまたは複数のビット、バイト、言葉などが必要である。 |
連結 | ![]() |
接続は、データベースやファイルなどの特定のオブジェクトを読み取りしたり書き込みしたりすることができるように設定されたもの。 |
イベント | ![]() |
様々な色で異なるイベントを表す。 |
⑦ ORM 図記号
名前 | ORM 図記号 | 説明 |
---|---|---|
実体 | ![]() |
独立した存在として認識され、一意に識別されるものと定義できる。家や自動車といった物理的な物体ということもあるし、住宅販売や自動車サービスといったイベントということもあるし、客単価や注文といった概念ということもある。 |
単項 | ![]() |
単一のコンポーネントや要素を成るまたは含むことを意味する。 |
三進法 | ![]() |
3つの項目から成ることを意味する。 |
Index注釈 | ![]() |
全体としてクラスのインデックスと定義する。(通常は複合インデックス) |
Part3:ER図作成ツール-Wondershare EdrawMax
以上の内容では、標準のER図記号とER図の書く方を簡単に説明しました。
ER図の作成はとても難しそうに見えますが、ER図の記号を理解した上で、作図ツールEdrawMaxのER図記号とER図テンプレートを介して、素敵なデータベース設計は簡単にできるようになります。
Edraw Max -- All In One の作図ツール
- 豊富なテンプレートと図形
- 様々なファイル形式に対応
- フローチャート、マインドマップ、組織図などを作成
- Officeライクの操作感覚 初心者もすぐ使える