4.3.7 時系列情報表の作成
時系列情報表を作成する手順について説明します。
(1) 取得できる時系列情報
反映表定義のto句でtimestampを指定すると,更新情報を更新の履歴として時系列順に取得できます。ただし,更新の種別によっては時系列情報を取得できないことがあります。時系列情報を取得できないときは,null値になります。
取得できる時系列情報の内容と取得可否を次の表に示します。
取得情報 |
内容 |
可 否 |
|||
---|---|---|---|---|---|
更新 |
挿入 |
削除 |
PURGE |
||
抽出日付 |
抽出側システムで更新情報が更新ジャーナルに出力された日付 |
○ |
○ |
○ |
○ |
抽出時間 |
抽出側システムで更新情報が更新ジャーナルに出力された時間 |
○ |
○ |
○ |
○ |
抽出時刻印 |
抽出側システムで更新情報が更新ジャーナルに出力された日付及び時間 |
○ |
○ |
○ |
○ |
反映日付 |
反映側システムで更新情報が反映側DBに反映された日付 |
○ |
○ |
○ |
○ |
反映時間 |
反映側システムで更新情報が反映側DBに反映された時間 |
○ |
○ |
○ |
○ |
反映時刻印 |
反映側システムで更新情報が反映側DBに反映された日付及び時間 |
○ |
○ |
○ |
○ |
反映種別 |
反映の種別が次のように取得されます。
|
○ |
○ |
○ |
○ |
マッピングキー |
更新対象の特定に使ったキー値 |
○ |
○ |
○ |
− |
更新情報 |
更新したデータ |
○ |
○ |
− |
− |
- (凡例)
-
○:取得できます。
−:NULL値になります。
(2) 時系列情報を取得する表の定義
更新情報,反映日付,反映時間などの時系列情報を取得するためには,反映対象にするHiRDBのデータベース上に,これらの情報を取得するための表(時系列情報表)を作成しておく必要があります。時系列情報表を作成するときには,表名と列構成(列数,列順序,列名)は任意に指定できます。ただし,列の属性は取得する情報に合わせて定義する必要があります。また,取得する情報の種類によっては,更新情報フィールド定義のconst句で定数を指定します。
時系列情報表の列の属性とconst句での指定を次の表に示します。
取得する情報 |
列の属性 |
更新情報フィールド定義のconst句での指定 |
---|---|---|
抽出日付 |
DATE |
extract_date |
抽出時間 |
TIME |
extract_time |
抽出時刻印 |
TIMESTAMP〔(p)〕※, p=0,2,4,6 |
extract_timestamp |
反映日付 |
DATE |
reflect_date |
反映時間 |
TIME |
reflect_time |
反映時刻印 |
TIMESTAMP〔(p)〕※, p=0,2,4,6 |
reflect_timestamp |
反映種別 |
CHAR(5) |
reflect_kind |
マッピングキー |
マッピングキーを格納できる属性 |
− |
更新情報 |
更新情報を格納できる属性 |
− |
- (凡例)
-
−:該当しません。
- 注※
-
pは表示する秒数の小数点以下のけた数を表す整数です。例えば,p=2の場合,小数点第2位の秒数までを時刻として取得します。
抽出時刻印については,pの指定内容に関わらず,抽出側DBがメインフレームの場合にだけ小数点以下の時刻を取得します。また,そのときに取得する秒数は,小数点第2位までになります。
時系列情報表を利用する場合には,次の点に注意してください。
-
時系列情報は,HiRDBの検索機能(SELECTコマンド)によって参照できます。ただし,抽出側DBの更新順に取得されないことがあるため,抽出側DBの更新順に検索したい場合は,検索時にソートの指定が必要です。
-
時系列情報表には,更新情報,反映日付,反映時間などの情報が時系列順に蓄積され続けます。このため,不要になった情報を,DELETE又はPURGE TABLEを発行して,時系列情報表から削除する必要があります。
(3) 時系列情報表へ反映するデータの注意事項
-
BLOB分割取得データを時系列情報表へ反映した場合,反映するデータはBLOB分割取得データだけになります。
-
後方削除更新をしているBLOB型又はBINARY型のデータは,時系列情報表には反映しないでください。抽出側DBと反映側DBで不整合が発生します。