ビューのアソシエーション

顧客に関するビューと注文に関するビューがあるとします。これらは相互に関連していると見なすことができます。1 件の注文は 1 人の顧客のみに関連しますが、1 人の顧客は 0 件、1 件、あるいは複数の注文に関連する可能性があります。この種のリレーションシップは、Virtual DataPort では アソシエーション を使用して表されます。

アソシエーションは、2 つのビュー間のリレーションシップを確立します。具体的には、アソシエーションは 1 対のエンドポイントとして定義され、各エンドポイントは次の要素で構成されます。

  • ビュー

  • このエンドポイントから見た相手側エンティティが果たす ロール

  • 多重度 。つまり、リレーションシップに含まれるビューのメンバー数。

また、アソシエーションの一方のエンドポイントを プリンシパル として、他方を 依存側 としてマークできます。これは、一方のエンティティには、他方のエンティティの存在が必要になる場合があるからです。先ほどの例では、注文は顧客がいる場合にのみ存在するのであって、その逆はありません。

したがって、顧客と注文のリレーションシップは、以下のエンドポイントを使用して表すことができます。

  1. プリンシパルエンドポイント

    • ビュー: customer

    • ロール: my_orders

    • 多重度: 1

  2. 依存側エンドポイント

    • ビュー: order

    • ロール: purchaser

    • 多重度: 0,*

参考

アソシエーションの詳細については、『 Virtual DataPort 管理ガイド 』を参照してください。

すでに説明したように、ビュー間のアソシエーションは、ビューに対する クエリ の作成や実行の際に役立ちます。リレーションシップをたどって、現在のビューのタプルだけでなく、その関連するビューのタプルも取得できるからです。また、新しいビューの検出にも役立ちます。熟知しているビューから始め、それに関連するビューのうち、興味を引きそうなものを見つけることができます。

[リレーションシップ] タブには、現在のビューに関連するすべてのビューを確認できるグラフが表示されます。グラフは拡大表示、縮小表示、画像としてのエクスポートが可能です。

Graph with the current view and the views related to it.

employee ビューのリレーションシップグラフは、このビューが retailer_order と branch という 2 つのビューに関連していることを示しています。

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

Relationships graph with information for one view in a tooltip.

employee ビューに関する情報が表示されたリレーションシップグラフ

グラフには、最初は現在のビューのリレーションシップのみが表示されますが、 plus アイコンの付いたノードをクリックしてグラフを展開すると、その関連するビューを表示できます。

Relationships graph after expanding the relationships of a view

retailer_order ビューのリレーションシップを展開した後の employee ビューのリレーションシップグラフ

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

Relationships graph with information for one association in a tooltip.

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