ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integrator開発者ガイド
11g リリース1 (11.1.1)
B62260-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

5 モデルの作成およびリバースエンジニアリング

この章では、モデルを作成する方法、作成したモデルをリバースエンジニアリングしてデータストアに移入する方法、モデルのデータストアを手動で作成する方法について説明します。また、パーティション化の使用方法およびモデル内のデータの品質の確認方法についても説明します。

この章では、次の項目について説明します。

5.1 モデルの概要

モデルは、一連のデータストアの記述で、データ・サーバーに格納されている表データ構造のグループに対応しています。モデルは、トポロジに定義されている論理スキーマに基づいています。特定のコンテキストで、論理スキーマは物理スキーマにマップされています。物理スキーマのデータ・スキーマには、物理的なデータ構造が保持されています。このデータ構造には、データストアとして表現される表、ファイル、JMSメッセージ、XMLファイルの要素が格納されます。

モデルとそれらのコンポーネントすべては、リレーショナル・パラダイム(表、列、キーなど)に基づいています。Data Integratorのモデルには、データ構造の記述であるメタデータのみが含まれています。これらのモデルには、実際のデータのコピーは含まれていません。


注意:

頻繁に使用されるテクノロジには、リバース・メソッドとモデル作成メソッドが含まれています。詳細は、Oracle Fusion Middleware Oracle Data Integrator接続性およびナレッジ・モジュール・ガイドを参照してください。

モデルは、モデル・フォルダに編成でき、モデルのデータストアはサブモデルに編成できます。モデル・フォルダとサブモデルの作成方法および編成方法については、16.2項「フォルダを使用したモデルの編成」を参照してください。

5.1.1 データストア

データストアはデータ構造を表現します。データストアは、表、フラット・ファイル、メッセージ・キューまたはOracle Data Integratorでアクセスできる他のデータ構造のいずれかです。

データストアでは、データが表構造で記述されており、複数の列で構成されています。

データストアはリレーショナル・パラダイムに基づいているため、次の要素をデータストアに関連付けることもできます。

  • キー

    キーは、リレーショナル・パラダイムで特定の役割がある一連の列です。主キーおよび代替キーは各レコードを一意に識別します。一意でない索引を使用すると最適化されたレコードにアクセスできます。

  • 参照

    参照は2つのデータストアの間の機能リンクで、リレーショナル・モデルの外部キーに対応しています。たとえば、INVOICEデータストアは顧客番号を介してCUSTOMERデータストアを参照します。

  • 条件とフィルタ

    条件とフィルタは、データストアに関連付けられているWHEREタイプのSQL式で、データストア内のデータを検証またはフィルタするために使用されます。

5.1.2 データ整合性

モデルには、キー、参照、条件などの制約が含まれていますが、列に対するnull以外のフラグも含まれています。Oracle Data Integratorには、データ・モデルの品質を保証するためのデータ整合性フレームワークが用意されています。

このフレームワークを使用すると、次の操作を実行できます。

  • 静的チェック: データ・モデルに含まれているデータの整合性を検証します。この操作は、データ・サーバーには制約が物理的に存在しないが、Data Integratorにのみ定義されている場合に、モデル内のデータの品質を評価するために実行します。

  • フロー・チェック: データ・フローを特定のデータストアに統合する前に、その整合性を検証します。データ・フローは、Oracle Data Integratorで定義されている、データ・フローのターゲットであるデータストアの制約と照合してチェックされます。

5.1.3 リバースエンジニアリング

新規モデルは、データストアなしで作成されます。リバースエンジニアリングは、データ構造を保持するデータ・サーバーからメタデータを取得してOracle Data Integratorのモデルに移入するプロセスです。リバースエンジニアリングには2つのタイプがあります。

  • 標準リバースエンジニアリング: 標準のJDBCドライバ機能を使用してメタデータを取得します。

  • カスタマイズしたリバースエンジニアリング: 特定のテクノロジに固有のメソッドを使用し、テクノロジ固有のリバース・ナレッジ・モジュール(RKM)を使用して、メタデータを取得します。このメソッドでは通常、標準のリバースエンジニアリング・メソッドよりも詳細な情報が取得されます。

