岩田研究所 - トップページ
 HOME岩田研究所 > データモデルパターン > 企業とその世界
Data Model Patterns
企業とその世界
 


時間をかけずにシステムを分析するには、自明のものをエンティティとしてあらかじめ登場させるという方法があります。エンタープライズ向けアプリケーションを対象にすると、"企業に必須なエンティティ"とは何でしょうか。ここでは、そのことに触れつつ、パターンを紹介していきます。

各画像をクリックすると、別ウインドウが開いて拡大画像が表示され、モデルをダウンロードできます。

 

 
パーティーパターン
 
AAA
Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
「企業とは何か」と考えてみると、究極的にそれは人の営みであると考えられます。ですからそこには必ず「人」が存在します。また、その人の集合体である「組織」も必ず存在します。ここでは、そういったものをまとめて「パーティー」と呼びます。パーティーとは、他のパーティーと契約関係を結ぶことのできる集合を指します。抽象的なエンティティである「パーティー」を設定することで、属性の共有化ができます。また、新たなエンティティを簡単に追加することもできます。

雇用関係パターン(関連)
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

次に、「人」と「組織」の雇用関係について見ていきましょう。
よくやってしまうのが、「人」エンティティのサブタイプとして「従業員」エンティティを作成してしまうことです。しかし、このようにすると、"以前は従業員だった人が、現在は顧客である"といった場合にうまく適応できません。これに対応しようとすると、サブタイプをいくつも増やしてしまうことになってしまいます。そういった状況を避けるには、そういった雇用情報を扱うエンティティを作成します(参照:次パターン)。

雇用関係パターン(雇用エンティティ)
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

「雇用」エンティティを作成してみました。このようにすると、ひとりの「人」が時間を経る度に、いくつもの「雇用」を持つことができるようになります。「雇用」エンティティの中に、雇用にまつわる情報を設置することもでき、先ほどの関連による雇用よりもより柔軟なモデルと言えるでしょう。ただし、同時期に複数の企業と雇用関係を結んではならない、といった制約はここには含まれていません。そういった制約は別途、モデルに注釈を入れるなどして対応する必要があります。

地位任命パターン
 
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

組織と人との関係は、他にもあります。よくあるのが「地位」にまつわる問題です。地位というものは不変ですが、人がその地位についている状態は時間によって変化します。ですから、「地位」を組織に所属するひとつのエンティティとし、地位と人との関連については「地位任命」という新しいエンティティを追加し、そこに両者の関連情報を保持させます。

雇用+地位任命パターン
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

雇用パターンと地位任命パターンを組み合わせたパターンです。「地位任命」エンティティと「雇用」エンティティが関連で結ばれることになります。ただし、このモデルでは、雇用関係を会社と結んでいるが、地位任命は部門によって行われる可能性もあります。そのときは、組織の粒度が異なってくるので、注意する必要があります。

組織パターン
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

組織構造は企業によって異なりますが、一般的に「外部組織」と「内部内部」に分けることが出来ます。組織構造が複雑な場合には、階層がさらに深くなることもあります。ただし、何をもって外部とするかは組織によって異なりますので、ヒアリングなどを行って、適切なモデルかどうかを調べる必要があります。

住所パターン
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

前述の「パーティー」に住所情報を持たせたい場合、まず思いつくのがエンティティの属性に情報を追加するやり方です。しかしこれでは、ひとつのエンティティが複数の住所情報をもつことが出来ません。そこで、住所情報を扱う「住所」エンティティを追加します。

配置パターン
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

地理的な場所ではなく、"東京オフィス"のような「場」を表す場合、雇用パターンに似たモデルが使用できます。この場合、「パーティー」と「場」の間に「配置」エンティティと設けます。

階層組織パターン
 
  Describeモデル ER/Studioモデル AllFusion ERwin Data Modeler
モデル
 

組織と組織は階層的につながることが多くあります。また同時に、自社だけは特別に扱いたいという要望もあります。これはパーティーパターンを用いて、組織の階層を表したパターンです。

 
Copyrightc2004 J-SYS Software Co., Ltd. All Rights Reserved.