テンポラル・データのモデリング

ワークベンチを使用すると、時間に基づいてデータをモデル化できます。テンポラル・オブジェクトの作成および変更を行うには、ワークベンチのテンポラル・フィーチャーを使用します。

テンポラル表 とは、システム時間 (またはトランザクションが記録される場合にはトランザクション時間)、ビジネス時間 (またはデータが実世界についての情報に関して有効な場合には有効時間)、あるいはその両方に関して行が有効な期間を記録する表です。

期間 とは、テンポラル表の 2 つの日時列によって定義される期間です。期間には、開始列終了列 が含まれます。開始列は期間の開始を示し、終了列は期間の終了を示します。期間の開始値は期間に含まれますが、期間の終了値は期間には含まれません。例えば、開始列の値が 01/01/1995 の場合、この日付は行に含まれます。一方、終了列の値が 03/21/1995 の場合、この日付は行の期間に含まれません。

ワークベンチでは、以下の 3 種類のテンポラル表がサポートされています (DB2® for z/OS® バージョン 10 新機能モード、または DB2 for Linux, UNIX, and Windows バージョン 10 のみ):
システム期間
システム期間表には、システム時間 (またはトランザクションが記録される場合にはトランザクション時間) に基づく履歴情報が維持されます。

システム期間は、トランザクション発生時の期間を示す、システム保持の値が入った 2 つの列で構成されます。開始列の内容は、挿入操作または既存の行の更新操作による行作成時の日付またはタイム・スタンプの値です。 終了列には、行が有効でなくなった時点のタイム・スタンプ値が入ります。この値は、行が更新または削除された時点で入ります。

システム期間は、システム期間のデータのバージョン管理の点から重要です。システム期間のデータのバージョン管理とは、更新された行または削除された行が別の表にアーカイブされるように指定するものです。 表の現行のアクティブ行が含まれる表は、システム期間テンポラル表と呼ばれます。アーカイブされた行が含まれる表は、履歴表と呼ばれます。適切な権限を持っている場合には、行が不要になった際にそれらの行を履歴表から削除できます。

システム期間データ・バージョン管理を使用するよう基本表を定義する場合、 または既存の表に対してシステム期間データ・バージョン管理を定義する場合は、 履歴表の作成、履歴表の名前の指定を行ってから、その表を保持するための表スペースの作成を行う必要があります。

アプリケーション期間
アプリケーション期間表には、ビジネス時間 (または実世界についての情報に関してデータが有効な場合には有効時間) に基づく履歴情報が維持されます。

アプリケーション期間とは、実世界に関する情報に関連して行が有効な期間を示す、アプリケーション保持の値が入った 2 列で構成されるものです。 開始列には、実世界のイベントまたは状態が始まるときに関する日付またはタイム・スタンプ値が入ります。 終了列には、行の有効期間の終了時点を示す値が入ります。 アプリケーション期間のみが設定されている表は、アプリケーション期間テンポラル表と呼ばれます。アプリケーション期間を使用する場合は、DB2 によって時間上の固有性を適用する必要があるかどうかを判別してください。主キーを作成し、そのキーの値が特定の期間において固有になるように指定できます。

バイテンポラル
バイテンポラル表には、システム時間とビジネス時間の両方に基づく履歴情報が維持されます。バイテンポラル表を使用すると、アプリケーション期間情報とシステム・ベースの履歴情報を維持できます。したがって、期間に基づいてデータを照会する方法の柔軟性が高くなります。

フィードバック