フラット・ファイル・データストアの場合は、リバースエンジニアリングに対する他のメソッドがあります。それらのメソッドについては、ファイル・データストアのリバースエンジニアリングの項を参照してください。

5.1.4 チェンジ・データ・キャプチャ

ジャーナル化とも呼ばれるチェンジ・データ・キャプチャ(CDC)を使用すると、データに加えられた変更を捕捉できます。CDCは、Oracle Data Integratorで変更のないデータの転送を回避するために使用します。この機能は、データ同期化やレプリケーションなどで使用できます。

ジャーナル化は、特定のタイプのテクノロジに基づいたモデル、サブモデルまたはデータストアに適用できます。

チェンジ・データ・キャプチャの設定の詳細は、第7章「チェンジ・データ・キャプチャの使用」を参照してください。

5.2 モデルの作成およびリバースエンジニアリング

ODIモデルの主要なコンポーネントについてはすでに説明しましたが、ここではモデルの作成方法とリバースエンジニアリング方法の概要について説明します。

5.2.1 モデルの作成

モデルは、物理スキーマに保持されているデータ構造に対応する一連のデータストアです。

モデルを作成するには:

  1. デザイナ・ナビゲータで、「モデル」パネルを展開します。

  2. 右クリックして「新規モデル」を選択します。

  3. 「定義」タブで、次の各フィールドに値を入力します。

    • 名前: ユーザー・インタフェースで使用するモデルの名前。

    • テクノロジ: モデルのテクノロジを選択します。

    • 論理スキーマ: モデルの基礎となる論理スキーマを選択します。

  4. 「リバース」タブに移動し、モデルのリバースエンジニアリングで使用するコンテキストを選択します。

    論理スキーマをマップするコンテキストが1つのみの場合は、このコンテキストが自動的に設定されることに注意してください。

  5. 「ファイル」メイン・メニューから「保存」を選択します。

モデルは作成されましたが、データストアはまだ格納されていません。

5.2.2 モデルのリバースエンジニアリング

モデルにデータストアを自動的に移入するには、そのモデルに対してリバースエンジニアリングを実行する必要があります。

標準リバースエンジニアリング

標準リバースエンジニアリングでは、データ・サーバーの接続に使用するJDBCドライバの機能を使用して、モデルのメタデータを取得します。

標準リバースエンジニアリングを実行するには:

  1. モデルの「リバース」タブで、次の操作を実行します。

    • 「標準」を選択します。

    • リバースエンジニアリングで使用するコンテキストを選択します。

    • リバースエンジニアリングするオブジェクトのタイプを選択します。リバースエンジニアリング・プロセスで考慮されるのは、選択したタイプのオブジェクトのみです。

    • 「マスク」フィールドに、リバースエンジニアリングする表のマスクを入力します。マスクによって、リバースするオブジェクトが選択されます。このマスクでは、SQLのLIKE構文を使用します。パーセント(%)記号は、0(ゼロ)個以上の文字を意味し、アンダースコア(_)記号は1つの文字を意味します。

    • オプションで、表の別名で削除する文字を指定できます。これらは、別名を導出するために削除する文字です。データストアがすでに存在している場合は、ここで指定した文字が表の別名から削除されないことに注意してください。データストアの更新は表の別名に適用されません。

  2. 「選択的リバース」タブで、「選択的リバース」「新規データストア」「既存のデータストア」および「リバースするオブジェクト」を選択します。

  3. リバースエンジニアリング対象のデータストアのリストが表示されます。リバースエンジニアリングするデータストアは選択した状態のままにします。

  4. 「ファイル」メイン・メニューから「保存」を選択します。

  5. モデルのツールバー・メニューで、「リバースエンジニアリング」をクリックします。

  6. Oracle Data Integratorによって、選択したデータストアに対するリバースエンジニアリング・プロセスが起動されます。進行状況バーには、リバースエンジニアリング・プロセスの進行状況が表示されます。

リバースエンジニアリングされたデータストアが、「モデル」パネルの該当モデル・ノードの下に表示されます。

カスタマイズしたリバースエンジニアリング

