In temporal databases, transaction time is the time when some data has been loaded into a database. The time when a transaction is valid can be called the transaction time-period. It is a technical timeline controlled by a integration layer (for example a data warehouse). More formally, it is the point-in-time during which a fact stored in the database is considered to be true.
The period is an interval based on load times (called load datetime in data vault), also called inscription timestamp.), state timeline
For many reasons, transaction time (when data arrives from a source system) is almost always different from valid time (when the event happened in the real world). For a data warehouse to unambiguously report what actually happened in the past it must be able to combine these two timelines. When the ending transaction time is unknown, it may be considered as <code>until_changed</code>. Academic researchers and some relational database management systems (RDBMS) have represented <code>until_changed</code> with the largest timestamp supported or the keyword <code>forever</code>. This convention is a technical workaround, and not technically precise.
History
The term transaction time was coined by Richard T. Snodgrass and his doctoral student Ilsoo Ahn (1986).
As of December 2011, ISO/IEC 9075, Database Language SQL:2011 Part 2: SQL/Foundation included clauses in table definitions to define "system-versioned tables" (that is, transaction-time tables).
See also
- Valid time, when an event in a database happened in the real world
- Decision time, when a decision was made about interpretation of history in a database
- Using transaction time
