2. Temporal Database (Reflective Report)
Contents
Introduction ............................................................................................................................................. 2
Overview ............................................................................................................................................. 2
Introduction of Temporal Database .................................................................................................... 2
Background ............................................................................................................................................. 3
History of Temporal Database ............................................................................................................ 3
Focus ....................................................................................................................................................... 4
Discussion ............................................................................................................................................... 5
Features of Temporal Database........................................................................................................... 5
Implementation of Temporal Database ............................................................................................... 5
Forms of Temporal Database .............................................................................................................. 6
Valid Time ...................................................................................................................................... 6
Transaction Time ............................................................................................................................ 6
Conclusion .............................................................................................................................................. 7
Reference ................................................................................................................................................ 8
1
Physical Database Design (CPT 309)
Hussain Azmee (19012)
3. Temporal Database (Reflective Report)
Introduction
Overview
A temporal database contains time-varying data. Time is an important aspect of all real-world
phenomena. Events occur at specific points in time; objects and the relationships among objects
exist over time. This report includes a brief description of Temporal Database, Background of
Temporal database which include history and also will discuss of the temporal database where
features, implementation and forms of temporal database will be discussed and a Conclusion.
Introduction of Temporal Database
Most applications of database technology are temporal in nature. Examples include financial
applications such as portfolio management, accounting, and banking; record-keeping
applications such as personnel, medical-record, and inventory management; scheduling
applications such as airline, train, and hotel reservations and project management; and
scientific applications such as weather monitoring.Applications such as these rely on temporal
databases, which record time referenced data. ( Jensen)
Temporal database stores data relating to time instances. It offers temporal data types and stores
information relating to past, present and future time, for example, the history of the stock
market or the movement of employees within an organization. Thus, a temporal database stores
a collection of time related data. (Patel, 2003)
2
Physical Database Design (CPT 309)
Hussain Azmee (19012)
4. Temporal Database (Reflective Report)
Background
History of Temporal Database
A temporal database is like a standard database, with one large exception: it understands and
logs the passing of time. 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. (Newth, n.d.)
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. (Newth, n.d.)
3
Physical Database Design (CPT 309)
Hussain Azmee (19012)
5. Temporal Database (Reflective Report)
Focus
A temporal database is a database with built-in support for handling data involving time, for
example a temporal data model and a temporal version of Structured Query Language (SQL).
More specifically the temporal aspects usually include valid time and transaction time. These
attributes can be combined to form bitemporal data. (Temporal Database, n.d.)
The main focus of the report will be the features and implementation of temporal database and
forms of temporal database.
4
Physical Database Design (CPT 309)
Hussain Azmee (19012)
6. Temporal Database (Reflective Report)
Discussion
Features of Temporal Database
Features for managing and accessing temporal data which temporal databases may provide
include:
A time period data type, including the ability to represent time periods with no end
(infinity or forever)
The ability to define valid and transaction time period attributes and bitemporal
relations
System-maintained transaction time
Temporal primary keys, including non-overlapping period constraints
Temporal constraints, including non-overlapping uniqueness and referential integrity
Update and deletion of temporal records with automatic splitting and coalescing of time
periods
Temporal queries at current time, time points in the past or future, or over durations.
(Temporal Database, n.d.)
Implementation of Temporal Database
Temporal data management is currently being implemented in each individual application in
an ad-hoc manner, with little support from the DBMS. Writing temporal queries in SQL-92
can be very mind-numbing, and it has been shown that a temporal SQL can significantly reduce
the amount and difficult of code needed to express temporal queries. Temporal data
management applications could thus benefit substantially from built-in support.
Temporal databases extend conventional databases by associating timestamps with facts.
Implementing a temporal database management system on top of a conventional DBMS has
generally not been pursued because it cannot take advantage of well-known temporal
implementations techniques such as temporal indexes, temporal storage structures, and
temporal join and coalescing algorithms. Further, it seems that there has been an implicit
assumption that the performance of temporal DBMSs should be similar to that of conventional
DBMSs, even when a temporal DBMS manages multiple versions of data and a conventional
DBMS manages only one version. However, building a complete DBMS from bottom up is a
very large task that may only be accomplished by the major DBMS vendors.(Torp, Jensen, &
Snodgrass)
5
Physical Database Design (CPT 309)
Hussain Azmee (19012)
7. Temporal Database (Reflective Report)
Forms of Temporal Database
Valid Time
The valid time of a database object is the time when the object is effective or holds (istrue) in
reality. The time when the event occurred, took place in reality. For example, in a banking
system, the payments and withdrawals made by a customer have a valid time associated with
the time the customer performs the transaction at the bank. Another example would be, in a
football competition, when the clubs won the competition i.e. the times when Arsenal won the
F.A Cup competition.
Objects in the temporal database system will have a time component associated to it; this will
hold either the valid time or the transaction time. (Patel, 2003)
Transaction Time
A database object is stored in a database at some point in time. The transaction time of an object
is the time when the object is stored in the database, the time that it is present in the database.
For example, in a banking system, the transaction time of a withdrawal would be form the time
the clerk entered the payment of withdrawal into the database to the time that it was made
invalid in the database. Another example would be, in a company situation, an employee
receives a pay rise but it comes into effect when the payroll clerk enters this salary rise into the
database. Transaction time values cannot be after the current time. (Patel, 2003)
6
Physical Database Design (CPT 309)
Hussain Azmee (19012)
8. Temporal Database (Reflective Report)
Conclusion
Temporal database express the data in real time. It always shows the current state, same as
when the data was last updated. Built-in real time is the primary baseline. It also stores data for
certain period of time.
Nowadays temporal database is being used in many database management system. Time is
critical. The temporal data management support in database helps companies implement timeaware applications and queries with minimal effort. Temporal database is easy to deal with
and record that change with the time is more convenient. Update and deletion of temporal
records with automatic splitting and coalescing of time periods is easy.
7
Physical Database Design (CPT 309)
Hussain Azmee (19012)
9. Temporal Database (Reflective Report)
Reference
Jensen, C. S. (n.d.). Introduction to Temporal Database Research. Retrieved from
http://infolab.usc.edu/csci599/Fall2001/paper/chapter1.pdf
Newth, A. (n.d.). What is temporal database? Retrieved August 5, 2013, from WiseGeek:
http://www.wisegeek.com/what-is-a-temporal-database.htm
Patel, J. (2003). Temporal Database System. London: Department of Computing, Imperial College,
University of London.
Temporal Database. (n.d.). Retrieved August 9, 2013, from wikipedia:
http://en.wikipedia.org/wiki/Temporal_database
Torp, K., Jensen, C. S., & Snodgrass, R. T. (n.d.). Stratum Approaches to Temporal DBMS
Implementation. Stratum Approaches to Temporal DBMS Implementation. Retrieved August
8, 2013
8
Physical Database Design (CPT 309)
Hussain Azmee (19012)