This book presents perhaps the first rigorous analysis of the issues surrounding the use of temporal data in a relational database. Temporal data may be thought of as information contained in relations (i.e. tables) which changes over time. This situation most often arises in data warehouse environments, but the authors rightly point out that current data (e.g. in an Operational Data Store) must be integrally related to the history of that data over time.
This book is not for the faint-hearted. Its approach is quite rigorous and abstract. In order to comprehend this book in any meaningful fashion, the reader will have to develop an understanding of predicate calculus, which is a specialized version of set theory and its logic. Previous exposure to "Foundation for Object/Relational Databases: The Third Manifesto," by Date and Darwen, is highly recommended. While their approach is necessary, it does entail endless dry proofs of the prerequisite material needed to develop a general theory of temporal data. The authors leave few issues not covered in an effort to present a fully rigorous analysis of the issues. The book practically begs for a companion book to present a simplified summary of their findings and to contrast them with current data warehouse practices.
The book begins with a review of relational concepts and an introduction to Tutorial D, which was first presented in "The Third Manifesto." The authors then develop a theory of time in the database, which is based on earlier work by Lorentzos. Their approach is to create a new data type for timestamped data and, more importantly, for intervals of time. After developing a relational model for these temporal constructs, they propose a generic design for current, historical and current and historical databases using the Supplier-Parts Database which readers will likely have been exposed to in previous writings by Date. They develop methods to implement integrity constraints, queries and updates, and make a valid comparison between stated times, which are beliefs about the data, and logged times, which are facts the database records about these beliefs. Since our beliefs about time can change, this is an important distinction.
The overall approach is to develop a model of data which is highly related to an audit trail, which should be viewed distinctly from the concept of a database transaction log. Unfortunately, in order to implement the model, an interval timestamp is required for every attribute, and historical data must be presented in the Sixth Normal Form, which they introduce as a decomposition of each historical record into a relation for each data attribute, with its associated timestamp.
While their approach is entirely correct, realization of their ideas would be a prohibitive task in current databases. A database that provided an automated construction of current and historical values would be necessary to implement their model in a consistent and economical fashion. Their solution is in many ways radically different than the typical "Facts and Dimensions" approach of star-schema data warehouses which are the most popular current tool for the analysis of historical data. The utility of the dimensional "slice and dice" approach to data analysis is beyond doubt, and the authors would need to provide some mechanism to allow for this type of analysis to be performed under their alternative approach in order for a commercial database vendor to consider supporting their propositions.
Still, there is much original insight to be gleaned from the author's analyses which will reward anyone who has the talent and perseverance to thoroughly read this book. I especially like the way in which the book provides an integrated means of analysis for current and historical data. Far too many other authors in the data warehouse literature have ignored at their own peril the undeniable link between transactional and analytic data. I can only hope that database vendors are sufficiently inspired by this book to implement their eminently reasonable and logically correct answers to the questions of temporal data.