逐次差分反映機能における、抽出側システムのデータベースと格納側システムのデータベースの対応関係について説明します。
基本的な逐次差分反映(1対1)
基本的には、抽出側システムのデータベースと格納側システムのデータベースは、1対1の対応関係にあります。
例を"図2.4 データベースの対応関係(1対1)"に示します。
上図に示した各データベースの対応関係を"表2.6 各データベースの対応関係"に示します。
逐次差分反映の単位 | 抽出側データベース:格納側データベース |
---|---|
逐次差分反映1 | 表A:表a |
逐次差分反映2 | 表B:表b |
表C:表c |
格納側データベースの主キーには、一意性が保障されるデータ項目を選択してください。
たとえば、抽出側システムのアプリケーションが更新するデータ項目を格納側データベースの主キーとした場合、データ項目の一意性が保障されません。この場合、抽出側システムで更新操作したデータ項目が、格納側データベースで追加されることがあります。
抽出側データベース/格納側データベースでのデータ項目の操作内容の対応を"表2.7 データ項目の操作内容"に示します。
抽出側データベース | 格納側データベース | |
---|---|---|
操作 | 対象データ項目 | 操作 |
追加 | 存在する | 更新 |
存在しない | 追加 | |
更新 | 存在する | 更新 |
存在しない | 追加 | |
削除 | 存在する | 削除 |
存在しない | 何もしない |
抽出側データベースにて別スキーマかつ同一の表名が存在する場合、格納側システムでは同じ種類の更新差分データとして認識します。このため、これらの更新差分データを別々の表へ格納する場合は、逐次差分反映の単位をわけてください。
その他の逐次差分反映
その他、以下の対応関係をサポートします。
1対n
n対1
n:1~1024
また、抽出側システムのデータベースから抽出した更新差分データを分割して格納側システムのデータベースに格納する、以下の逐次差分反映をサポートします。
更新差分データの分割反映
抽出側の1個のデータベースから抽出した更新差分データを、格納側のn個(最大1024個)のデータベースに反映します。
例を"図2.5 データベースの対応関係(1対n)"に示します。
下図では抽出側データベースの表Aから抽出した更新差分データを、格納側データベースの表aと表bに反映します。
なお、データベースの対応関係が1対1の場合と比較すると、更新差分データ1件あたりの処理性能は劣化します。
抽出側のn個(最大1024個)のデータベースから抽出した更新差分データを、格納側の1個のデータベースに反映します。
例を"図2.6 データベースの対応関係(n対1)"に示します。
下図では、抽出側データベースの表Aと表Bから抽出した更新差分データを、格納側のデータベース表aに反映します。
なお、逐次差分反映では、抽出側と格納側の列属性が一致している必要があります。
例を"図2.7 データの格納"に示します。
抽出側データベース(表A,表B,表C)の異なる列属性(CHAR,NUMERIC,DECIMAL)のデータ項目を格納側データベース(表a)の列属性(NUMERIC)に反映する場合、表Aのデータ項目(CHAR)と表Cのデータ項目(DECIMAL)の反映は行えません。
注意事項
更新差分データの内容を分割して、格納側データベースに別の行として格納します。
なお、更新差分データ内の分割する情報(分割キー)の有無によって、以下の方法があります。
分割キーありの分割反映
更新差分データの内容を分割する情報をキーとして、更新差分データの内容を格納側データベースに別の行として格納します。
例を"図2.8 図:更新差分データの分割反映(分割キーあり)"に示します。
分割キーなしの分割反映
逐次差分反映処理の編集機能(定数項目の追加)を使用して、キーとなる情報を更新差分データに付加して、格納側データベースに別の行として格納します。なお、定数項目の追加については、"2.2.2 データの編集"と"8.3.2 EXTRACT定義文"を参照してください。
例を"図2.9 更新差分データの分割反映(分割キーなし)"に示します。
抽出側システムの1個のデータベースから抽出した更新差分データを、格納側システムの2個のデータベースに格納する場合の逐次差分反映の例を"図2.10 逐次差分反映の例"に示します。
(1)1対nの逐次差分反映
1レコードが伝票番号、伝票情報と売上明細(1レコードに6個格納)で構成されたVSAMデータセットから抽出した更新差分データを、格納側システムでは伝票情報を格納する表と売上明細を格納する表とに分けて格納しています。
(2)更新差分データの分割反映(分割キーなし)
格納側システムで1レコードに6個格納されている売上明細は、1レコード内の売上明細を切り分けるためのキーを追加して、別の行に格納しています。