目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

キー関係の作成

キー関係の作成

ソース修飾子トランスフォーメーションでは、テーブルがプライマリキーと外部キーの関係を持つ場合にのみ、テーブルを結合することができます。ただし異なるテーブルの対応するカラムをリンクすることによって、Source Analyzerでプライマリキーと外部キーの関係を作成することができます。これらのカラムはキーである必要はありませんが、それぞれのテーブルのインデックスに含まれている必要があります。
ソーステーブルに1,000行を超える行が含まれている場合は、プライマリキーと外部キーにインデックスを付けることによってパフォーマンスを向上させることができます。ソーステーブルの行が1,000行に満たない場合は、プライマリキーと外部キーにインデックスを付けるとパフォーマンスが低下する可能性があります。
たとえば、小売り店チェーンの本部が、注文に基づいて領収済みの支払いを抽出したいとします。ORDERSテーブルとPAYMENTSテーブルは、プライマリキーと外部キーを共有していません。しかし、どちらのテーブルにもDATE_SHIPPEDカラムがあります。この場合、Source Analyzerでプライマリキーと外部キーの関係をメタデータ内に作成することができます。
ここで、この2つのテーブルがリンクされていないことに注意してください。したがって、DesignerはDATE_SHIPPEDカラムについての関係を認識することができません。
そこでDATE_SHIPPEDカラムをリンクすることによって、ORDERSテーブルとPAYMENTSテーブルの間に関係を作成します。Designerは、ORDERSテーブルとPAYMENTSテーブルの定義内のDATE_SHIPPEDカラムに、プライマリキーと外部キーを追加します。
以下の図に、2つのテーブル間のDATE_SHIPPEDの関係を示します。
2つのテーブルが開いて、ポート名とデータ型を表示します。各テーブルのDATE_SHIPPEDポートは矢印でリンクされています。
カラムを接続しないと、Designerは関係を認識しません。
プライマリキーと外部キーの関係はメタデータにのみ存在します。SQLを作成したりソーステーブルを変更したりする必要はありません。
キー関係が存在すれば、ソース修飾子トランスフォーメーションを使用して2つのテーブルを結合できます。デフォルトジョインはDATE_SHIPPEDに基づいて行われます。