Part 1: ER図とは
ER図(実体関連モデル)とは概念的データモデルつまり実体を高いレベルでも記述を可能にするモデルの一種です。
身近な例でいえば、文章を書いたり絵を描いたり楽器を演奏しようとする時、対象から感じたものを表現したい思いから自分の中にある情報の中の関係性を手掛かりに言葉、図、旋律(ライン)を用いて制作しようとします。その表現したいものこそが実体なのですがそれは社会が健全に働いている場合、時間の経過と共に変化していきます。
この実体がより共感したり共有しやすい要素が多数を占めれば占めるほど存在感が強まり他と関係し、メリットだけでなくデメリットも産出しながらその実体は絶えず多数決の対象となり強弱していきます。衣・食・住や生活上の欲求により密着し、幸福感を感じやすいものであればあるほど存在感を強め価値が高まり、交換の対象となりえます。
価値の交換をより便利にするために情報システムが構築されソフトウェアの開発が必要とされデータベースの設計が必要となってくる具体例が過半数ではないしょうか。このデータベース設計の概念をより単純化し他との関連をとらえ、概念をより論理的・物理的にし現実的にビジネスに通用するための手法としてER図があるのです。
ER図とはERD または ER モデルとしても知られ、長方形、ひし形、楕円形などの一連の定義されたER図記号と接続線を用いて、概念レベルの実体、関連とその属性の間の相互関連性(濃度)を表したりするものです。ER 図は実体そのものの間の関連だけではなくそこから掘り下げた実体内のインスタンス(要素)の関連に重きを置いたデータ構造図 (DSD) との関連もあります。また、ER 図は工程やシステムの流れを描き出すデータフロー図 (DFD) とも関連しより具体化されながら用いられます。
*Chen記法ER図
*Crow'sFoot記法ER図
Part 2: ER図の基本知識
上図に表示されているER図が今回ご紹介するER図の完成形になります。まず記法が幾多もありますのでその記法の説明を導入とし、それに則った構成要素であるエンティティ(実体)・リレーション(関係)・アトリビュート(属性と濃度)・カーディナリ(多重性)についてご紹介いたします。
2.1 ER図の記法について
ER図の記法は数多くありますが具体例をいくつかご紹介いたします。第一に取り掛かる大枠を表現するのに有名な記法としてChen記法があげられますが、実用化に適しているIDEF1X(アイデフワンエックス)記法、Crow'sFoot記法はビジネスの場ではよく見受けられます。
2.2 要素について
エンティティ(実体)・リレーション(関係)・アトリビュート(属性と濃度)・カーディナリ(多重性)
Chen記法を元に要素を具体的にご紹介しましょう。「プロジェクト」にあたる長方形が一般的に実体とよばれるものです。「上期人事評価」にあたる集合実体がプロジェクトと実績を結ぶひし形で強い相互関係を表しかつ上期という特定の時点で定義されるためひし形が長方形で覆われています。二重長方形の「実績」にあたるのが弱実体といわれるものです。上図の例でいえば「上期人事評価」である集合実体が消えれば「実績」が消えるというような弱い実体を表します。ちなみにChen記法で実体との関係を表すリレーションは1対NorM(多)という記号を用います。
また、四角ではなく楕円で書かれているものは属性を表します。この例でいえばプロジェクトの具体例にあたります。この場合のABCをインスタンスという場合があります。
次にアトリビュートの濃度についてお話しようとする場合、概念レベルをよりビジネスライクに落とし込んだIE記法を用いたシステムの流れでの具体例でご説明いたしましょう。「3.ER図の基本要素」の初めに示した図がこの階層のレベルになります。
濃度について(親子関係・リレーションー実線と点線ー)
親子関係とは「受注テーブル」のようなエンティティに必ず紐づくデータが存在しなければならない関係のことです。子となる「受注明細エンティティ」の枠線を角丸で表現します。そして「受注テーブル」がなければ「受注明細テーブル」は存在することができません。これを依存の関係といいエンティティ間をつなぐリレーションを実線で表します。「受注テーブル」と「顧客テープル」の関係はどうでしょうか。「顧客テーブル」は「受注テーブル」がなくとも存在できますのでその関係を破線で表すことができます。
カーディナリ(多重性)について
次に実体同士の関係についての相互関係を表す基本的なカーディナリ(多重性)についてご紹介いたしましょう。基本のカーディナリを組み合わせて用いて使用します。
2.3 ER図を起源としたEER図
ER図を起源としデータベースのEER図があります。ER図はデータベースの全体的な設計を視覚的に示す一方、EER図はデータベース内の情報を詳細に構造化します。EER図はER図に以下のような要素を追加しています。これらは詳細かつ負荷をかけずに設計する時に有効な手段になります。
- アトリビュート(属性)やリレーション(関係)の継承
- サブクラスとスーパークラス
- 特殊化と汎化
継承とは異なるエンティティ間に同じ属性が認められることがよくあります。同じコードの繰り返し記述を防ぐための類似性を利用するメカニズムが継承です。継承とは「~である」や「~と同様である」という関係をモデリングするものでこれによって既存のデータやコードを簡単に再利用することができます。AがBを継承しているとき、AはBのサブクラスでありBはAのスーパークラスであるといいます。さらに、AがBのすべての属性およびメソッドを継承している場合には「純粋な継承」であるといいます。
汎化と特殊化は互いに反対の役割を果たします。汎化は下位レベルのエンティティを上位レベルのエンティティに結合します。一方、特殊化は上位レベルのエンティティを下位レベルに分割します。継承では、2つのエンティティが単一のエンティティとして扱われます。これらの要素を追加することでシステム内のデータの関係を効率的にまとめてグループ化できます。
Part 3: ER図作成するステップ
3.1 システムシナリオを作成しよう
今回はBtoB取引を行っている茶葉の卸企業を具体例にして社内システムにおいて顧客購入契約を結んでいる等級に基づき季節変動を考慮し、茶葉の品種を選定するシステムを構築し、ER図を作成してみます。
3.2 システムシナリオからエンティティを洗い出そう
Chen記法でインスタンスを洗い出しましょう。その後実務レベルで使用できるCrow’sFoot記法ER図に落とし込みます。
3.3 実体を「マスタデータ」と「トランザクションデータ」に分けよう
「マスタデータ」とは固定データ、「トランザクションデータ」とは流動的なデータのことです。「マスタデータ」は基礎となるデータのことで、キー情報に対して必ず一意の情報が取得できる情報を指します。「トランザクションデータ」のように履歴を追加することなくメンテナンスを行います。さらに、各実体の属性をわかりやいように定義しておきましょう。
3.4 カーディナリで相互関係を分析して決定しよう
カーディナリ(「一対一」、「一対多」、「多対多」など)相互関係を分析して決定します。
Part 4: ER図を作成するソフトEdrawMaxをお勧めします
今回はデータベース設計の作図技法としましてEdrawMaxでのER図の作図事例をご紹介してまいりました。
EdrawMaxではデータベース設計に欠かせないER図だけでなく、企画、製造、販売、アフターサービスというビジネスの一連の流れについて可視化させるためより詳細に280種類を超える図を簡単に作成することが可能なのです。
また、今回の例でもそうだったように、ある特定の記法に限らず多くの記法の選択の場を提供しそして、その中から自分にあった表現を用いて知ってもらいたい相手に、わかりやすく見せることができるのです。自分自身の中で確立しているビジネスモデルを専門分野でないから相手に伝えられず立ち止まっていることはありませんか。
EdrawMaxはテンプレートやオブジェクト豊富に揃えており視覚的にドロップアンドドラックで美しく正確にかつ、簡単に操作できるのです。そしてMS Office、Visio、PDFなど様々なファイル形式と互換性がありますので安心して普段のビジネスシーンに溶け込めるのです。まずは無料版のEdrawをダウンロード版しお使いになってみてください。
まとめ
今回は効果的なビジネスプロセスを構築するためのER図についてみてきました。データベース設計は昨今流行している「オブジェクト指向」が先行しソフトウェア開発のUMLクラス図との混同されがちですがデータベース設計には操作性はありません。いかにソフトウェア開発にいち早くかつ身軽に適応できるデータベースを設計できるかが重要になってくるのではないでしょうか。
Edraw Max -- All In One の作図ツール
- 豊富なテンプレートと図形
- 様々なファイル形式に対応
- フローチャート、マインドマップ、組織図などを作成
- Officeライクの操作感覚 初心者もすぐ使える