【図解あり】初心者向け!ER図とEER図の基本とツールの選び方

ウェブサイトやシステムの複雑なデータベースの構造を可視化したいときは「ER図」を活用しましょう。ER図はデータベースの設計図として役立ちます。

データベースの構造によっては、ER図(実体関連モデル図)よりも詳細な要素を含んだEER図(拡張実体関連モデル図)を設計図として利用することをおすすめします。

本記事では、ER図とEER図の基本と違いER図の作成ツールの選び方を図を交えてご紹介します。

ER図とは

ER(Entity Relationship)は「実体関連モデル」と呼ばれています。主にデータベースや情報システムでデータを編成するときの設計図として使われています。

ER図では、データベースを構成するデータのまとまりを「エンティティ」と呼ばれる四角形で表します。そして、データ同士を「リレーション」と呼ばれる線で結び「カーディナリティ」と呼ばれる記法で相互の関係性を示します。

概念データモデル、論理データモデル、物理データモデルとは

ER図には、概念データモデル、論理データモデル、物理データモデルの3種類があります。

概念データモデル図は、システム全体をモデル化し、シンボルを用いて事象を大まかな分類した図です。

論理データモデル図は、概念データモデルを詳細に落とし込んで、画面や帳票などのシステムで必要とする属性を付与したモデル図です。

物理データモデルは、論理データモデルさらに詳細に落とし込んだ図で、実際のデータベースの情報と1対1の関係になっています。

概念データモデルと論理・物理データモデルの違い

概念データモデルはオブジェクトをシンボル化して、大まかに分類した図であるのに対して、論理データモデルや物理データモデルは、データベースに情報を追加するために必要なプロセスなどの詳細を示します。

シンボルを使用するのではなく一連のテーブルで構成されており、各エンティティはテーブルとして表され、各フィールドはそれを含むエンティティの属性として機能します。

学校の履修システムをER図で表したもの学校の履修システムをER図で表したもの

ER図の6つの基本要素

ER図を描画するときは以下の6つの標準的な要素を使用します。

  1. エンティティ:重要なデータのまとまりを表すオブジェクトまたは概念です。エンティティ内には属性の意味がある「アトリビュート」が入ります。
  2. アトリビュート(属性):エンティティ内にある属性情報を指します。エンティティの特性です。

    左:エンティティ(実体)、右:アトリビュート(属性)左:エンティティ(実体)、右:アトリビュート(属性)

  3. リレーション(関係):エンティティ同士の関係を表現する線のことです。
  4. カーディナリティ(多重度):「1対1」「1対多」「多対多」など、リレーションの詳細を表現できる記号です。

    左:リレーション(関係)、右:ガーディナリティ(多重度)左:リレーション(関係)、右:ガーディナリティ(多重度)

  5. エンティティの依存関係:エンティティ間で親子関係になり、必ず紐づくデータが存在しなければならない関係を指します。
  6. エンティティの非依存関係:エンティティ間で「親子関係がない」リレーションのことです。紐づくデータがなくてもシステム的に成り立ちます。

    左:エンティティの依存関係、右:エンティティの非依存関係左:エンティティの依存関係、右:エンティティの非依存関係

カーディナリティとは

エンティティ同士はリレーションで接続できますが、関係性についてはカーディナリティ(多重度)を用いて記述します。

例えば、1対1を表現したい場合は1を意味する「|」を使用します。1対0を表現したい場合は、0を意味する「◯」を使用しましょう。

カーディナリティと鳥の足記法の使い方

0か1ではなく、0対多、1対多、多対多など「多数」を表現したい場合は、鳥の足記法(Crow’s Foot)を使用しましょう。鳥の足記法は、3つの線が放射状に伸びている様が鳥の足のように見えることからこうした名称がついています。

エンティティ同士の関係性はカーディナリティで表すエンティティ同士の関係性はカーディナリティで表す

EER図とは

EER図はER図を拡張した「拡張実体関連モデル」と呼ばれています。 EERはERモデリングに欠けている概念を導入しており、より高水準なデータベースを設計するのに役立ちます。

EER図は、ER図に以下のような要素を追加しています。

  • アトリビュート(属性)やリレーションの継承
  • カテゴリーまたはユニオンのタイプ
  • 特化と汎化
  • サブクラスとスーパークラス

EER図はER図に、継承、汎化および特化を可能にする要素を含めることで、ER図から構築されます。

汎化と特殊化は互いに反対の役割を果たします。汎化は、下位レベルのエンティティを上位レベルのエンティティに結合します。一方、特殊化は、上位レベルのエンティティを下位レベルに分割します。継承では、2つのエンティティが単一のエンティティとして扱われます。

これらの要素を追加することで、システム内のデータの関係を効率的にまとめてグループ化できます。

ER図とEER図の違い

全体として、どちらの図もデータベースを正確に設計することができます。

ER図はデータベースの全体的な設計を視覚的に示します。エンティティの関係と属性を詳述して、円滑なデータベース開発のための道しるべとなります。

その一方で、EER図はデータベース内の情報を構造化し、より詳細まで見るのに最適です。データベースに大量の情報が含まれている場合は、構成要素をより深く理解するためにEERモデルを選択するのが最善でしょう。

ER図、EER図どちらを使うか決めかねる場合は、構築するデータベースのサイズ、記述したい詳細情報を踏まえて検討してみましょう。データが複雑になればなるほど、すべての関係を適切に整理できるEER図を使用する必要性が増します。

ER図とEER図の作成ツールの選び方

どちらの図もデータベースの設計をこれまでになく簡単にします。

実際にER図とEER図を作成するときは、ER図のテンプレートやアイコンを利用できる作図ツールを活用しましょう。

ER図を描画できる作図ツールは多数ありますが、作図ツールを選択するときは

  • 値段
  • 共同編集の可否
  • テンプレートやアイコンの豊富さ

を基準にしましょう。

たとえば、国産のオンライン作図ツールの「Cacoo」は低価格で複数人と共同編集でき、ER図のテンプレートやアイコンが豊富です。

さまざまな作図ツールのなかから自分の目的にあったER図の作図ツールを選択しましょう。

UMLの基礎を学べる無料ガイドはこちら

 

▼ データベースの可視化に関連する記事はこちら

チームのアイデアを、いつでもどこからでも視覚的に共有しよう