# Bitemporal modeling

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Bitemporal_modeling
> Markdown URL: https://mediated.wiki/source/Bitemporal_modeling.md
> Source: https://en.wikipedia.org/wiki/Bitemporal_modeling
> Source revision: 1352157026
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Case of database modeling

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages) This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (April 2011) (Learn how and when to remove this message) This article needs more citations. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Bitemporal modeling" – news · newspapers · books · scholar · JSTOR (April 2011) (Learn how and when to remove this message) (Learn how and when to remove this message)

**Bitemporal modeling** is a specific case of [temporal database](/source/Temporal_database) [information modeling technique](/source/Information_modeling) designed to handle historical data along two different [timelines](/source/Timeline).[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](/source/Financial_reporting) it is often desirable to be able to recreate an old [report](/source/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 can be done using [relational databases](/source/Relational_database) and [graph databases](/source/Graph_database). As such, bitemporal modeling is considered different from [dimensional modeling](/source/Dimensional_modeling) and complementary to [database normalization](/source/Database_normalization). The [SQL:2011](/source/SQL%3A2011) standard provides language constructs for working with bitemporal data. However, as of 2011 many of the current solutions were 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. One example can be to include event [date-timestamp](/source/Date-timestamp) (EDTS) and load [datestamp](/source/Datestamp) (LDS).

## Benefits of bitemporal modeling

By focusing on completeness and accuracy of data, bitemporal modeling facilitates the creation of complete audit trails of data. All data becomes immutable. Specifically this allows for queries which provide:

1. The most accurate data possible as we know it now

1. Data as we knew it at any point in time

1. When and why the most accurate data we had changed

## Implementations in notable products

- [MarkLogic](/source/MarkLogic) introduced bitemporal data support in version 8.0. Time stamps for Valid and System time are stored in JSON or XML documents.[2]

- [TerminusDB](/source/TerminusDB) is an open source document-oriented graph database that uses [delta encoding](/source/Delta_encoding) and provides bitemporal functionality[3]

## See also

- [Temporal database](/source/Temporal_database)

## References

1. **[^](#cite_ref-1)** ["Temporal Patterns"](https://martinfowler.com/eaaDev/timeNarrative.html#dimensions). *martinfowler.com*. Retrieved 2017-04-04.

1. **[^](#cite_ref-2)** Bridgwater, Adrian (24 November 2014). ["Data Is Good, 'Bidirectionalized Bitemporal' Data Is Better"](https://www.forbes.com/sites/adrianbridgwater/2014/11/24/data-is-good-bidirectionalized-bitemporal-data-is-better/#5424ff9b567b). *[Forbes](/source/Forbes)*.

1. **[^](#cite_ref-3)** ["terminusdb/terminusdb.pdf at dev · terminusdb/terminusdb"](https://github.com/terminusdb/terminusdb). *GitHub*. Retrieved 2021-09-12.

v t e Data warehouses Creating a data warehouse Concepts Database Dimension Dimensional modeling Fact OLAP Star schema Snowflake schema Reverse star schema Aggregate Single version of the truth Variants Column-oriented DBMS Data hub Data mesh Ensemble modeling patterns Anchor modeling Data vault modeling Focal point modeling HOLAP MOLAP ROLAP Operational data store Elements Data dictionary/Metadata Data mart Sixth normal form Surrogate key Fact Fact table Early-arriving fact Measure Dimension Dimension table Degenerate Slowly changing Filling Extract, transform, load (ETL) Extract, load, transform (ELT) Extract Transform Load Using a data warehouse Concepts Business intelligence Dashboard Data mining Decision support system (DSS) OLAP cube Data warehouse automation Languages Data Mining Extensions (DMX) MultiDimensional eXpressions (MDX) XML for Analysis (XMLA) Tools Business intelligence software Reporting software Spreadsheet Related People Bill Inmon Information factory Ralph Kimball Enterprise bus Dan Linstedt Products Comparison of OLAP servers Data warehousing products and their producers

---
Adapted from the Wikipedia article [Bitemporal modeling](https://en.wikipedia.org/wiki/Bitemporal_modeling) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Bitemporal_modeling?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