カスタマイズしたリバースエンジニアリングでは、リバースエンジニアリング・ナレッジ・モジュール(RKM)を使用して、特定タイプのテクノロジのメタデータを取得し、対応するデータストア定義をデータ・モデルに作成します。

たとえば、OracleテクノロジのRKM Oracleでは、データベース・ディクショナリ表にアクセスして、モデルに作成する表、列、キーなどの定義を取得します。


注意:

RKMを使用する場合は、そのRKMをプロジェクトにインポートする必要があります。KMインポートの詳細は、第9章「統合プロジェクトの作成」を参照してください。

RKMを使用してカスタマイズしたリバースエンジニアリングを実行するには:

  1. モデルの「リバース」タブで、次の操作を実行します。

    • 「カスタマイズ済」を選択します。

    • リバースエンジニアリングで使用するコンテキストを選択します。

    • リバースエンジニアリングするオブジェクトのタイプを選択します。リバースエンジニアリング・プロセスで考慮されるのは、選択したタイプのオブジェクトのみです。

    • 「マスク」に、リバースエンジニアリングする表のマスクを入力します。

    • リバースエンジニアリング・プロセスの実行に使用するKMを選択します。通常、このKMの名前はRKM <テクノロジ>.<プロジェクトの名前>です。

    • オプションで、表の別名で削除する文字を指定できます。これらは、別名を導出するために削除する文字です。データストアがすでに存在している場合は、ここで指定した文字が表の別名から削除されないことに注意してください。データストアの更新は表の別名に適用されません。

  2. モデルのツールバー・メニューで、「リバースエンジニアリング」をクリックし、次に「はい」をクリックして変更内容を検証します。

  3. 「OK」をクリックします。

  4. 「セッションを開始しました」ウィンドウが表示されます。

  5. 「OK」をクリックします。

リバースエンジニアリング・タスクは、オペレータ・ナビゲータで確認できます。リバースエンジニアリング・プロセスが正確に完了すると、リバースエンジニアリングされたデータストアが、「モデル」パネルの該当モデル・ノードの下に表示されます。

5.3 データストアの作成およびリバースエンジニアリング

モデルにデータストアを作成するための推奨方法はリバースエンジニアリングですが、空のモデルにデータストアを手動で定義することもできます。これは、フラット・ファイル・データストアを作成する際の推奨方法です。

5.3.1 データストアの作成

データストアを作成するには:

  1. デザイナ・ナビゲータの「モデル」ツリーで、モデルまたはサブモデルを選択します。

  2. 右クリックして「新規データストア」を選択します。

  3. 「定義」タブで、次の各フィールドに値を入力します。

    • データストアの名前: この名前は、ツリー内に表示され、プロジェクトからデータストアを参照する際に使用されます。

    • リソース名: 格納先のデータ・サーバーによって認識される形式でのオブジェクトの名前。これには、表、ファイル、JMSキューなどの名前を使用できます。

    • 別名: これは、データストアの列名の接頭辞として式で使用するデフォルトの別名です。

  4. データストアがフラット・ファイル(デリミタ付きまたは固定)を表現する場合は、「ファイル」タブで次の各フィールドに値を入力します。

    • ファイル形式: フラット・ファイルのタイプである固定またはデリミタ付きを選択します。

    • ヘッダー: フラット・ファイルのヘッダー行数。

    • 「レコード・セパレータ」および「フィールド・セパレータ」では、ファイル内の複数のレコード(行)および1つのレコード内の複数のフィールドを区切るために使用する文字を定義します。

      レコード・セパレータ: ファイル内の複数の行(レコード)を区切る1つまたは複数の文字。

      • MS-DOS: DOSの改行記号

      • UNIX: UNIXの改行記号

      • その他: 文字または16進コードとして入力できる任意のテキスト

      フィールド・セパレータ: レコード内の各フィールドを区切る1つまたは複数の文字。

      • タブ

      • スペース

      • その他: 文字または16進コードとして入力できる任意のテキスト

  5. 「ファイル」メイン・メニューから「保存」を選択します。

