Jump to content

Bitemporal modeling

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by AnomieBOT (talk | contribs) at 20:39, 11 October 2018 (Substing templates: {{Incomplete}}. See User:AnomieBOT/docs/TemplateSubster for info.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Bitemporal Modeling is an information modeling technique designed to handle historical data along two different timelines.[1] This makes it possible to rewind the information to "as it actually was" in combination with "as it was recorded" at some point in time. In order to be able to do so, information cannot be discarded even if it is erroneous. Within, for example, financial reporting it is often desirable to be able to recreate an old report both as it actually looked at the time of creation and as it should have looked given corrections made to the data after its creation.

Implementations of Bitemporal Modeling are mostly done using relational databases. As such, Bitemporal Modeling is considered different from Dimensional Modeling and complementary to database normalization. The SQL:2011 standard provides language constructs for working with bitemporal data. However, many of current solutions are still vendor-specific.

Philosophy

Bitemporal modeling uses bitemporal structures as the basic components. This results in the databases which have a consistent type of temporality for all data.

Benefits of Bitemporal Modeling

By focusing on completeness and accuracy of data Bitemporal Modeling facilitates the creation of complete audit trails of data. Specifically this allows for queries which provide:

  1. The most accurate data possible as we know it now
  2. Data as we knew it at any point in time
  3. When and why the most accurate data we had changed

See also

References

  1. ^ "Temporal Patterns". martinfowler.com. Retrieved 2017-04-04.