物理外部キーと結合の操作
物理図または結合マネージャを使用して物理外部キーおよび複合結合を作成できます。
ただし、マルチディメンション・データ・ソースに結合を作成することはありません。
このセクションには次のトピックが含まれます:
物理結合について
物理スキーマにキーをインポートすると、主キーと外部キーの結合が自動的に定義されます。
各データ・ソース内またはデータ・ソース間のその他の結合は、物理レイヤーで表間の関係を表現するように明示的に定義する必要があります。
インポートされたキーと外部キーの結合をメタデータで使用する必要はありません。参照整合性制約を施行するよう定義されている結合の結果、問合せで正しくない結合が指定されることがあります。たとえば、1つの多目的参照表と複数のその他の表との結合によって、SQL問合せで不要なまたは無効な循環結合がOracle BIサーバーから発行されることになる場合があります。
このセクションには次のトピックが含まれます:
主キーと外部キーの関係について
主キーと外部キーの関係によって、2つの表の1対多関係が定義されます。
外部キーは、別の表内の主キー列を参照する、ある表内の1つまたは一連の列です。主キーは、一意の各値が表の単一行を識別する1つまたは一連の列として定義されます。
同じ表を指す外部キー列が1つの表に複数存在するのは、次の2つの場合です。
-
外部表の主キーが連結されている場合、つまり一連の列で構成されている場合。これは、偶然複数の列を使用するようになった2つの表間の単一結合です。
-
外部表が複数のロールで機能する必要があるので、外部表に別名を作成した場合。外部キーそれぞれが、ロールを担っている別名で主キーに結合します。物理別名表についてを参照してください。
主キーと外部キーは物理図で指定するか、「物理表」ダイアログの「キー」タブと「外部キー」タブを使用して指定できます。物理図を使用した物理結合の定義およびリレーショナル表およびキューブ表の列とキーの作成と管理を参照してください。
複合結合について
リポジトリの物理レイヤーでは、複合結合は、非外部キー列と主キー列の結合です。つまり、物理複合結合は、キー列の関係ではなく式を使用する結合です。
物理レイヤーで複合結合を作成する場合、結合に式を指定します。
ほとんどのデータ・ソースについて、パフォーマンスのためには外部キー結合をお薦めします。複合結合は通常、結合の形成にキー列関係が使用されないため、それほどパフォーマンスが高くありません。例外がADFデータ・ソースで、ここでは、ADFモデルでビュー・オブジェクトのペアを接続するViewLinkインスタンスを指定するためにのみ物理複合結合が使用されます。
マルチデータベース結合について
マルチデータベース結合は、別のメタデータ・データベース・オブジェクトの下の表に結合する、あるメタデータ・データベース・オブジェクトの下の表として定義されます。
別のデータベースからデータを結合するにはマルチデータベース結合を指定する必要があります。物理図を使用してマルチデータベース結合を指定します。物理図を使用した物理結合の定義を参照してください。
ほとんどのタイプのデータベースで表間にマルチデータベース結合を作成できます。Oracle OLAPデータ・ソースの表にマルチデータベース結合を作成することはできません。
Oracle BIサーバーには、マルチデータベース結合のパフォーマンス最適化のための戦略がいくつかありますが、これらの結合は同じデータベース内の表間の結合よりはるかに非効率です。パフォーマンスに悪影響があるため、マルチデータベース結合は極力使用しないでください。
断片化されたデータについて
断片化されたデータとは、複数の表に分割されている単一ドメインからのデータです。
たとえば、データ・ソースで、姓の頭文字がA - Mの顧客の売上データを1つの表に保存し、N - Zの顧客の売上データを別の表に保存する場合があります。断片化された表を使用する場合、各断片とそれに関連するすべての表との間のすべての結合条件を定義する必要があります。この図は、断片化された売上表と、データが同じように断片化されている(A - MとN - Z)断片化された顧客表との物理結合を示しています。
断片化されたファクト表と断片化されたディメンション表があり、断片が複数の値にわたっていることがあります。断片化された表への結合を作成し、顧客A - Fおよび顧客G - Zから売上A - Mへの例で示すとおり、1対多の結合を定義する必要があります。
ノート:
必要でない場合は結合条件を追加しないようにします(たとえば、売上A - Mと顧客N - Z)。必要以上の結合条件が、パフォーマンスの低下をまねくおそれがあります。
物理図を使用した物理結合の定義
表が同一のデータ・ソースにあるかどうかにかかわらず、表間に外部キーと複合結合を定義できます。
結合の作成に物理図を使用する場合、選択したオブジェクト・タイプと結合式に基づいて、作成する結合のタイプが管理ツールによって決定されます。
物理図で、結合は、選択した2つの表の間の線で表され、結合の「1」側が矢印になっています。この図は、物理図での結合を示しています。
物理外部キー結合は、デフォルトの結合タイプです。結合を定義して「OK」をクリックすると、オブジェクト・タイプが複合結合に変更される場合があります。
作成する結合のタイプを管理ツールで自動的に決定されないようにするには、結合マネージャを使用して、結合を明示的に作成します。結合マネージャを使用した物理結合の定義を参照してください。
SQL文でのヒントの使用および駆動表の指定を参照してください。駆動表オプションは選択できません。Oracle BIサーバーでは、ビジネス・モデルとマッピング・レイヤーにのみ駆動表が実装されるためです。