データストアが作成されました。このデータストアがファイル・データストアである場合は、データストアに列を作成するために、ファイル・データストアのリバースエンジニアリングの項を参照してください。すべてのデータストアの列を手動で編集することもできます。詳細は、データストア列の追加および削除を参照してください。

5.3.2 ファイル・データストアのリバースエンジニアリング

Oracle Data Integratorには、フラット・ファイルをリバースエンジニアリングするための特定の方法があります。次に、フラット・ファイルをリバースするための方法を説明します。

5.3.2.1 固定ファイルのリバースエンジニアリング

固定ファイルは、固定列の境界とそのパラメータを定義できるウィザードを使用してリバースエンジニアリングできます。

  1. 固定形式のファイル・データストアの「列」タブに移動します。

  2. 「リバース」ボタンをクリックします。ウィンドウが開き、ファイルの最初のレコードが表示されます。

  3. ルーラー(ファイルの内容の上部)をクリックし、列を区切るマーカーを作成します。マーカーを削除する場合は、ルーラーを右クリックします。

  4. 列は、事前に生成された名前(C1、C2など)で作成されます。列名を編集するには、列ヘッダー行(ルーラーの下)をクリックします。

  5. プロパティ・パネル(右側)で、選択した列のパラメータを編集できます。

  6. 少なくとも各列の「列名」「データ型」および「長さ」を設定する必要があります。ファイル・データストアの列名にスペースを含めることはできないことに注意してください。

  7. 列定義が完了してウィザードを閉じる場合は、「OK」をクリックします。

  8. 「ファイル」メイン・メニューから「保存」を選択します。

5.3.2.2 デリミタ付きファイルのリバースエンジニアリング

デリミタ付きファイルは、組込みのJDBCを使用してリバースエンジニアリングできます。組込みのJDBCは、ファイルを分析して列を検出し、ファイル・ヘッダーから列名を読み取ります。

  1. デリミタ付き形式のファイル・データストアの「列」タブに移動します。

  2. 「リバース」ボタンをクリックします。

  3. Oracle Data Integratorによって、ファイルの内容に応じた列のリストが作成されます。列のタイプと長さはデフォルト値に設定されます。列名は、事前生成された名前(C1、C2など)、またはファイルに対して宣言した最初のヘッダー行から取得した名前になります。

  4. 各列の「列名」「データ型」および「長さ」を変更する必要があるかどうかを確認します。ファイル・データストアの列名にスペースを含めることはできないことに注意してください。

  5. 「ファイル」メイン・メニューから「保存」を選択します。

5.3.2.3 COBOLファイルのリバースエンジニアリング

COBOL固定ファイル構造は通常、コピーブック・ファイルに記述されます。Oracle Data Integratorでは、コピーブック・ファイル構造をデータストア構造にリバースエンジニアリングできます。

  1. デリミタ付き形式のファイル・データストアの「列」タブに移動します。

  2. 「COBOLコピーブックのリバース」ボタンをクリックします。

  3. 次の各フィールドに値を入力します。

    • ファイル: コピーブック・ファイルの場所。

    • キャラクタ・セット: コピーブック・ファイルのキャラクタ・セット。

    • 説明書式(EBCDICまたはASCII): コピーブック・ファイル形式。

    • データ形式(EBCDICまたはASCII): データ・ファイル形式。

  4. 「OK」をクリックします。コピーブックに記述されている列が、リバースエンジニアリングされて列リストに表示されます。

  5. 「ファイル」メイン・メニューから「保存」を選択します。

5.3.3 データストア列の追加および削除

データストアに列を追加するには:

  1. データストアの「列」タブで、ツールバー・メニューの「列の追加」をクリックします。

  2. 空の行が表示されます。新規列の情報を入力します。少なくとも「名前」「データ型」および「長さ」の各フィールドに値を入力する必要があります。

  3. データストアに追加する列ごとにステップ1とステップ2を繰り返します。

  4. 「ファイル」メイン・メニューから「保存」を選択します。

データストアから列を削除するには:

  1. データストアの「列」タブで、削除する列を選択します。

  2. 「列の削除」ボタンをクリックします。リストから列が削除されます。

5.3.4 制約とフィルタの作成および削除

