この章では、Oracle Data Integratorの共通フォーマット・デザイナ機能を使用して、データ・モデルを他のモデルの要素を集約して作成する方法について説明します。モデルの実装をデータ・サーバーに作成したり、それを更新するためのDDLスクリプトの生成方法、およびモデルとの間でデータをロードするインタフェースを自動的に生成する方法についても詳細に説明します。
この章では、次の項目について説明します。
共通フォーマット・デザイナ(CFD)を使用すると、Oracle Data Integratorでデータ・モデルを迅速に設計できます。データ・モデルは、完全な新規モデルとして設計することも、他のデータ・モデルの要素を使用して構築することもできます。CFDでは、このモデルをデータ・サーバーに実装するためのデータ定義言語(DDL)スクリプトを自動生成できます。
たとえば、共通フォーマット・デザイナを使用して、異機種ソースを集約し、業務用のデータストア、データマートまたはマスター・データの基準となる形式を作成できます。
CFDを使用すると、ユーザーは、既存のモデルを変更して、Oracle Data Integratorで記述されているデータ・モデルとデータ・サーバーの実装の間に存在する差異を同期するためのDDLスクリプトを自動的に生成できます。
ダイアグラムは、サブモデル(またはデータ・モデル)に格納されたデータストアのサブセットのグラフィカル・ビューです。データ・モデルには、関連する複数のダイアグラムを含めることができます。
ダイアグラムは次のように構築します:
モデルおよびサブモデルからデータストアを集約します。
空のデータストアを作成し、その中に新規列を作成するか、他のデータストアから列を集約します。
他のモデルまたはサブモデルからダイアグラムにデータストアと列を集約すると、Oracle Data Integratorによって、ダイアグラムに追加されたデータストアまたは列の元のデータが追跡されます。元のデータストアおよび列に対する参照によって、Oracle Data Integratorでは、集約されたデータストアに対する統合インタフェースを自動的に生成できます(インタフェースIN)。
自動インタフェース生成は、他のモデルのデータストアおよび列から作成されていないデータストアと列をロードする場合には機能しません。ただし、統合インタフェースを手動で作成することや、自動マップされていない列に対して生成されたインタフェースを完成させることは可能です。
ダイアグラムでは、データストアはグラフィカル・シノニムとして複数表示される場合があります。シノニムは、データストアのグラフィカル表現です。グラフィカル・シノニムを使用すると、ダイアグラムが見やすくなります。
ダイアグラムからデータストアを削除する場合は、デザイナによって、シノニムを削除するのか(データストアは残ります)、データストア自体を削除するのか(そのデータストアのすべてのシノニムが削除されます)の選択が求められます。
ダイアグラムの各参照は、データストアのグラフィカル・シノニムに関連付けられます。グラフィカル・シノニムは自由に作成することが可能で、参照のグラフィカル表現は、その参照に関連するデータストアの任意のグラフィカル・シノニムに移動できます。
ダイアグラムでは、そのダイアグラムから直接使用できるポップアップ・メニューを使用して、ダイアグラムに表示されるすべてのモデル要素(データストア、列、参照、フィルタなど)を編集できます。ダイアグラムに加えた変更は、即座にモデルに適用されます。
新規のダイアグラムを作成するには:
デザイナ・ナビゲータの「モデル」ツリーで、ダイアグラムを作成するデータ・モデルまたはサブモデルを展開し、「ダイアグラム」ノードを選択します。
右クリックして「新規ダイアグラム」を選択し、ダイアグラム・エディタを開きます。
ダイアグラム・エディタの「定義」タブで、ダイアグラムの「名前」と「説明」を入力します。
「ファイル」メイン・メニューから「保存」を選択します。
モデルの「ダイアグラム」ノードの下に、新規ダイアグラムが表示されます。
ダイアグラムに既存のデータストアを挿入するには:
モデルのノードの下にある「ダイアグラム」ノードでダイアグラムをダブルクリックし、ダイアグラム・エディタを開きます。
ダイアグラム・エディタで、「ダイアグラム」タブを選択します。
デザイナ・ナビゲータで、「モデル」ツリーからデータストアを選択します。
このデータストアをダイアグラムにドラッグします。現在のモデルまたはサブモデルとは異なるモデルまたはサブモデルからデータストアをドラッグすると、デザイナによって、そのデータストアのコピーを現在のモデルに作成するように求められます。このデータストアがダイアグラムにすでに存在している場合は、Oracle Data Integratorによって、新規グラフィカル・シノニムを作成するか、そのデータストアの複製を作成するかの選択が求められます。
データストアの新規グラフィカル・シノニムがダイアグラムに表示されます。別のモデルからデータストアを追加した場合、または複製を作成した場合は、新規データストアがモデルに表示されます。
ダイアグラムに挿入された表と表の間に元のモデルで参照(結合)が存在する場合は、それらの参照もコピーされます。
ダイアグラムですでにあるデータストアのグラフィカル・シノニムを作成するには、そのデータストアのポップアップ・メニューで「グラフィカル・シノニムの作成」を選択します。
ダイアグラムで新規のデータストアを作成するには:
ダイアグラム・エディタで、「ダイアグラム」タブを選択します。
ダイアグラム・エディタで、「データストアの追加」をクリックします。
ダイアグラム・ワークベンチをクリックします。
この新規データストアのエディタが表示されます。データストアの作成については、第5章「モデルの作成およびリバースエンジニアリング」で説明している手順に従ってください。
他のデータストアから列を追加するには:
ダイアグラム・エディタで、「ダイアグラム」タブを選択します。
デザイナ・ナビゲータの「モデル」ツリーで、データストアの下にある列を選択します。
この列を挿入先のダイアグラムのデータストアにドラッグします。新規列を編集するための列エディタが表示されます。必要に応じて列を編集します。
「ファイル」メイン・メニューから「保存」を選択します。新規列がデータストアに追加されます。
データストアのグラフィカル・シノニムを作成するには:
「ダイアグラム」タブで、データストアを選択します。
右クリックして「グラフィカル・シノニムの作成」を選択します。
新規のグラフィカル・シノニムがダイアグラムに表示されます。
この操作で新規データストアは追加されません。ダイアグラムに作成されるのは、データストアの新規表現のみです。
データストアに新規条件、フィルタ、キーを追加するには:
「ダイアグラム」タブで、データストアを選択します。
右クリックして、「キーの追加」、「フィルタの追加」などの適切なオプションを選択します。
新規条件、フィルタ、キーなどに対応した新規エディタが表示されます。この要素の作成については、第5章「モデルの作成およびリバースエンジニアリング」で説明している手順に従ってください。
条件、フィルタおよび参照がダイアグラムに追加されるのは、それらを参照するデータストアをダイアグラムに追加した場合です。ダイアグラムに追加したデータストアに、これらのオブジェクトを追加した場合は、これらのオブジェクトをダイアグラムにドラッグできます。
列のキーを編集するには:
列がキー(主キーまたは代替キー)の一部である場合は、ダイアグラムの列でキーを編集できます。
「ダイアグラム」タブで、キーに関連する列のいずれかを選択します。
右クリックしてポップアップ・メニューでキーの名前を選択し、サブメニューで「編集」を選択します。
2つのデータストア間の参照を作成するには:
ダイアグラム・エディタで、「ダイアグラム」タブを選択します。
ツールバーで、「参照の追加」ボタンをクリックします。
参照の最初のデータストアをクリックし、マウス・ボタンを押しながら2番目のデータストアにカーソルをドラッグします。
マウス・ボタンを放します。参照エディタが表示されます。
第5章「モデルの作成およびリバースエンジニアリング」で説明している手順に従って、参照のパラメータを設定します。
参照を別のグラフィカル・シノニムに移動するには:
ダイアグラム・エディタで、「ダイアグラム」タブを選択します。
「ダイアグラム」タブで、変更する参照を選択します。
右クリックして「表示オプション」を選択します。
参照の親および子として使用するシノニムを選択します。
「OK」をクリックします。選択したシノニムに参照表現が表示されます。
この操作では、参照自体は変更されません。変更されるのは、ダイアグラム内の表現のみです。
ダイアグラムを保存すると、PNG形式での保存、ダイアグラムの印刷、または完全なPDFレポートの生成を実行できます。
ダイアグラム・レポートを印刷または生成するには:
ダイアグラムの「ダイアグラム」タブで、「ダイアグラム」メニューから「印刷オプション」を選択します。
データ・モデル印刷エディタで、次のオプションのいずれかを必要に応じて選択します。
完全なPDFレポートの生成
ダイアグラムをPNGで保存
ダイアグラムの印刷
「OK」をクリックします。
データ・サーバーのデータ構造が変更された場合は、通常、Oracle Data Integratorで増分リバースエンジニアリングを実行し、データ・サーバーから新規メタデータを取得します。
Oracle Data Integratorでダイアグラムまたはデータ・モデルを設計または変更した場合は、モデル実装を格納しているデータ・サーバーにそのデータ・モデルまたは変更内容を実装する必要があります。この操作は、DDLスクリプトで実行されます。DDLスクリプトは、DDLコマンド(create tableやalter tableなど)を含むOracle Data Integratorプロシージャの形式で生成されます。このプロシージャは、変更内容を適用するためにデータ・サーバーで実行できます。
DDL生成では、表およびシステム表の2つのタイプのデータストアがサポートされます。
注意: DDLスクリプトのテンプレートは、アクション・グループとして定義されます。DDLスクリプトの生成を開始する前に、モデルのテクノロジに対応する適切なアクション・グループが存在することをトポロジ・ナビゲータで確認してください。アクション・グループの詳細は、Oracle Data Integratorナレッジ・モジュール開発者ガイドを参照してください。 |
DDLスクリプトを生成する前に
場合によっては、データ・モデルには定義されているがデータベースには定義されていない制約がDDLの生成エディタに表示されません。これらの条件がDDLの生成エディタに確実に表示されるように、次の作業を行います。
キー: キー・エディタの「制御」タブで、「データベースで定義済」と「アクティブ」を選択します
参照: 参照エディタの「定義」タブで、「データベースで定義済」を選択します
条件: 条件エディタの「制御」タブで、「データベースで定義済」と「アクティブ」を選択します
DDLスクリプトの生成
DDLスクリプトを生成するには:
デザイナ・ナビゲータの「モデル」ツリーで、DDLスクリプトを生成するデータ・モデルを選択します。
右クリックして「DDLの生成」を選択します。Oracle Data IntegratorモデルのDDLを生成ダイアログが表示されます。
Oracle Data Integratorモデルに存在しない表を処理する場合は、「はい」をクリックします。それ以外の場合は、「いいえ」をクリックします。
Oracle Data Integratorによってデータ・サーバーからデータ構造の現在の状態が取得され、モデル定義と比較されます。ステータス・バーに進行状況が表示されます。差異が検出された状態のDDLの生成エディタが表示されます。
DDLスクリプト生成で使用する「アクション・グループ」を選択します。
「...」ボタンをクリックし、プロシージャを作成する「生成フォルダ」を選択します。
フォルダを選択し、「OK」をクリックします。
「フィルタ」チェック・ボックスを使用して、表示する変更のタイプをフィルタ処理します。
「同期化」オプションを選択して、適用する変更内容を選択します。次のアイコンは、変更のタイプを示しています。
-: データ・モデルには存在するが、データ・サーバーには存在しない要素
+: データ・サーバーには存在するが、データ・モデルには存在しない要素
=: データ・モデルとデータ・サーバーの両方に存在するが、プロパティ(列のサイズ変更など)または関連する要素(新規列を含む表など)が異なる要素
「OK」をクリックしてDDLスクリプトを生成します。
Oracle Data Integratorによって、プロシージャにDDLスクリプトが生成され、このプロシージャに対するプロシージャ・エディタが開きます。
共通フォーマット・デザイナを使用して集約された特定のモデルまたはデータストアについて、Oracle Data Integratorでは次のオブジェクトを生成できます。
インタフェースIN: これらの統合インタフェースは、他のデータストアまたは列から集約したモデルのデータストアをロードする際に使用します。元のデータストアからコンポジット・データストアにデータをマージする統合プロセスです。
インタフェースOUT: これらの統合インタフェースは、モデルのデータストアからデータを抽出する際に使用します。これらのインタフェースは、モデルのデータストアをすでにロードしているインタフェース(インタフェースINを含む)を使用して生成されます。これらのインタフェースによって、統合プロセスが反転され、コンポジット・データストアのデータが元のデータストアに伝播されます。
たとえば、AIH(Active Integration Hub)は、他の複数のアプリケーションから取得した情報を集約します。それは、複数のデータ・モデルに基づいて作成され、ダイアグラムに集約されるコンポジット・データストアで構成されます。AIHは、インタフェースINを使用してロードします。また、インタフェースOUTを使用して元のシステムにデータを送信できます。
インタフェースINを生成するには:
デザイナ・ナビゲータの「モデル」ツリーで、インタフェースを生成するデータ・モデルまたはデータストアを選択します。
右クリックして「インタフェースINの生成」を選択します。Oracle Data Integratorによって、現在のモデルまたはデータストアの作成に使用された元のデータストアと列が検索されます。インタフェースINを生成できるデータストアのリストを含むインタフェースINの生成エディタが表示されます
インタフェースの「最適化コンテキスト」を選択します。このコンテキストによって、生成されたインタフェースのフローの表示方法およびKMの自動化された選択肢の調整方法が定義されます。
「...」ボタンをクリックし、インタフェースを生成する「生成フォルダ」を選択します。
「候補データストア」表で、ロードするデータストアの「インタフェースの生成」オプションを選択します。
「インタフェース名」列の内容を編集し、統合インタフェースの名前を変更します。
「OK」をクリックします。インタフェースの生成が開始されます。
生成されたインタフェースが指定したフォルダに表示されます。
注意: 自動的に生成されるインタフェースは、事前定義されたルールを使用し、リポジトリ・メタデータに基づいて作成されます。これらのインタフェースは即座に実行できません。実行する前に慎重に確認して変更する必要があります。 |
注意: インタフェースINの生成時にデータストア候補が見つからない場合は、ロードしようとしているデータストアが他のデータストアまたは列から作成されていない可能性があります。自動インタフェース生成は、他のモデルのデータストアおよび列から作成されていないデータストアと列をロードする場合には機能しません。 |
インタフェースOUTを生成するには:
デザイナ・ナビゲータの「モデル」ツリーで、インタフェースを生成するデータ・モデルまたはデータストアを選択します。
右クリックして「インタフェースOUTの生成」を選択します。Oracle Data Integratorによって、それらのデータストアをロードする既存のインタフェースが検索されます。インタフェースOUTを生成できるデータストアのリストを含むインタフェースOUTの生成エディタが表示されます。
インタフェースの「最適化コンテキスト」を選択します。このコンテキストによって、生成されたインタフェースのフローの表示方法およびKMの自動化された選択肢の調整方法が定義されます。
「...」ボタンをクリックし、インタフェースを生成する「生成フォルダ」を選択します。
「候補データストア」で、「生成」および「インタフェースの生成」チェック・ボックスを選択し、既存のインタフェースのターゲット・データストアからロードするデータストア候補の一部または全部を選択します。
「インタフェース名」列の内容を編集し、統合インタフェースの名前を変更します。
「OK」をクリックします。インタフェースの生成が開始されます。
生成されたインタフェースが指定したフォルダに表示されます。
注意: 自動的に生成されるインタフェースは、利用可能なメタデータを使用して作成されるため、常に期待どおりのルールをレンダリングするとは限りません。これらのインタフェースは、実行する前に慎重に確認して変更する必要があります。 |
注意: インタフェースOUTの生成時にデータストア候補が見つからない場合は、インタフェースOUTを生成するように選択したデータストアをロードするインタフェースが存在しない可能性があります。データストアに基づくインタフェースOUTは、そのデータストアをロードするインタフェースから生成されます。データストアをロードする有効なインタフェースが存在しない場合、そのデータストアに基づく伝播インタフェースは生成できません。 |