有効時間

時間データベースでは、有効時間とは、現実世界でイベントが発生したり、何かが真実であったりする期間、またはより正式には、モデル化された現実で事実が有効であった期間です。

有効時間期間はイベント時間に基づく間隔であり、データ ボールトではイベント日時と呼ばれます。[ 1 ] [ 2 ]他の名前は、アプリケーション時間期間[ 1 ]または実際のタイムラインです。[ 1 ] SQL:2011 は、いわゆるアプリケーション時間期間テーブルを通じて有効時間をサポートしています。[ 3 ] [ 4 ] [ 5 ] [ 6 ]データベース テーブルでは、有効時間は多くの場合、やなどの 2 つの追加のテーブル列によって表されます。時間間隔は、下限( で示される)で閉じられ、上限( で示される)で開きますstart_validtimeend_validtime[)

統合層(データウェアハウスなど)では、有効時間はデータウェアハウスにデータを配信するソースシステムによって制御されます。 [ 7 ]多くの理由から、有効タイムラインはトランザクションタイムライン(データがウェアハウスに到着する時間)とは異なり、データウェアハウスがこれら 2 つのタイムラインを組み合わせることで過去に実際に何が起こったかを明確に報告できることが重要です。[ 7 ]バイテンポラルデータモデルでは、有効時間とトランザクション時間を直交座標系で 2 次元的に表現できます。データが統合層から配信され、プレゼンテーション層(多くの場合、次元モデルまたは幅の広いテーブル)で表現される場合、データを1 つのタイムラインのみに配置することが望ましいことがよくあります。

歴史

有効時間という用語は、リチャード・T・スノッドグラスと彼の博士課程の学生イルスー・アン(1986)によって造られた。[ 8 ]

2011 年 12 月現在、ISO/IEC 9075、データベース言語SQL:2011パート 2: SQL/Foundation には、テーブル定義に「アプリケーション期間テーブル」(つまり、有効時間テーブル) を定義する句が含まれています。

日付現実世界で何が起こったのかデータベースアクションデータベースが示すもの
1975年4月3日ジョンが生まれる何もないジョン・ドウという人は存在しない
1975年4月4日ジョンの父親がジョンの出生を正式に報告挿入:人物(ジョン・ドウ、ヤング・スーパーマン)ジョン・ドゥはスモールビルに住んでいる
1994年8月26日卒業後、ジョンはビッグタウンに引っ越したが、新しい住所を登録するのを忘れた。何もないジョン・ドゥはスモールビルに住んでいる
1994年12月26日何もない何もないジョン・ドゥはスモールビルに住んでいる
1994年12月27日ジョンは新しい住所を登録する更新日:人物(John Doe、Bigtown)ジョン・ドゥはビッグタウンに住んでいる
2001年4月1日ジョンが死ぬ削除済み:人物(John Doe)ジョン・ドウという人は存在しない

有効時間とは、現実世界で事実が真である時間です。上記の例では、Person テーブルに と という 2 つの追加フィールドがあり、これらはvalid_from人物valid_toの住所が現実世界で有効であった時期を指定します。1975 年 4 月 4 日、ジョンの父親は誇らしげに息子の出生を登録しました。その後、担当者が、ジョンが 4 月 3 日からスモールビルに住んでいることを示す新しいエントリをデータベースに挿入します。データが 4 日に挿入されたにもかかわらず、データベースでは情報が 3 日から有効であると示されていることに注目してください。担当者はまだジョンが別の場所に移動するかどうか、またはいつ移動するかを知らないため、データベースの にはvalid_to無限大 (∞) または非常に最近の日付 (たとえば 2300-01-01) が入力されます。その結果、データベースには次のエントリが作成されます。

人物(ジョン・ドゥ、ヤング・スーパーマン、 1975年4月3日、∞)

1994年12月27日、ジョンは1994年8月26日から住んでいるビッグタウンの新しい住所を報告しました。ビッグタウンの職員は、データベースに登録されているジョン・ドウの現在の住所を変更せず、新しい住所を追加しました。

人物(ジョン・ドゥ、ビッグタウン、1994年8月26日、∞)

元のエントリ「人物(John Doe、Smallville、1975-04-03、∞)」は更新されます(削除されません!)。Johnが1994-08-26にSmallvilleを離れたことが分かっているので、エントリはvalid_to入力可能です。これで、データベースにはJohn Doeのエントリが2つ含まれます。

人物(ジョン・ドゥ、ヤング・スーパーマン、1975年4月3日1994年8月26日)
人物(ジョン・ドゥ、ビッグタウン、1994年8月26日、∞)

ジョンが亡くなると、データベースは再び更新されます。valid_toジョンはもはやビッグタウンに住んでいないため、現在のエントリは更新され、死亡日がビッグタウンにおける最後の日付として表示されます。新しいエントリは追加されません。データベースは次のようになります。

1975年4月3日~、1994年8月26日
人物(ジョン・ドゥ、ビッグタウン、1994年8月26日2001年4月1日)

参照

参考文献

  1. ^ a b c「バイテンポラルデータの課題に関するそれほど穏やかではないフォローアップ - Roelant Vos」
  2. ^ 「イベントAPIの基礎 | Akeneo API」 . api.akeneo.com . 2024年2月10日閲覧
  3. ^ 「Illuminated Computing | SQL:2011 Temporal Featuresの調査」 . illuminatedcomputing.com . 2024年6月18日閲覧
  4. ^ 「アプリケーション期間テンポラル表」www.ibm.com . 2024年6月18日閲覧
  5. ^ 「アプリケーション期間」 . MariaDB KnowledgeBase . 2024年6月18日閲覧。
  6. ^ 「SAPヘルプポータル」 . help.sap.com . 2024年6月18日閲覧
  7. ^ a b「バイテンポラルデータの課題への穏やかな入門 - Roelant Vos」
  8. ^ Richard T. SnodgrassとIlsoo Ahn、「Temporal Databases」、IEEE Computer 19(9)、1986年9月、35-42ページ。