Oracle Data Integratorでは、キー、参照、条件、必須列などのデータ・モデルに対する制約が管理されます。Oracle Data Integratorには、これらの制約に基づいてデータ・モデルの品質を保証するためのデータ整合性フレームワークが含まれています。

フィルタは制約ではありませんが、条件と同じように定義します。フィルタは、データストアに対してデータ品質ルールを実施する際には使用しませんが、ソースとして使用されているデータストアを自動的にフィルタ処理する際に使用します。

5.3.4.1 キー

データストアのキーを作成するには:

  1. デザイナ・ナビゲータで、「モデル」ツリー、モデルの順に展開し、キーを追加するデータストアを展開します。

  2. 「制約」ノードを選択し、右クリックして「新規キー」を選択します。

  3. 制約の「名前」を入力し、「キーまたは索引タイプ」を選択します。「主キー」および「代替キー」を選択して、インタフェースの更新キーとして使用できます。一意でない索引は、主にパフォーマンス上の理由で使用します。

  4. 「列」タブで、このキーに属する列のリストを選択します。

  5. 「制御」タブで、この制約が静的またはフロー・チェック時にデフォルトで選択されるようにするかどうかを選択します。

  6. 「チェック」ボタンをクリックすると、この制約に適合しないレコード数を取得できます。

  7. 「ファイル」メイン・メニューから「保存」を選択します。

5.3.4.2 参照

2つのデータストア間の参照を作成するには:

  1. デザイナ・ナビゲータで、「モデル」ツリー、モデルの順に展開し、参照を追加するデータストアの1つを展開します。

  2. 「制約」ノードを選択し、右クリックして「新規参照」を選択します。

  3. 制約の「名前」を入力し、参照の「タイプ」を選択します。「ユーザー参照」では、2つのデータストアを列の等価性に基づいてリンクします。「複合ユーザー参照」では、任意の式を使用して2つのデータストアをリンクします。「データベース参照」は、データベース・エンジンからリバースエンジニアリングされた列の等価性に基づいた参照です。

  4. モデルに存在するデータストアを参照する場合は、現在のデータストアにリンクする「モデル」および「表」を選択します。

  5. モデルに存在しない表をリンクする場合は、「モデル」および「表」の各フィールドを未定義のままにし、「カタログ」「スキーマ」および「表」の名前を設定してデータストアを識別します。

  6. ユーザー参照またはデータベース参照を定義している場合は、「列」タブで、リンクする2つのデータストアの一致している列を定義します。

  7. 複合ユーザー参照を定義している場合は、「式」タブで、リンクする2つのデータストアの列を関連付ける式を入力します。

  8. 「制御」タブで、この制約が静的またはフロー・チェック時にデフォルトで選択されるようにするかどうかを選択します。

  9. 「チェック」ボタンをクリックすると、この制約に適合するレコード数、または適合しないレコード数を取得できます。

  10. 「ファイル」メイン・メニューから「保存」を選択します。

5.3.4.3 条件

データストアの条件を作成するには:

  1. デザイナ・ナビゲータで、「モデル」ツリー、モデルの順に展開し、条件を追加するデータストアの1つを展開します。

  2. 「制約」ノードを選択し、右クリックして「新規条件」を選択します。

  3. 制約の「名前」を入力し、条件の「タイプ」を選択します。「Oracle Data Integrator条件」は、モデルにのみ存在する条件で、データベースには存在しません。「データベース条件」は、データベースに定義されている条件で、リバースエンジニアリングされています。

  4. 「条件」フィールドで、条件を実装する式を入力します。この式は、有効なレコードが適合するSQL WHERE式です。

  5. 「メッセージ」フィールドに、この制約に対するエラー・メッセージを入力します。

  6. 「制御」タブで、この制約が静的またはフロー・チェック時にデフォルトで選択されるようにするかどうかを選択します。

  7. 「チェック」ボタンをクリックすると、この制約に適合しないレコード数を取得できます。

  8. 「ファイル」メイン・メニューから「保存」を選択します。

5.3.4.4 必須列

