設計演算子の追加

設計演算子は、データ モデルの作成を正式にサポートします。設計演算子を使用することによって、データ構造が体系的に作成され、既存のデータ構造を設計プロセスの視点から見ることができます。設計演算子を活用すると、既存の用語に基づいて新しい用語が開発されます。このプロセスは、ビジネス管理の知識レベルで実行される知的な手順です。データ構造の観点からビジネス管理の事実を調査することによって、既知の構造が新しい手法に従って変更されたり、まったく新しい結論が導かれます。

ERM モデリングの手法を拡張するためのさまざまなアプローチの中では、次の 4 つの設計演算子が広く使用されています (Scheer 著『Business Process Engineering』(1994 年)、35 ページ以降を参照)。

分類

分類によって、同じタイプのオブジェクト (エンティティ) が識別され、1 つの用語 (エンティティ タイプ) に割り当てられます。2 つのオブジェクトを記述するために同一のプロパティ (属性) が使用されている場合、その 2 つのオブジェクトは同一です。

分類は、以前に記述されたエンティティ タイプを識別します。

「顧客 (CUSTOMER)」の分類

汎化/特化

汎化は、類似のオブジェクト タイプを 1 つの上位オブジェクト タイプの元にまとめることを意味します。

次の図に示すように、[顧客] エンティティ タイプと、[納入業者] エンティティ タイプは、上位概念 [取引先] の下に汎化されます。両方のソース オブジェクトに共通の性質 (属性によって説明される) は、汎化されたオブジェクト タイプに移行されます。これにより、ソースのオブジェクト タイプで異なっている属性だけが残ります。これを記述します。新しいエンティティ タイプ [取引先] の構造は、[である] 関係とも呼ばれる三角形で図示されます。

特化とは、一般的な概念を下位概念に分割することです ([取引先] は [顧客] と [納入業者] に分割されます)。

特化は汎化の逆です。特化されたオブジェクトは、汎化されたオブジェクトの性質を継承します。継承されたこれらの属性のほかに、特化されたオブジェクト タイプは固有の属性を持ちます。特化も汎化も図では同じ表現をします。

このため、図中の接続線には方向を表す矢印を描きません。

汎化/特化

特化は、主にトップダウンの方法でデータ モデルを作成する場合に使用されます。一方、汎化はボトムアップの方法で使われます。

特化の範囲内では、サブセットを作成する際に、その完全性と分離 (代理) を定義できます。

分離されないサブセットは、オブジェクトのオカレンスが複数のサブセットに存在することができるという特徴があります。上の例では、顧客が同時に納入業者である可能性もあります。エンティティが 1 つのサブセットにしか割り当てられない場合は、これらの集合は分離されています。

1 つの汎化オブジェクト タイプについて、ある特化基準で特化できるすべての特化オブジェクト タイプが列挙されている場合、それを完全な特化と呼びます。たとえば、[人間] エンティティ タイプを特化すると、[女性] および [男性] エンティティ タイプを挙げることができます。これは、性別という基準における完全な特化です。

完全な特化

これらの基準を組み合わせることによって、汎化/特化は次の 4 種類に分類できます。

集約

集約とは、既存のオブジェクト タイプを組み合わせて新しいオブジェクト タイプを構成することです。新しいオブジェクト タイプには、新しい性質を追加することができます。

ERM では、集約は関係タイプの構成によって表します (次の図を参照)。エンティティ タイプ [製造指図] と [作業手順] を集約することによって、新しいオブジェクト タイプ [指図作業手順] が作成されます。

集約の例

集約演算子は、関係にも適用できます。既存の関係タイプを 1 つのエンティティ タイプとして扱うと、それが新しい関係を作成する際の起点になります。次の図に、これを表す例を示します。

最初の集約によって、エンティティ タイプ [製造指図] と [作業手順] の間の関係タイプ [指図作業手順] が構成されました。キー属性である [製造指図番号] (PONO) と [作業手順番号] (RNO) は、[指図作業手順] の複合キーになります。つまり、指図作業手順には、複数の操作が割り当てられることになります。このため、[注文処理] 関係が [指図作業手順] 関係タイプと [処理] エンティティ タイプの間に形成されます。関係はエンティティ タイプ間にしか作成できないので、元の関係タイプ [指図作業手順] を再統合する必要があります。次の図では、菱形を長方形で囲むことによってこれを表しています。この再統合された関係タイプは [通常] のエンティティ タイプとして扱います。関係タイプの構成を図で示すため、構成に含まれるエンティティ タイプから菱形まで接続線を描きます。新しい関係を形成する、再統合された関係タイプからの接続線は、菱形を囲む長方形の端で止まり、シンボル内部の菱形には達しません。

一般的なルールとして、複合キーを単純なキーで置き換えることは可能ですが、データ モデルの作成プロセスが追跡できるようになるため、複合キーを保持すると便利です。

再統合された関係タイプとの集約

ERM では、複合的な構造コンテキストをわかりやすい構造に分割します。構造全体への関係はあいまいになることがあるため、クラスター/データ モデル形式の複合オブジェクトを導入します。

クラスター/データ モデルは、複合オブジェクトの記述に必要な、データ モデル内の複数のエンティティ タイプと関係タイプに関する論理ビューです。

エンティティ タイプや関係タイプのほかに、クラスター/データ モデルは、別のクラスター/データ モデルに含めることができます。エンティティ タイプおよび関係タイプと異なり、クラスター/データ モデルは階層の中に自由に配置できます。したがって、データ モデルの作成プロセスには、主にトップダウンの方法が採用されます。しかしながら、ボトムアップの方法で、サブモデルを組み合わせたり統合する場合にも、クラスター/データ モデルを構成することは非常に役立つことがあります。

次の図にクラスター/データ モデルを示します。

クラスター/データ モデル

複数のオブジェクトのクラスター/データ モデル ビュー

クラスター/データ モデルは、複数のエンティティ タイプおよび関係タイプを表す論理的なビューです。複合オブジェクトである [受注] を記述するためには、エンティティ タイプ [顧客]、[時間]、[受注ヘッダー]、[品目]、[受注明細] および関係タイプが必要です。

グループ化

グループ化とは、1 つのエンティティ集合の要素からグループを構成することです。

次の図の例では、すべての [機器]をまとめて [機器グループ]を形成しています。[機器グループ] は独立オブジェクトで、個々の [機器] には含まれていない属性 ([機器グループ] としての名前、[機器] の構成要素数) を追加するとさらに詳しく記述できます。その他の例としては、ワークステーションの部門へのグループ化や、注文明細項目の注文へのグループ化などがあります。

グループ化