エンティティの分割

この機能によって、1 つのエンティティを 2 つのエンティティに分割できます。モデル内で複数の機能を実行するエンティティがそのモデルに含まれる場合、1 つの機能に対して 1 つのエンティティを作成し、別の機能に対して 2 つ目のエンティティを作成できます。「Write to Hub」の組織図の例を用いて、従業員 ID 3 の Jim Waterman のエンティティから 2 つのエンティティを作成するものとします。Jim は、Marcus David (従業員 ID 12) にとっては管理者ですが、Tom Smith (従業員 ID 1) にとっては従業員でもあります。したがって、このモデルには管理者エンティティが 1 つと従業員エンティティが 1 つ必要になります。

1 つのエンティティを 2 つに分割するだけでなく、それぞれのエンティティにどのプロパティと関連性を結び付けるか、つまり、全部か、一部か、あるいは何も結び付けないかを決定することもできます。また、プロパティと関連性を両方のエンティティに結び付けることもできます。プロパティと関連性は、どちらか一方のエンティティに結び付けなければならないというものではありません。

  1. 既存のモデルを開いた状態で、分割したいエンティティをクリックします。
  2. [編集中] リボンの [分割] ボタンをクリックするか、右クリックして [エンティティの分割] を選択します。[エンティティの分割] ダイアログ ボックスが表示されます。元のエンティティが中央に、新しいエンティティ 1 が左側に、新しいエンティティ 2 が右側にあります。デフォルトでは、3 つのエンティティすべてに対して、すべてのプロパティと関連性が表示されます。
  3. 新しいエンティティのラベルを変更したい場合は、[ラベル] フィールドに新しい名前を入力します。この例では、ラベルは "3" のままにします。従業員 ID を使うと、モデル内の他のエンティティと整合性がとれるからです。
  4. 新しいエンティティのタイプを変更したい場合は、[タイプ] フィールドを使用します。この例では、新しいエンティティ 1 のタイプは "Employee" のままにしますが、新しいエンティティ 2 のタイプは "Manager" に変更します。
    注: ラベルとタイプの組み合わせはエンティティごとに一意でなければなりません。この例では、タイプが異なるため、"3" というラベルのエンティティを 2 つ持つことができます。ラベルが "3" でタイプが "Employee" のエンティティを 2 つ持つことはできません。
  5. プロパティをクリックし、[プロパティ] フィールドでエンティティ間にある青い矢印を使用して、各エンティティに結び付けるプロパティを決定します。この例では、どちらの新しいエンティティも "name" プロパティと "title" プロパティを保持します。この情報は、従業員としても管理者としても有益だからです。
  6. 関連性をクリックし、[関連性] フィールドでエンティティ間にある青い矢印を使用して、各エンティティに結び付ける関連性を決定します。この例では、新しいエンティティ 1 に対して出力方向の "Reports_To" 関連性を保持します。これは、従業員としての Jim と管理者である Tom の間の関連性を表します。新しいエンティティ 2 に対しては、入力方向の "Reports_To" 関連性を保持します。これは、管理者としての Jim と従業員である Marcus の間の関連性を表します。

この例で入力が完了した [エンティティの分割] ダイアログ ボックスは、次のようになります。

この例のモデルが更新され、2 つの新しいエンティティが表示されました。新しいエンティティ 1 は Tom Smith の従業員として表示され、新しいエンティティ 2 は Marcus David の管理者として表示されます。