ER図とは?
ER図とは、人、オブジェクト、コンセプトといった「エンティティ」のシステム内での関連を示す設計図の一種です。ER図は、主にソフトウェアエンジニアリング、企業情報システム、教育および研究の分野における関係データベース設計やデバッグを目的として広く利用されています。
ERD または ER モデルとしても知られ、長方形、ひし形、楕円形などの一連の定義された記号と接続線を用いて、エンティティ、リレーションとそのアトリビュート(属性)の間の相互関連性を表すものです。エンティティを名詞、リレーションを動詞とした文法構造を反映する図でもあります。エンティティリレーション図とも呼ばれ、英語では(Entity Relationship Diagram)とも呼びます。
ER図は、エンティティそのものの間の関連ではなく、エンティティ内の要素の関連に重きを置いたデータ構造図(DSD)に関連した図です。また、ER図はしばしば、プロセスやシステムの流れを描き出すデータフロー図(DFD)とも関連して用いられます。
ER図の使い方と活用メリット
データベースの設計:
ER図は、関係データベースのモデリングや設計において、ロジックやビジネスのルール(論理データモデルの場合)および実装する特定の技術(物理データモデルの場合)に関して使用されます。ソフトウェアエンジニアリングにおいては、ER図は情報システムプロジェクトの要件を判断する最初のステップとして用いられるのが一般的です。その後のステップでは、特定のデータベースのモデル化にも用いられます。関係データベースには同値関係表が含まれ、必要に応じてこの表の方式で表すことが可能です。
データベースのトラブルシューティング:
ER図は、既存のデータベースを分析し、ロジックや実装における問題を特定して、解決するために使用されます。図を描画することで、問題点が浮き彫りとなります。
企業情報システム:
ビジネスプロセスに用いられる関係データベースの設計や分析にER図が使用されます。エンティティ、行動、相互作用に関する処理済みのデータを用いるビジネスであれば、関係データベースの作成が役立つ可能性があります。プロセスの効率化、情報の発見が容易となり、成果の改善につながります。
業務改革(BPR):
ER図は、業務改革に用いるデータベースの分析や新たなデータベースの作成に役立ちます。
教育:
現在の教育現場でデータベースは、教育目的で使用する関連情報を保存し、後に活用するために広く活用されています。こうしたデータ構造の計画にER図を活用することができます。
研究:
構造化データを主なテーマとする研究は数多いため、データ分析のための有用なデータベース構築においてER図は重要な役割を果たす可能性があります。
ER図の3つの種類
通常、ERモデルとデータモデルは、以下の3種の詳細レベルまでで構成されます。
概念データモデル
最高レベルの層で、モデルに含まれる詳細が3層の中で最も少ないものです。このレベルの値はモデルの全体的な範囲を示し、システムアーキテクチャを反映します。小規模なシステムの場合には、このモデルを作成せずに論理データモデルの作成から開始することもできます。
論理データモデル
概念モデルに比べてより多くの詳細が含まれるモデルです。運用や処理に係るエンティティをより詳細に定義することができます。論理モデルは、実装予定の技術の影響を受けない独立したモデルです。
物理データモデル
各論理モデルから1つまたは複数の物理モデルを作成することができます。物理モデルは、実際のデータベース構築と実装に必要な技術的詳細を示したものでなければなりません。
同様の詳細や範囲レベルはデータフロー図など他の種類の図にも存在しますが、情報をやや異なる方法で分類するソフトウェアエンジニアリングの三層スキーマアプローチの点で相違が見られます。階層を追加してデータベース設計に必要な情報を追加し、ER図を拡張するエンジニアも見られます。スーパークラスやサブクラスの追加により、グルーピングを上下に拡張する例がその一つです。
ER図には何を書く?4つの基本要素
ER図は、エンティティ、リレーションとアトリビュートで構成されます。また、数字でリレーションを定義するオプショナリティという概念も用いられます。以下の用語集をご覧ください。
1. エンティティ(実体)
人、オブジェクト、概念やイベントなど、定義可能で、関連するデータを格納可能な存在を指します。エンティティは名詞として捉えることが可能で、顧客、学生、車、または製品などがあり、一般に長方形で表されます。
-
エンティティ型: エンティティが特定の学生やアスリート個人を指すのに対し、エンティティ型は学生やアスリートのグループといった定義可能な集団を指します。複数の顧客、学生、車、または製品なども例として挙げられます。
-
エンティティ集合: エンティティ型と同じですが、例えば初日に授業に登録した学生など、特定の時点で定義されます。その他の例としては、先月購入した顧客、フロリダ州で登録された車などが挙げられます。関連用語としてインスタンスがあり、この場合には、特定の人や車がエンティティ集合のインスタンスとして表されます。
-
エンティティの分類: エンティティは強エンティティ、弱エンティティ、関連エンティティに分類されます。強エンティティは自身のアトリビュートのみにより定義可能であるのに対し、弱エンティティは自身のアトリビュートのみでは定義不可能です。関連エンティティは、エンティティ集合内のエンティティ(または要素)をリレーションさせます。
-
エンティティのキー: エンティティ集合内でエンティティを一意に定義するアトリビュートを指します。エンティティのキーにはスーパーキー、候補キー、主キーの3種類があります。
- スーパーキー: エンティティ集合内でエンティティを共同で定義する一連のアトリビュート(1つまたは複数)。
- 候補キー: スーパーキーとして定義するためのアトリビュートを最小限有する(=極小の)スーパーキー。エンティティ集合には複数の候補キーが含まれる場合もあります。
- 主キー: エンティティ集合を一意に定義するためにデータベース設計者が選択した候補キー。
- 外部キー: エンティティ間のリレーションを定義するキー。
ERDは、実体、関連と属性で構成されます。また、数字で関連を定義する濃度という概念も用いられます 。以下の用語集をご覧ください。
2. リレーション
エンティティの相互作用に加え、エンティティ同士が関連する方法を示します。リレーションは動詞として捉えることができます。例えば、名前のある学生が講義に登録するとします。その学生と登録対象の講座が2つのエンティティとなります。そして、これら2つのエンティティを登録という行為で接続するのがリレーションとなります。一般に、リレーションはひし形やラベルの形で接続線に直接表示されます。
- 再帰リレーション: リレーションに複数回参加する同一のエンティティを指します。
3. アトリビュート
エンティティの性質や特徴。一般に楕円や円で表示されます。
-
記述アトリビュート: エンティティに対するリレーションの特性や性質を指します。
-
アトリビュートの分類: アトリビュートは単純アトリビュート、複合アトリビュート、派生アトリビュート、さらに単一値アトリビュートと複数値アトリビュートに分類されます。
- 単純アトリビュート: アトリビュート値が不可分であり、これ以上分割できないことを意味します(電話番号など)。
- 複合アトリビュート: アトリビュートの副アトリビュートを指します。
- 派生アトリビュート: 他のアトリビュートから算出または派生したアトリビュートを指します(生年月日から算出した年齢など)。
- 複数値アトリビュート: 複数のアトリビュート値を表すものを指します(ある人の複数の電話番号など)。
- 単一値アトリビュート: 1つのアトリビュート値を表すものを指します。これらの分類を組み合わせて、単純単一値アトリビュート、または複合複数値アトリビュートなどとすることもできます。
4. オプショナリティ(濃度)
2つのエンティティまたはエンティティ集合間のリレーションの数値属性を定義します。最も重要なリレーションは、一対一、一対多、多対多の3つです。
-
一対一: 1つのメールアドレスに関連付けられた1人の学生など。
-
一対多(多対一): 1人の学生が複数の講義に登録しており、これらの講義すべてがその学生に1本の線で結び付けられているケース。
-
多対多: 学生グループが複数の教員と関連付けられ、他方で教員が複数の学生に関連付けられているケース。
-
オプショナリティの表示: 記号の表示箇所に応じて、オプショナリティは反対側と同じ側のどちらにも表示することができます。
-
オプショナリティ制約: リレーションに適用される最大数または最小数を指します。
ER図の記号と表記
一般的なER図の表記法
基本的な構成要素は共通ですが、ER図を視覚的に表現するために異なる表記法が用いられます。これらの表記法を理解することは、効果的に図を解釈し作成するために不可欠です。
-
カラスの足表記法(Crow's Foot Notation): これは広く使用されている表記法で、カラスの足に似た記号を使用してカーディナリティを明確に示します。
- 1本の線は「1つ」を示します。
- 円は「ゼロまたは1つ」(オプション)を示します。
- カラスの足(3つの枝)は「ゼロ、1つ、または複数」を示します。
- 1本の線とカラスの足は「1つまたは複数」を示します。
-
IDEF1X (Integration Definition for Information Modeling, Extended): 政府機関や防衛関連でよく使用されるIDEF1Xは、異なる記号を使用します。
- エンティティはラベル付きの長方形で表され、主キーは通常、長方形内の水平線の上に配置されます。
- リレーションシップは線で示され、線の終端の記号がカーディナリティとオプション性を示します。塗りつぶされた丸は必須の関係を、白丸はオプションの関係を示すことが多いです。
-
IE(Information Engineering)表記法: もう1つの一般的な表記法であるIEは、カーディナリティに異なる記号を使用します。
- 1本の線は「正確に1つ」を示します。
- 円は「ゼロまたは1つ」を示します。
- カラスの足は「ゼロ以上」を示します。
- 破線は識別関係を示します。
どの表記法を選択するかは、多くの場合、特定のプロジェクト要件、組織の標準、および図の対象読者によって異なります。しかし、Lucidchart では、直感的なグラフィック形式を持つカラスの足記法を ERD 記法として推奨しています。
カーディナリティとオプショナリティ
ER図におけるリレーションシップを理解する上で重要な概念が、カーディナリティとオプショナリティです。
-
カーディナリティ: あるエンティティの1つのインスタンスが、別のエンティティのインスタンスと関連付けられる最大回数を示します。例えば、「1対多」のリレーションシップでは、一方のエンティティの1つのインスタンスが、他方のエンティティの複数のインスタンスと関連付けられる可能性があります。
-
オプショナリティ: あるエンティティの1つのインスタンスが、関連するエンティティのインスタンスと関連付けられる最小回数を示します。これは、関連が必須であるか(少なくとも1つの関連が必要か)、任意であるか(関連がなくてもよいか)を示します。
これらのカーディナリティとオプショナリティは、選択した表記法に従って、リレーションシップを示す線とその終点のスタイル設定によって表現されます。
概念 ER 図の記号
概念データモデルは、モデルセットに含めるべき内容の概略を定めるものです。概念 ERD は、論理データモデルの基礎として使用できます。また、ER モデル間にデータモデル統合の基礎となる共通リレーションを形成する目的でも使用されます。以下の記号はすべて、Lucidchart の UML 実体関連/実体関連図ライブラリに含まれています。
ERD エンティティの記号
エンティティとは、重要なデータを表すオブジェクトや概念を指します。エンティティは通常、製品、顧客、場所やプロモーションなどの名詞として表現されます。エンティティ関連図で一般に使用されるエンティティには以下の3つの種類があります:
実体の記号 | 名称 | 説明 |
---|---|---|
| 強実体 |
他のエンティティに依存せず、主キーを持つエンティティ。親エンティティと呼ばれることもある。 |
| 弱実体 |
他のエンティティに依存し、主キーを持たない。親となるエンティティがなければ意味を持たない。 |
|