A bitemporal table records both the history of the facts and the history of changes to the records in the database. Valid time is the time when a fact is effective in reality.
Transaction time denotes the time when the record is effective in the database.
The diversity of possible queries makes bitemporal tables versatile and useful in many applications. It is our hope that the SpyTime benchmark will be used as a basis for comparing the performance of different bitemporal database management systems. It should also be noted that our benchmark is not intended for the comparison of the descriptive and expressive power of query languages. In fact, a system satisfies the requirements of SpyTime regardless of the query language it supports, as long as that query language is powerful enough to support the semantics of the queries listed here. The scheme we use as our bitemporal benchmark is a database that records spy activities in different cities.