プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Data Integratorでの統合プロジェクトの開発
12c (12.2.1.1)
E77237-01
  目次へ移動
目次

前
 
次
 

3 データ・モデルおよびデータストアの作成および使用

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

この章には次の項が含まれます:

モデルの概要

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

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


注意:

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

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

データストア

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

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

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

  • キー

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

  • 参照

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

  • 条件とフィルタ

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

データ整合性

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

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

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

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

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

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

  • 標準リバースエンジニアリング: 標準のJDBCドライバ機能を使用してメタデータを取得します。標準リバースエンジニアリングを使用する場合、一意キーはリバースエンジニアリングされません。

  • カスタマイズしたリバースエンジニアリング: 特定のテクノロジに固有のメソッドを使用し、テクノロジ固有のリバース・ナレッジ・モジュール(RKM)を使用して、メタデータを取得します。一般に、標準リバース・エンジニアリング・メソッドよりも多くの情報を取得できるため、テクノロジ固有のRKMが存在する場合は、このメソッドが推奨されます。利用できるRKMのリストについては、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。

フラット・ファイル・データストアの場合は、リバースエンジニアリングに対する他のメソッドがあります。詳細は、「ファイル・データストアのリバースエンジニアリング」に記載されています。

Oracle Data Integratorでは、データストアのショートカットを含むモデルをリバースエンジニアリングできます。詳細は、第15章「ショートカットの使用」を参照してください。

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

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

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

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

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

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

モデルの作成

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


ヒント:

新規のモデルと新規のトポロジ・オブジェクトを同時に作成するには、「モデルおよびトポロジ・オブジェクトの作成」で説明されている手順を使用します。

モデルを作成するには:

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

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

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

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

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

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

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

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

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

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

モデルおよびトポロジ・オブジェクトの作成

モデルおよび他のトポロジ・オブジェクト(新規のデータ・サーバー、コンテキスト、スキーマを含む)を同時に作成できます。

  1. ODI Studioで、「ファイル」を選択し、「新規...」をクリックします。

  2. 新規ギャラリ・ダイアログで、「新規モデルとトポロジ・オブジェクトを作成します」を選択し、「OK」をクリックします。

    「新規モデルとトポロジ・オブジェクトの作成」ウィザードが表示されます。

  3. ウィザードの「モデル」パネルで、次のフィールドに値を入力します。

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

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

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

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

  4. 「次」をクリックします。

  5. ウィザードの「データ・サーバー」パネルで、データ・サーバーのフィールドに値を入力します。

    • 名前: ユーザー・インタフェースに表示されるデータ・サーバーの名前。

      注意: データ・サーバーの命名では、<TECHNOLOGY_NAME>_<SERVER_NAME>という命名標準の使用をお薦めします。

    • テクノロジ: データ・サーバーにリンクされているテクノロジ。

      注意: モデルに選択されているテクノロジのタイプが汎用SQLの場合にのみ表示されます。

    • ユーザー: データ・サーバーへの接続に使用するユーザー名。

    • パスワード: ユーザー名にリンクされているパスワード。

      注意: このパスワードは暗号化されてリポジトリに保存されます。

    • ドライバ・リスト: データ・サーバーで使用できるドライバのリストが表示されます。

    • ドライバ: データ・サーバーに接続するために使用されるドライバの名前。

    • URL: 接続の詳細が表示されます。

    • プロパティ: 選択したドライバに設定できるプロパティをリストします。

  6. 「次」をクリックします。

  7. ウィザードの「物理スキーマ」パネルで、物理スキーマのフィールドに値を入力します。

    • 名前: 物理ディスクの名前。自動的に算出されます。読取り専用です。

    • データソース (カタログ): データ・サーバーのカタログの名前。

      注意: 選択されているテクノロジでカタログがサポートされている場合にのみ表示されます。

    • スキーマ (スキーマ): データ・サーバー内のスキーマの名前。必要なデータが格納されているスキーマ、所有者またはライブラリです。

      ノート: データ・サーバーに存在するすべてのスキーマのリストが表示されます。場合によっては、Oracle Data Integratorでこのリストを作成できないことがあります。この場合は、大/小文字に注意して、スキーマ名を入力してください。

    • データソース (作業カタログ): これらのオブジェクトを作成するカタログを指定します。一部のデータ検証や変換操作では、Oracle Data Integratorで作業オブジェクトの作成が必要になることがあります。

      注意: 選択されているテクノロジでカタログがサポートされている場合にのみ表示されます。

    • スキーマ (作業スキーマ): これらのオブジェクトを作成するスキーマを示します。一部のデータ検証や変換操作では、Oracle Data Integratorで作業オブジェクトの作成が必要になることがあります。「作業スキーマ」を設定しない場合、実行中に「スキーマ」にデフォルト設定されます

      各作業表に対して、専用のスキーマを作成することをお薦めします。すべてのデータ・サーバー内にSASまたはODIという名前のスキーマを作成することで、すべてのOracle Data Integratorアクティビティをアプリケーションから完全に独立させることができます。

      ノート: データ・サーバーに存在するすべてのスキーマのリストが表示されます。場合によっては、Oracle Data Integratorでこのリストを作成できないことがあります。この場合は、大/小文字に注意して、スキーマ名を入力してください。

    • ドライバ: データ・サーバーに接続するために使用されるドライバの名前。

    • URL: 接続の詳細が表示されます。

    • プロパティ: 選択したドライバのプロパティを指定します。

  8. 「次」をクリックします。

  9. 「終了」をクリックします。モデルとトポロジ・オブジェクトが作成されましたが、モデルにまだデータストアが含まれていません。

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

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

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

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

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

  1. モデルの「リバース・エンジニアリング」タブで、次の操作を実行します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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


