アソシエーションの作成

アソシエーションを作成する方法には次の 2 つがあります。

  1. JDBC の基本ビューでは自動的に作成できます (「 JDBC の基本ビューでのアソシエーションの自動作成 」を参照)。

  2. 手動で作成します

JDBC の基本ビューでのアソシエーションの自動作成

管理ツールでは、 同じデータソース から作成した JDBC の基本ビュー 間にアソシエーションを自動的に作成できます。自動作成したアソシエーションには、ソースデータベースのテーブルやビューの外部キー制約が反映されます。

以下の手順に従います。

  1. 作成するアソシエーションに追加する JDBC 基本ビューをすべて選択し、そのいずれかを右クリックして [Discover associations] をクリックします。複数のビューを選択するには、Ctrl キーを押しながら各ビューをクリックします。また、選択範囲の最初のビューを選択してから、Shift キーを押しながら選択範囲の最後のビューをクリックする方法もあります。

  2. 以下のようなダイアログが開いて、作成されるアソシエーションが表示されます。このダイアログで、以下の操作が可能です。

    • 新しいアソシエーションの名前を変更する。

    • 作成する必要がないアソシエーションがある場合、その名前の横にあるチェックボックスのチェックをはずす。

  3. [Ok] をクリックするとアソシエーションが作成されます。

Discover associations dialog

アソシエーションを検出するダイアログ

JDBC の基本ビュー 1 つのアソシエーションを検出することもできます。そのビューを開いて [Associations] をクリックするとパネルが開き、そのビューのアソシエーションが表示されます。このパネルで [Discover] をクリックします。


このダイアログには、新しいアソシエーションのリストが表示されます。これらのアソシエーションは、基本ビューを作成した時点でデータベースのテーブルまたはビューに設定されていた外部キー制約に基づいています。基本ビューの VQL では、基本ビューの CREATE WRAPPER JDBC ステートメントの各 REFERENCES パラメーターが、これらの外部キー制約の 1 つを表します。基本ビューの作成後に、データベースのテーブルまたはビューの外部キーが変更された場合は、基本ビューの ソース更新 を実行して、この情報を更新します。

派生ビューまたは JDBC 以外の基本ビューが関連するアソシエーションを作成する手順については、「 手動によるアソシエーションの作成 」の手順を参照してください。

手動によるアソシエーションの作成

新しいアソシエーションを作成するには、[File] > [New] メニューで [Association] をクリックするか、[Server Explorer] で右クリックして [New] メニューで [Association] をクリックします。

[View association] ダイアログが開き、[Server Explorer] で現在選択しているビューが追加されます。アソシエーションのもう一方のビューを追加するには、[Model] タブをクリックして、追加するビューを [Server Explorer] からこのダイアログにドラッグします。

[View association] ダイアログには、以下の 3 つのタブがあります。

  1. Model (「 Creating a new association (“Model” tab) 」を参照): このタブで、アソシエーションを構成する 2 つのビューをドラッグして、ビューのフィールド間でマッピングを確立する必要があります。それらのビューは、それぞれ別々のデータベースに属していてもかまいません。

    一方のビューのフィールドを他方のビューのフィールドにリンクするには、フィールドの 1 つを他方のビューにドラッグします。これらのフィールドどうしを結ぶ線が表示されます。多数のフィールドが存在するビューでは、ビューを右クリックして [Find] をクリックすると、目的のフィールドを検索できます。

    2 つのフィールドを関連付けるには、それらが同じ型であるか、互いに互換性がある型であることが必要です。たとえば、 float 型フィールドは double 型フィールドと関連付けることができ、 int 型フィールドは long 型フィールドと関連付けることができます。

    和結合からビューを削除する場合は image0 (ビューの右上) をクリックします。

    各ビューの左上のラベルは、アソシエーションのそのビューの側でのカーディナリティを示します。デフォルトでは「(*)」が表示されています。

  2. Output (「 Creating a new association (“Output” tab) 」を参照): このタブでは、以下の操作が可能です。

    1. アソシエーションの名前を変更する。

    2. [Referential constraint] チェックボックスをチェックする、またはそのチェックをはずす。チェックしている場合、このアソシエーションが外部キー制約を表すことを示します。このチェックボックスをチェックしたことによる効果の詳細については、「 アソシエーションの参照整合性 」を参照してください。

    注釈

    参照制約として指定したアソシエーションのみが、JDBC ドライバーと ODBC ドライバーによって外部キーとして報告されます。

    注釈

    Virtual DataPort ではデータの参照整合性が適用されません。参照整合性は、ソース側で確保しておく必要があります。

    1. アソシエーションは 2 つのビューをリンクし、各ビューはアソシエーションの一方のエンドポイントになります。エンドポイントごとに、以下の手順に従います。

      1. ビューの名前の横にあるリストで、アソシエーションのこのビューの側の多重度を選択します。アソシエーションの多重度の詳細については「 アソシエーションの多重度 」を参照してください。

      2. [Referential constraint] をチェックしている場合、アソシエーションのこのビューの側が外部キーの制約を表しているのであれば、次のボックスで [Dependent] を選択し、表していないのであれば [Principal] を選択します。

      3. エンドポイントのロール名を入力し、必要に応じてその説明を入力します。

      4. 必要に応じて [Role precondition] を設定します。この設定をエンドポイントにできるのは、他方のエンドポイントの多重度が [0..1] または [*] の場合のみです。詳細については、「 ロールの前提条件 」を参照してください。

    2. [Model] タブで定義できるマッピングは、「field X = field Y」のようなもののみですが、このタブでは、より複雑なマッピングを定義できます。そのためには、 image1 をクリックして新しいマッピングを追加します。マッピングの条件を指定するためのダイアログが表示されます。条件の各辺で参照できるのは、一方のビューのフィールドのみです。

      既存のマッピングを編集するには、そのマッピングをクリックします。

  3. Metadata: 新しいアソシエーションの格納先フォルダーと説明を定義できます。

重要

デフォルトでは、[Server Explorer] にアソシエーションのリストは表示されません。リストを表示するには、[Search] バー (ツールの左上) の矢印をクリックして [Associations] を選択します。

Creating a new association (“Model” tab)

新しいアソシエーションの作成 ([Model] タブ)

Creating a new association (“Output” tab)

新しいアソシエーションの作成 ([Output] タブ)