ER図とは

データベース

ER図とは、(正式名称:Entity Relationship Diagram)「Entity」と「Relationship」「Attribute」の3要素から成り立つ図です。

ER図が活躍するのは主に、データベースのテーブル設計を行う時です。データベースが必要なWEBサイト、システムの構築時には必ず作成される図です。ER図はデータベースを構築する際の基本中の基本。

エンジニアたるもの、ER図をしっかり理解して、ER図を書けるようになっておきたいものです。

ER図には10種類以上あり、それぞれ記法にルールが異なりますが、

※本ページにはPRが含まれます。

ER図のなりたち

ER図(ERD)は、1970年台にピーター・チェンによって定義された図式。その後ER図は発展していき、ピーター・チェン記法の他にも多くの記法が誕生されました。

データベースエンジニアは、ER図を書けるスキルが必須となります。→データベースエンジニアとは

ER図の書き方

では実際に、ER図を書いていきましょう。今回はわかりやすいIE記法でのER図作成を例に考えます。

属性の割り出し

四角い枠である「Entity」の中に入れる属性を洗い出します。属性の洗い出しを行うには、属性の定義のために、業務にかかわる人への詳しいヒアリングが必要となります。

Entity設定

属性のヒアリングが済んだら、その情報を元にEntityをまとめてみましょう。Entityの上には名称を書き、Entityを識別するための項目を記述してください。その中に入る属性は、その項目に基づいたデータとなります。
属性「Entity」には、実体のある人、物以外にも概念の情報も含まれます。

属性同士を関連させる

ER図を構成する要素、Relationship、関連性のことも考えなくてはなりません。Entityを設定し終わったなら、Entity同士を関連性で結ぶことになります。

この時に記述するカーディナリティの設定には、記法によってルールが異なりますから気をつけねばなりません。カーディナリティについての説明は、また後ほど行います。

ER図の記法

ER図の記法にはいくつか種類があります。データベースを構築する際に、どの記法が適しているのか、あらかじめ決めておく必要があります。

IDEF1X記法

IDEF1X記法(Integration Definition)は、米国標準技術研究所が規格化した、データベース設計に特化したER図表記法です。IE記法と似ていますが、カーディナリティの記述方法が異なります。

ピーター・チェン記法

ER図の考案者、ピーター・チェンが考えたのがこのピーター・チェン記法です。実態を四角形で表して、関連性をひし形で表しているという、非常にシンプルなER図です。

実際にこのピーター・チェン記法が使われる事は少なくなっており、IE記法やIDEF1X記法が使われることがほとんどです。

IE記法

IE(Information Engineering)形式のER図です。1980年ごろ提唱されたこのER図は、現在も現場で使われています。Entityを長方形で記述し、関連性を線で表現する方式です。一見IDEF1X記法とよく似ています。>

カーディナリティの書き方が異なる

IDEF1X記法とIE記法のカーディナリティ、具体的に何が違うかを考えていきましょう。

まず、IDEF1Xでは、関連性を黒丸とアルファベットや数字一文字で表現します。関連度が1以上の場合はP、0または1の場合はZ、固定された数字で対応度が表せる場合はその数字を直接書き込みます。

IE記法の場合は、多重度で白丸、交差する棒、鳥足を使い分けます。

ER図なツールで書くことができる

ER図を手書きで入力する場合ももちろんありますが、最近ではツールを使ってER図を書くケースも多いです。

A5:SQL Mk-2やOBERなど、そのツールも多彩に揃っているので、ER図作成時に利用するツールの種類にも困ることはないでしょう。ツールによっては、ER図からDDL、SQLを作る機能、テーブル仕様書を出力できるなど機能が多彩です。

初心者エンジニアには「Cacco」がおすすめ

初心者に広く使われているツールが、Caccoです。CaccoはER図の他、UMLやフローチャート、ワイヤーフレーム作成など様々な機能があります。直感的に操作できるので、ER図の作成が比較的簡単であることが、初心者にも人気の秘訣です。

デザイン性にも優れており、色や線の太さなど自由度が高いところも人気の要因でしょうか。

まとめ

ER図は、主にデータベースを組み込む際に元とする図式のことです。

ER図があれば、直感的にデータベースのなりたち、相関がわかることもあり、ER図を書くスキルは、エンジニアに求められてきます。