注意:

RKMはグローバルRKMとしてまたはプロジェクトにインポートされて使用可能になっている必要があります。KMインポートの詳細は、第6章「統合プロジェクトの作成」を参照してください。

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

  1. モデルの「リバース・エンジニアリング」タブで、次の操作を実行します。

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

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

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

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

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

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

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

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

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

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

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

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

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

データストアの作成

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

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

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

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

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


      注意:

      データストア名には、ODIの予約名(JRN_FLAGJRN_SUBSCRIBERJRN_DATEなど)は使用しないでください。これらの名前を使用すると、エラー表のようなODIの中間的な表で、属性名重複のSQLエラーが発生する可能性があります。

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


      注意:

      リソースがデータベース表である場合は、オブジェクトと属性識別子のデータベース・ルールを考慮する必要があります。多くのテクノロジではオブジェクト識別子に制限があります(Oracleでは通常30文字)。これらのエラーを回避するには、特定のテクノロジのトポロジで、オブジェクト名(表および列)の最大長がデータベース構成に対応していることを確認してください。

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

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

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

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

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

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

      • MS-DOS: DOSの改行記号

      • UNIX: UNIXの改行記号

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

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

      • タブ

      • スペース

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. 「リバース・エンジニアリング」ボタンをクリックします。

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

  4. 各属性に関して、属性の名前データ型および長さを確認し、必要に応じて変更します。ファイル・データストアの属性名にはスペースを使用できないことに注意してください。

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

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

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

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

  2. 「COBOLコピーブックのリバース・エンジニアリング」ボタンをクリックします。

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

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

    • 文字セット: コピーブック・ファイルの文字セット。

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

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

  4. 「OK」をクリックします。コピーブックで説明されている属性は、リバースエンジニアリングされており、属性リストに表示されます。

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

データストア属性の追加および削除

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

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

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

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

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

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

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

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

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

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

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

キー

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

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

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

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

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

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

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

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

参照

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

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

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

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

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

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

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

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

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

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

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

条件

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

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

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

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

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

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

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

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

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

必須属性

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

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

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

  3. 「属性」タブで、必須の各属性の「NOT NULL」フィールドをチェックします。

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

フィルタ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


注意:

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

パーティション化の使用

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

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

データストアで定義されたパーティションは、そのデータストアをマッピングのソースまたはターゲットとして使用するときに選択できます。詳細は、第8章「マッピングの作成および使用」を参照してください。

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

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

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


注意:

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

データストアのパーティションおよびサブパーティションを手動で定義する手順は、次のとおりです。

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

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

    • パーティション基準

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

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

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

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

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

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

  6. 次を追加するには:

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

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

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

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

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

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

データ整合性の概要

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

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

静的制御

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

Oracle Data Integratorでは、追加の制約を定義することでデータの検証を調整できます。追加の制約をサーバーに直接実装する必要はありません。この手順は、既存(静的)データのチェックを直接実行できるため、静的制御と呼ばれます。アクティブなデータベース制約(「制御」タブで「データベースで定義済」「アクティブ」が選択された)は、すでにデータベースによって制御されているため、Oracle Data Integratorからの追加の制御は不要です。

フロー制御

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

制約のチェック

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

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

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

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

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

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

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

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

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

  6. 「実行」ダイアログで、次の実行パラメータを選択します:

    • ステップを実行する「コンテキスト」を選択します。

    • ステップを実行する「論理エージェント」を選択します。

    • 「ログ・レベル」を選択します。

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

    • 「サブモデルの再帰」を選択して、このモデルのサブモデルをチェックします。

    • オプションで、「シミュレーション」を選択します。このオプションでは、データへの実際の影響なしに、実行操作のシミュレーションを実行し、実行レポートを生成します。

    実行パラメータの詳細は、『Oracle Data Integratorの管理』の実行パラメータに関する項を参照してください。

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

  8. 「セッションを開始しました」ウィンドウ(シミュレーションを実行している場合は「シミュレーション」ウィンドウ)が表示されます。

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

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

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

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

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

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

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