TimeDB - A Bitemporal Relational DBMS

TimeDB is a bitemporal relational database system based on SQL. It supports a query language, a data manipulation language, a data definition language and assertions/constraints.

TimeDB was developped by Andreas Steiner. Details about the implementation can be found in his Ph.D. thesis. His thesis also contains definitions, concepts and implementation descriptions not only for temporal relational but also for temporal object-relational and temporal object-oriented database management systems, based on a complete temporal data model including operations (i. e. query language, a data manipulation language, a data definition language and assertions/constraints). Further, the thesis proposes a general approach to define and implement data models dealing with dimensional data (time, spatial data etc.).

Version 1 of TimeDB was written using SICStus Prolog and was ported to run with SWI Prolog. Version 2 of TimeDB is based on Java, uses JDBC, has an API and offers more functionality.

TimeDB supports the temporal query language ATSQL2, which was designed by Michael Boehlen, Christian Jensen, Richard Snodgrass and Andreas Steiner.

ATSQL2 is the result of integrating three different approaches, namely
TimeDB runs as a frontend to the commercial (relational) database system Oracle. ATSQL2 statements (queries, updates, and assertions) are compiled into (sequences of) SQL-92 statements which are executed by the backend. This approach guarantees a high portability between different platforms and different DBMS backends. TimeDB provides bitemporal statements. It excels in a seamless integration of time into databases by supporting upwards compatibility and temporal upwards compatibility.

A SQL main memory interpreter is shipped with release 1.0, such that TimeDB can be run without Oracle.

If you have questions, send an email to andreas.steiner@ timeconsult.com.