ビューのアソシエーション¶
顧客に関するビューと注文に関するビューがあるとします。これらは相互に関連していると見なすことができます。1 件の注文は 1 人の顧客のみに関連しますが、1 人の顧客は 0 件、1 件、あるいは複数の注文に関連する可能性があります。この種のリレーションシップは、Virtual DataPort では アソシエーション を使用して表されます。
アソシエーションは、2 つのビュー間のリレーションシップを確立します。具体的には、アソシエーションは 1 対のエンドポイントとして定義され、各エンドポイントは次の要素で構成されます。
ビュー 。
このエンドポイントから見た相手側エンティティが果たす ロール 。
多重度 。つまり、リレーションシップに含まれるビューのメンバー数。
また、アソシエーションの一方のエンドポイントを プリンシパル として、他方を 依存側 としてマークできます。これは、一方のエンティティには、他方のエンティティの存在が必要になる場合があるからです。先ほどの例では、注文は顧客がいる場合にのみ存在するのであって、その逆はありません。
したがって、顧客と注文のリレーションシップは、以下のエンドポイントを使用して表すことができます。
プリンシパルエンドポイント
ビュー:
customer
ロール:
my_orders
多重度:
1
依存側エンドポイント
ビュー:
order
ロール:
purchaser
多重度:
0,*
参考
アソシエーションの詳細については、『 Virtual DataPort 管理ガイド 』を参照してください。
すでに説明したように、ビュー間のアソシエーションは、ビューに対する クエリ の作成や実行の際に役立ちます。リレーションシップをたどって、現在のビューのタプルだけでなく、その関連するビューのタプルも取得できるからです。また、新しいビューの検出にも役立ちます。熟知しているビューから始め、それに関連するビューのうち、興味を引きそうなものを見つけることができます。
[リレーションシップ] タブには、現在のビューに関連するすべてのビューを確認できるグラフが表示されます。グラフは拡大表示、縮小表示、画像としてのエクスポートが可能です。

employee ビューのリレーションシップグラフは、このビューが retailer_order と branch という 2 つのビューに関連していることを示しています。¶
ビューはグラフ内でノードとして表示されます。現在のビューのノードは常にオレンジ色で強調表示されます。関連するビューが異なるデータベースに属している場合は、その名前がオレンジ色で表示されます。ノードの アイコンの上にマウスを移動すると、そのビューに関する情報がヒントとして表示されます。さらに詳細情報を参照するには、ヒントの
アイコンをクリックします。

employee ビューに関する情報が表示されたリレーションシップグラフ¶
グラフには、最初は現在のビューのリレーションシップのみが表示されますが、 アイコンの付いたノードをクリックしてグラフを展開すると、その関連するビューを表示できます。関連するビューの詳細を表示するには、そのビューの名前をクリックします。
ボタンをクリックすると、
アイコンを含むすべてのビューのリレーションシップを検出して展開することができます。また、
ボタンを使用すると、未検出のビューがなくなるまでアソシエーションを繰り返し検出できます。

retailer_order ビューのリレーションシップを展開した後の employee ビューのリレーションシップグラフ¶
グラフ内の矢印は、その矢印が接続している 2 つのビュー間のリレーションシップを表しています。矢印の始点がプリンシパルエンドポイントで、終点が依存側エンドポイントです。マウスを矢印の上に移動すると、各エンドポイントのロールと多重度に関する情報がヒントとして表示されます。各エンドポイントに関する詳細情報を参照するには、 アイコンをクリックします。アソシエーションに関する詳細情報を参照するには、
アイコンをクリックします。

employee と retailer_order 間のアソシエーションに関する情報が表示されたリレーションシップグラフ¶