データストアに必須列を定義するには:

  1. デザイナ・ナビゲータで、「モデル」ツリー、データストアを含むモデルの順に展開します。

  2. 必須として設定する必要がある列を含むデータストアをダブルクリックします。データストア・エディタが表示されます。

  3. 「列」タブで、必須に設定する列ごとに「NOT NULL」を選択します。

  4. 「ファイル」メイン・メニューから「保存」を選択します。

5.3.4.5 フィルタ

データストアにフィルタを追加するには:

  1. デザイナ・ナビゲータで、「モデル」ツリー、モデルの順に展開し、フィルタを追加するデータストアの1つを展開します。

  2. 「フィルタ」ノードを選択し、右クリックして「新規条件」を選択します。

  3. フィルタの「名前」を入力します。

  4. 「条件」フィールドで、フィルタを実装する式を入力します。この式は、ソース・レコードのフィルタ処理に使用するSQL WHERE式です。

  5. この表のデータを静的制御でチェックする前にフィルタ処理する場合は、「制御」タブで、「静的制御の場合はフィルタ・アクティブ」を選択します。

  6. 「ファイル」メイン・メニューから「保存」を選択します。

5.4 データストアのデータの編集および表示

データストアのデータを表示するには:

  1. デザイナ・ナビゲータで、モデルからデータストアを選択します。

  2. 右クリックして「データの表示」を選択します。

編集不可のグリッド内にデータが表示されます。

データストアのデータを編集するには:

  1. デザイナ・ナビゲータで、モデルからデータストアを選択します。

  2. 右クリックして「データ」を選択します。

データ・エディタの編集可能なグリッド内にデータが表示されます。「リフレッシュ」ボタンを使用すると、データストアのデータを戻す問合せを編集して再度実行できます。この方法を使用すると、データをフィルタ処理したり、データストアに対して任意の問合せを実行することができます。

データストアのデータを編集できるのは、使用する接続とデータ・サーバーのユーザー権限で許可され、かつデータストア構造によってデータストアの各行(PKなど)が識別可能である場合です。


注意:

表示されるデータは、現在の作業コンテキストで、モデルの論理スキーマに対応する物理スキーマに格納されているデータです。

5.5 パーティション化の使用

Oracle Data Integratorでは、パーティション表のデータを統合インタフェースのソースまたはターゲットとして使用して処理する場合、データベース定義のパーティションを使用できます。これらのパーティションは、表に対応するデータストアに、リバースエンジニアリング・プロセスを使用して、または手動で作成されます。たとえば、Oracleテクノロジでは、パーティションはRKM Oracleを使用してリバースエンジニアリングされます。

サポートされるパーティション化メソッドは、データストアのテクノロジによって異なります。たとえば、Oracleテクノロジでは、レンジ、ハッシュ、リストのパーティション化メソッドがサポートされています。

データストアで定義されたパーティションは、そのデータストアをインタフェースのソースまたはターゲットとして使用するときに選択できます。詳細は、第11章「統合インタフェースの使用」を参照してください。

共通フォーマット・デザイナを使用する場合は、「DDLの生成」操作の実行時にパーティションを作成することもできます。

5.5.1 モデル・データストアのパーティションおよびサブパーティションの手動による定義

パーティション情報は、データストア構造とともにリバースエンジニアリングすることも、手動で定義することもできます。


注意:

標準リバースエンジニアリングでは、パーティションのリバースエンジニアリングがサポートされていません。パーティションおよびサブパーティションをリバースエンジニアリングするには、カスタマイズしたリバースエンジニアリングを使用する必要があります。

データストアのパーティションおよびサブパーティションを手動で定義するには:

  1. 「モデル」アコーディオンで、パーティションまたはサブパーティションを定義するデータストアをダブルクリックします。データストア・エディタが開きます。

  2. 「パーティション」タブで、パーティションおよびサブパーティションを定義するために次の詳細を入力します。

    • パーティション基準

      パーティション化メソッドを選択します。このリストには、モデルが依存するテクノロジでサポートされているパーティション化メソッドが表示されます。

    • サブパーティション基準

      パーティションに加えてサブパーティションも定義する場合は、サブパーティション化メソッドを選択します。このリストには、モデルが依存するテクノロジでサポートされているサブパーティション化メソッドが表示されます。

  3. 「パーティションの追加」をクリックします。

  4. 「名前」フィールドに、パーティションの名前を入力します(例: FY08)。

  5. 「説明」フィールドに、パーティションの説明を入力します(例: Operations for Fiscal Year 08)。

  6. 次を追加するには:

    • パーティション: ステップ3から5を繰り返します。

    • 選択したパーティションのサブパーティション: 「サブパーティションの追加」をクリックし、ステップ45を繰り返します。

  7. 「ファイル」メニューから、「保存」を選択します。

