A temporal database is like a standard database, with one large exception: it understands and logs the passing of time. For example, if someone worked at a company from 2011 to 2020, the temporal database will be able to store both dates as when the time starts, and when it ends. A standard database can only show that the employee is hired, and his or her employee information would have to be deleted when the employee leaves the company, because standard databases only understand the present. This standard was created in 1993, and implemented in 1994. All temporal databases include a valid time and transaction time integer that shows when the time happened in real life, and when the database was modified to accept the change.
Databases, in their early format, were only made to store strings of text and numbers, and they did not recognize the passage of time. This created several problems, the most obvious one being that time-based events could not be tracked from beginning to end, but only by the event’s present state. Another problem that arose from this is that if a primary key, or row name, was associated with a date, then that primary key could be used over and over, creating redundant data.
To alleviate these problems, the database community was called on to make a temporal variable that could be integrated into the database format. The temporal database was created in 1993 and implemented in 1994. With this change, databases were able to track when an event began and when it ended, which helped many businesses, government offices and schools, among others.
Two different variables were added into the temporal database schema: valid time and transaction time. Valid time is when the data entered happened in real life. For example, if someone changed his or her address, the valid time would be when the address change occurred. Transaction time is when the database recorded the event, which could be several hours or days later. The transaction time is constantly updating so database administrators can check to see how current data are.
As a result of using two variables for measuring time, there are three different temporal database types. Historical databases prioritize valid time, and rollback databases do the opposite by prioritizing transaction time. Most modern temporal databases are bi-temporal databases, or those that use valid and transaction time equally. The creation of temporal databases means administrators are able to use a wide variety of time queries to correctly ascertain time-sensitive information.