![](https://blogimg.goo.ne.jp/user_image/51/e2/56a738bd1b148555c39eb0999dc23926.png)
Xupperでエンティティ関連図を作成する場合、決まった手順で作成すると結構効率的にできたりします。
おおまかな操作手順としては、
①エンティティを登録する
・リソース系エンティティを上段に配置する。
・イベント系エンティティは下段に配置する。
②リレーションを定義する。
基本的に、矢印は上から下、左から右へ流れるようにエンティティを配置する。
③キーを定義する。
Xupperではリレーションを定義すると上位エンティティのキーが下位エンティティのキーとして自動的に継承されます。
従属リレーション、拡張リレーション、汎化リレーションは、下位エンティティのキー項目として継承され、参照リレーションの場合は、下位エンティティの属性項目として継承されます。
従って、リレーションを定義する前に各エンティティのキー項目を定義していた場合は、従属リレーションを定義すると自動的に上位エンティティのキーが下位エンティティのキーとして継承されるため、あらかじめ登録していたキーと重複してしまいます。(当初考えていたキー構造とは別のものになってしまいます。)
そこで、エンティティのキーを定義するのは、より上位のエンティティから定義するようにします。
どのエンティティがより上位のエンティティかを判定しやすくするためには、リレーションが上から下、左から右と規則的に定義されているとわかりやすくなります。
当然、上や左にあるエンティティの方がより上位のエンティティということになります。
リレーションを上から下、左から右へ定義するためには、まずはリソース系エンティティを上段に定義し、イベント系エンティティを下段に定義するようにします。
基本的に、イベント系エンティティはリソース系エンティティを参照することになるからです。(つまり、リソース系エンティティの方が上位エンティティとなります。)
次にイベント系エンティティの配置ですが、発生順に左から右に配置していきます。
なぜなら、先に発生したエンティティを後から発生したエンティティが参照するという関係になるからです。(つまり、先に発生(登録)されるエンティティの方が上位エンティティとなります。)
さらに、エンティティの配置やリレーションの定義方法をルール化することにより、図としてのエンティティ関連図が見やすくなる(誰が作ってもある程度同じ形になる)とういう利点もあります。
また、実際の機能でデータを作成するという順番も、エンティティ関連図上の上(左)の方のエンティティから作成し、下(右)の方のエンティティをその次に作成していくという流れになるはずです。
※コメント投稿者のブログIDはブログ作成者のみに通知されます