1 月 1 日から 12 月 31 日までの予定/日誌を考えてみましょう。これで、任意の日の予定/日誌エントリのダイアリーをクエリできます。この順序付けを有効時間と呼びます。ただし、予定/エントリは通常、順番に挿入されません。
4 月 4 日の日記にどのような予定/エントリがあったか知りたいとします。つまり、4月4日の日記にあったすべての記録です。これが取引時間です。
予定/エントリを作成したり削除したりできると仮定すると、典型的なレコードには、エントリの期間をカバーする開始および終了の有効時間と、エントリがダイアリーに表示された期間を示す開始および終了のトランザクション時間があります。
これ は 日記 の歴史 的 修正が 必要 な 場合 に 必要 で ある。4 月 5 日に、2 月 14 日に行った予定が実際には 2 月 12 日に行われたことに気付いたとします。つまり、日記に誤りがあることを発見しました。誤りを訂正して、有効な時間の画像を訂正することができます。 4 月 4 日のダイアリーでは、予約/エントリのトランザクション時間も保存されていない限り、間違っています。その場合、4 月 4 日の時点でダイアリーをクエリすると、2 月 14 日に予定があったことが示されますが、4 月 6 日の時点でクエリを実行すると、2 月 12 日の予定が表示されます。
このテンポラル データベースのタイム トラベル機能により、データベース内のエラーの修正方法に関する情報を記録できます。これは、改訂がいつ行われたかを記録し、時間の経過とともにデータがどのように改訂されたかに関するクエリを可能にする、データの真の監査状況に必要です。
ほとんどのビジネス情報は、真の監査記録を提供し、ビジネス インテリジェンスを最大化するために、このバイテンポラル スキームに格納する必要があります。したがって、リレーショナル データベースでのサポートが必要になります。各データ項目は、2 次元時間モデルで (場合によっては無制限の) 正方形を占めることに注意してください。これが、GIST インデックスを使用してバイテンポラル インデックス作成を実装することが多い理由です。ここでの問題は、GIST インデックスが実際には地理データ用に設計されており、時系列データの要件が多少異なることです。
PostgreSQL 9.0 の除外制約は、時間データを編成する新しい方法を提供する必要があります。たとえば、トランザクションと有効な時間の PERIOD が同じタプルに対して重複してはなりません。