アソシエーション

アソシエーションは、2 つのビューの間の関係を表し、2 つのエンドポイントとマッピングリストで定義されます。各エンドポイントは、ビューと関連付けられ、「ロール名」、説明、および多重度が設定されます。マッピングリストは、2 つのビューのフィールド間の関係を定義し、アソシエーションをたどることができるようにします。マッピングは、一対の式で定義され、それぞれの式は、2 つのいずれかのビューのフィールドで構成した式になっています。

必要に応じて、アソシエーションを 参照制約 と指定して、 ロールの前提条件 を設定できます。参照制約として定義したアソシエーションは、リレーショナルデータベースのプライマリキーと外部キーの従来の制約と見なされます。

実行時には、ナビゲーションクエリ (SELECT_NAVIGATIONAL) または RESTful Web サービスを使用し、複数のアソシエーションにわたって移動できます。ナビゲーションクエリの詳細については、『VQL ガイド』の「 Navigational Queries 」を参照してください。

ビューどうしにアソシエーションを定義する必要がある理由

データベースから基本ビューを作成するときに、プライマリキーと外部キーの制約をデータベースから自動的にインポートするオプションを使用できます。このオプションは他のタイプのソースでは使用できません。それらのソースからは、この情報が提供されないか、標準的な方法では提供されないからです。

基本ビューまたは派生ビューの間にアソシエーションを定義することが推奨される理由は以下のとおりです。

  1. パフォーマンスの観点からは、実行速度が向上するクエリがあることが挙げられます。最適化の中には、適切なアソシエーションが定義されている場合にのみクエリオプティマイザーを適用できるものがあります。

  2. Virtual DataPort では、参照制約として指定したアソシエーションに関する情報が公開されます。ビジネスインテリジェンスツールを使用して Denodo にクエリを実行する場合、効率的なクエリ実行のために、この公開された情報が考慮されることがあります。

  3. メタデータの観点からは、優れたセマンティックモデルを定義するうえでアソシエーションが効果的であることが挙げられます。ビューの間で参照制約 (プライマリキーと外部キーの関係) を定義できるからです。

    外部ガバナンスツールを使用している場合、ビューのアソシエーションによって、モデルにより多くのセマンティックが得られます。

  4. データカタログ の観点からは、アソシエーションによって、関連するビューをビジネスユーザーが発見できることが挙げられます。以下に例を示します。

    • ビューにクエリを実行する際、そのアソシエーションをたどることができます。

    • ビューの [Relationships] ダイアログに、そのビューのアソシエーションが表示されます。

  5. 使いやすさの観点からは、RESTful Web サービスの HTML 表現を使用すると、アソシエーションで関連付けられている複数のビューを横断的に参照できることが挙げられます。