Abstract:
One of the frequent requirements for database applications is the necessity to keep a full history of changes in the states of objects persisted in the database. Despite the significant development, within the last few years, of database management systems (DBMS), which support the production of applications of this class, the development of such applications is still not a trivial task. This is due to the fact that the temporal extensions offered by the DBMS meet the needs to support temporal aspects to a certain, varying extent only. Although these extensions can make it easier to produce applications, the facilitations mainly concern the construction of relations and temporal queries. Operations of manipulating temporal data still require an external software casing in the form of e.g. triggers or stored procedures.
The aim of this paper is to present a relational bitemporal database model that meets the requirements for databases with a full history of changes, and to discuss the nature of data write and correction operations that can ensure data integrity. In the supplement, an example of the use of temporal extensions of the Oracle database management system in this type of software applications is presented.