![]() 前へ |
![]() 次へ |
この項では、ソース表からターゲット表にデータをロードする基本的なPL/SQLマッピングの作成方法を説明します。この例の目的は、マッピングの使用方法を示し、マッピングを作成することで達成される目的に関してユーザーの理解を深めることです。この例は非常に基本的なものであるため、ソース・データに対する変換機能は実行されません。ただし、典型的なウェアハウス環境では、変換はマッピングの不可欠な要素です。
SALES表には、組織の売上データが格納されています。この表はOracleデータベースのSRCスキーマにあります。この売上データを、Oracleデータ・ウェアハウスのTGTスキーマにあるターゲット表SALES_TGTにロードする必要があります。ソース表とターゲット表の両方に、同じ列名を持つ同じ数の列が含まれています。
ソース表からターゲット表へのデータのロード方法を定義するPL/SQLマッピングを定義します。
ソースのOracleデータベース表からターゲットのOracleデータベース表にデータをロードするマッピングを定義する手順は、次のとおりです。
プロジェクト・ナビゲータで、ソースに対応するOracleモジュールを作成します(まだ作成していない場合)。SRC_MODと呼ばれるこのモジュールが、SRCスキーマに対応するロケーションSRC_LOCと関連付けられます。
プロジェクト・ナビゲータで、ターゲット表が置かれているデータ・ウェアハウス・スキーマに対応するロケーションを持つターゲット・モジュールを作成します。
WH_TGTというOracleモジュールを作成し、TGTスキーマに対応するロケーションTGT_LOCと関連付けます。
プロジェクト・ナビゲータで、WH_TGTモジュールを展開します。
「マッピング」ノードを右クリックして「新規マッピング」を選択します。
「マッピングの作成」ダイアログ・ボックスが表示されます。
マッピングについて次の情報を入力し、「OK」をクリックします。
名前: マッピングの名前を入力します。
説明: マッピングの説明(オプション)を入力します。
マッピング・エディタが表示されます。このインタフェースを使用して、ソース・オブジェクトとターゲット・オブジェクトの間のデータ・フローを定義します。
SRC_MODモジュールの下の「表」ノードを開きます。
SALES表をプロジェクト・ナビゲータからマッピング・エディタのキャンバスにドラッグ・アンド・ドロップします。
SALES表を表す演算子がキャンバスに追加されます。演算子名が左上隅に表示されます。演算子名の下にはグループの名前があります。名前およびグループの数は、演算子のタイプによって異なります。表演算子にはINOUTGRP1と呼ばれる1つのグループがあります。グループの下に、属性名とそのデータ型がリストされます。
WH_TGTモジュールの下のSALES_TGT表をプロジェクト・ナビゲータからマッピング・エディタのキャンバスにドラッグ・アンド・ドロップします。
SALES_TGT表を表す演算子がキャンバスに追加されます。各属性名およびデータ型を表示できます。
ソース表SALESの属性を、ターゲット表SALES_TGTの中の対応する属性と接続します。
演算子内のすべての属性を接続するには、SALESのグループINOUTGRP1の上でマウスの左ボタンを押し、そのままマウスをドラッグして、SALES_TGT演算子のグループINOUTGRP1上でマウスのボタンを放します。
「接続」ダイアログ・ボックスが表示されます。
「接続オプション」セクションで、「ソースとターゲット属性の名前による一致」を選択し、「プレビュー」をクリックします。
「接続」セクションには、ソース属性とターゲット属性の間のアソシエーションが表示されます。「ソース属性」列にはソース表の属性が表示され、「ターゲット属性」列にはソース属性のロード先のターゲット表の属性が表示されます。
「OK」をクリックし、「接続」ダイアログ・ボックスを閉じます。
プロジェクト・ナビゲータでマッピングを選択し、「検証」アイコンをクリックしてマッピングを検証します。
検証では、マッピング内のメタデータ定義および構成パラメータを検証するためのテストが実行されます。検証エラーがある場合は解決してください。
プロジェクト・ナビゲータでマッピングを選択し、「生成」アイコンをクリックしてマッピングを生成します。
生成では、ターゲット・スキーマ内でマッピングを作成するために使用されるスクリプトが作成されます。生成エラーがある場合は解決し、マッピングを再生成してください。Warehouse Builderによりこのマッピングのスクリプトが作成されます。
これで、SALESというソース表からデータを抽出し、SALES_TGTというターゲット表にデータをロードするためのマッピングが定義されました。これにより、このマッピングのメタデータがリポジトリに格納されました。また、生成が成功すると、ターゲット・スキーマ内でこのマッピングを作成するためのスクリプトの準備が整います。
ETLを実行し、ソース表からターゲット表にデータを転送するには、「ETLジョブの開始」に定義されているように、ターゲット・スキーマにマッピングを配布し、その後にマッピングを実行する必要があります。