5.6 モデルのデータ品質のチェック

データ品質管理は、情報システムのアプリケーションでデータ全体の一貫性を保証するために重要です。

アプリケーション・データは、情報システムによって課せられる制約および宣言的ルールに対して有効でない場合があります。たとえば、顧客が指定されていない注文や製品が指定されていない注文明細などが検出される可能性があります。さらに、そのような不正なデータが統合フローを介して伝播される場合があります。

5.6.1 データ整合性の概要

Oracle Data Integratorには、これらの制約違反を検出してリサイクルまたはレポート目的で格納するための作業環境が用意されています。

主なタイプとして、静的制御フロー制御があります。この2つのタイプの相違について説明します。

静的制御

静的制御は、アプリケーション・データの整合性を検証するために使用するルールが存在することを意味します。これらのルール(制約とも呼ばれます)の一部は、データ・サーバーに(主キー、参照制約などを使用して)すでに実装されている可能性があります。

Oracle Data Integratorでは、追加の制約を定義することでデータの検証を調整できます。追加の制約をサーバーに直接実装する必要はありません。この手順は、既存(静的)データのチェックを直接実行できるため、静的制御と呼ばれます。

フロー制御

変換プロセスおよび統合プロセスに対応する情報システムでは、通常、独自の宣言的ルールが実装されています。フロー制御機能は、データを対応する情報システムにロードする前に、それらの制約に基づいてアプリケーションの着信データを検証するために使用します。フロー制御の設定については、第11章「統合インタフェースの使用」を参照してください。

5.6.2 制約のチェック

Oracle Data Integratorでの制約の作成時に、その制約に違反する行数を取得できます。同期制御と呼ばれるこのアクションは、特定の制約エディタの「制御」タブで「チェック」ボタンをクリックして実行します。

同期制御の結果は永続的ではありません。このタイプの制御は、制約定義の有効性をすばやく評価するために使用します。

5.6.3 モデル、サブモデルまたはデータストアに対する静的チェックの実行

モデル、サブモデルまたはデータストアに対して静的チェックを実行するには:

  1. デザイナ・ナビゲータの「モデル」ツリーで、チェックするモデルを選択します。

  2. そのモデルをダブルクリックし、編集します。

  3. モデル・エディタの「制御」タブで、静的チェックで使用するチェック・ナレッジ・モジュール(CKM)を選択します。

  4. 「ファイル」メニューから「すべて保存」を選択します。

  5. デザイナ・ナビゲータの「モデル」ツリーで、チェックするモデル、サブモデルまたはデータストアを右クリックし、「制御」「チェック」の順に選択します。

  6. 「実行」ウィンドウで、次の実行パラメータを選択します。

    1. チェックが必要なデータの「コンテキスト」を選択します。

    2. チェック・タスクを実行する「論理エージェント」を選択します。

    3. エラーが検出された行をチェック済表から削除する場合は、「チェック済表からのエラーの削除」オプションを選択します。

    実行パラメータの詳細は、表19-1を参照してください。

  7. 「OK」をクリックします。

  8. 「セッションを開始しました」ウィンドウが表示されます。

  9. 「OK」をクリックします。

チェック・タスクは、オペレータ・ナビゲータで確認できます。制御プロセスが正確に完了すると、チェック済のデータストアごとにエラーのあるレコードを確認できます。

5.6.4 エラーのあるレコードの確認

データストアのエラーを表示するには:

  1. デザイナ・ナビゲータで、モデルからデータストアを選択します。

  2. 右クリックして「制御」→「エラー」の順に選択します。

そのデータストアで検出されたエラー行が、グリッドに表示されます。