このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

ローカルリレーションは、基になるデータベースを変更することなく MapForce 内で作成することのできるデータベースフィールド間のロジカルなリレーションシップです。ローカルリレーションシップの定義を参照してください。ローカルリレーションをデータベースフィールドのためだけではなく、ストアドプロシージャのためにソースとターゲットコンポーネント内で定義することができます。

 

ソースコンポーネント内で、 ローカルリレーションにより関連したオブジェクトからデータを簡単に読み取れることができます。例えば、 データベーステーブルから ID を読み取り、関連した情報を取得するために、 ID のそれぞれからストアドプロシージャを呼び出します。

 

ターゲットコンポーネント内で、 ローカルリレーションにより複数の関連したプロシージャが呼び出される階層の順序を定義することができます。例えば、  ID 値を作成するストアドプロシージャを最初に呼び出すことができ、テーブルに関連した情報を入力するものを呼び出すことができます。また、ストアドプロシージャと ローカルリレーション内のテーブルをミックスすることもできます。 例えば、他のプロシージャの呼び出しの代わりに直接関したテーブルに挿入することもできます。キーを生成するためにストアドプロシージャを使用する方法を参照してください。

 

 

ローカルリレーションの作成方法:

1.データベースコンポーネントのタイトルバーを右クリックし、 「データベースオブジェクトを追加/削除/編集」 をコンテキストメニューから選択します。 「データベースオブジェクトを追加/削除/編集」ダイアログボックスが開かれます。

2.「リレーションの追加/編集」をクリックします。

3.「リレーションの追加」 をクリックして、リレーションシップを作成するオブジェクトを選択します。

mf_sp_19

上記のとおり、「主/一意のキー」 オブジェクトと 外部キー オブジェクトによりローカルリレーションは構成されています。親-子 リレーションシップと同様と考えて下さい。 マッピングコンポーネント上では、主/一意のキーがある (テーブル、ビュー、プロシージャ、などの)オブジェクトは親として示され、外部キーのあるオブジェクトは下にネストされ表示されます。 例えば、 下記のデータベースコンポーネント内では、ローカルリレーションはレコード列 (RS1.Department) とテーブル列 (Department.Name) との間で定義されています。この結果、Department テーブルはマッピング上のストアドプロシージャの子として表示されます。 このサンプルの詳細は、ソースコンポーネント内のローカルリレーションで詳しく説明されています。

mf_sp_23

次のテーブルはローカルリレーションを定義することのできるすべての可能なフィールドをリストしています (例えば、ストアドプロシージャの出力をデータベース列にマッピングするなど)。リレーションシップ内の一部のフィールドは、同じ、または互換性のあるデータ型を持つ必要があります。

 

主/ユニーク キー

外部キー

データベーステーブル、またはビューの列

ストアドプロシージャの出力パラメーターまたは戻り値。ストアドプロシージャを参照してください。

ストアドプロシージャにより返されたレコードセットの列*

ユーザー定義 SELECT ステートメントの列。 仮想テーブルとしての SQL SELECT ステートメント を参照してください。

データベーステーブル、またはビューの列

ストアドプロシージャの入力パラメーター

ユーザー定義 SELECT ステートメントの入力パラメーター

 

* (パラメータを持たない) データソースまたは、 (入力と出力パラメーターを持つ)関数としてストアドプロシージャが呼び出された場合適用することができます。セクションのためにレコードセットが使用できるようになるには、レコードセットを取得するためにストアドプロシージャを一度実行する必要があります。

(C) 2019 Altova GmbH