テンポラル表の作成

テンポラル表 とは、行が有効な期間を記録する表です。

アプリケーション期間テンポラル表とシステム期間テンポラル表を作成できます。 アプリケーション期間テンポラル表 には、行の開始値と終了値が保守される期間となるアプリケーション期間が含まれます。 システム期間テンポラル表 には、システム期間が含まれ、その表でのシステム期間のデータのバージョン管理を定義して、履歴および現在の表データを管理することができます。 バイテンポラル表 とは、システム期間テンポラル表とアプリケーション期間テンポラル表の両方である表です。

システム期間のデータのバージョン 管理では、古い行が別の表にアーカイブされることが指定されます。 特定の表の現在アクティブな行が含まれている表は、 システム期間テンポラル表と呼ばれます。 アーカイブされた行が含まれている表は、 履歴表と呼ばれます。 基本表がシステム期間のデータのバージョン管理を使用するように定義する場合、または既存の表のシステム期間のデータのバージョン管理を定義する場合は、履歴表を作成する必要があります。 履歴表の名前を指定し、その表を保持するための表スペースを作成する必要があります。

システム期間テンポラル表内の行を更新または削除すると、Db2はその行の前のバージョンを履歴表に挿入します。 行の履歴バージョンを履歴表に書き込むことにより、関連したシステム期間テンポラル表内でコミットされたバージョンのデータが記録されます。 システム期間の時間テーブル内の行の中間版または未確定版は、通常、履歴テーブルには記録されません。 システム期間テンポラル表の行が単一の作業単位内で複数回更新された後、コミットが発生した場合は、その行の 1 つの新規履歴バージョンのみが履歴表に記録されます。 行がシステム期間テンポラル表に挿入され、その挿入がロールバックされた場合は、コミットされなかった挿入に関して履歴表に何も記録されません。 タイム・スタンプ基準を使用してシステム期間テンポラル表を照会して、以前のデータ値を取得できます。 タイム・スタンプ基準は、照会で指定するか、または特殊レジスターを使用して指定できます。

データベース内に複数バージョンのデータを維持するために、独自のプログラムを開発するのではなく、システム期間のデータのバージョン管理を使用できます。 Db2の場合、システム期間のデータ・バージョン管理は、バージョン管理されたデータを保守するためのより効率的な方法です。

システム期間テンポラル表を使用して、いつデータが変更されたかについての監査情報を追跡できます。 データを変更したユーザーおよびデータを変更した SQL 操作など、より多くの情報を追跡する場合、システム期間テンポラル表に非決定的な生成式の列を含めることができます。