Managing Time in Relational Databases

How to Design, Update and Query Temporal Data


  • Tom Johnston, Chief Scientist, Asserted Versioning, LLC, Atlanta, GA
  • Randall Weis, Founder and CEO, InBase Inc., Lemont, IL, USA

Managing Time in Relational Databases: How to Design, Update and Query Temporal Data introduces basic concepts that will enable businesses to develop their own framework for managing temporal data. It discusses the management of uni-temporal and bi-temporal data in relational databases, so that they can be seamlessly accessed together with current data; the encapsulation of temporal data structures and processes; ways to implement temporal data management as an enterprise solution; and the internalization of pipeline datasets. The book is organized into three parts. Part 1 traces the history of temporal data management and presents a taxonomy of bi-temporal data management methods. Part 2 provides an introduction to Asserted Versioning, covering the origins of Asserted Versioning; core concepts of Asserted Versioning; the schema common to all asserted version tables, as well as the various diagrams and notations used in the rest of the book; and how the basic scenario works when the target of that activity is an asserted version table. Part 3 deals with designing, maintaining, and querying asserted version databases. It discusses the design of Asserted Versioning databases; temporal transactions; deferred assertions and other pipeline datasets; Allen relationships; and optimizing Asserted Versioning databases.
View full description


IT professionals directly concerned with managing data and providign access to it. This inlcudes data modelers, database developers, database designers, data architects, database analysts, corporate database administrators, SQL programmers, and applications systems developers.


Book information

  • Published: July 2010
  • ISBN: 978-0-12-375041-9


"You cannot escape temporal data. You need to get over it, sit down and read what Tom and Randy are telling you in this book. "--Joe Celko, Independent Consultant & Columnist for Intelligent Enterprise, USA

"The authors present an original and comprehensive conceptual approach called Asserted Versioning, which includes support for bi-temporality and is a significant advance in the theory and practice of managing time-varying data."--Richard Snodgrass, Professor of Computer Science at the University of Arizona

"Information technology consultants Johnston and Weis explain how to integrate time into a business data system, so that the past, present, and projected future of things can be accessed easily and quickly. Tables that show time are versioned tables, and they show how using them lowers the cost and increases the value of temporal data, data that shows change through time. They introduce temporal data management and asserted versioning, then look at designing, maintaining, and querying asserted version databases."--SciTech Book News

Table of Contents

About the Authors


Part 1 An Introduction to Temporal Data Management

Chapter 1 A Brief History of Temporal Data Management

Chapter 2 A Taxonomy of Bi-Temporal Data Management Methods

Part 2 An Introduction to Asserted Versioning

Chapter 3 The Origins of Asserted Versioning: Computer Science Research

Chapter 4 The Origins of Asserted Versioning: IT Best Practices

Chapter 5 The Core Concepts of Asserted Versioning

Chapter 6 Diagrams and Other Notations

Chapter 7 The Basic Scenario

Part 3 Designing, Maintaining and Querying Asserted Version Databases

Chapter 8 Designing and Generating Asserted Versioning Databases

Chapter 9 An Introduction to Temporal Transactions

Chapter 10 Temporal Transactions on Single Tables

Chapter 11 Temporal Transactions on Multiple Tables

Chapter 12 Deferred Assertions and Other Pipeline Datasets

Chapter 13 Re-Presenting Internalized Pipeline Datasets

Chapter 14 Allen Relationship and Other Queries

Chapter 15 Optimizing Asserted Versioning Databases

Chapter 16 Conclusion

Appendix: Bibliographical Essay

The Asserted Versioning Glossary