Skip to main content

Developing Time-Oriented Database Applications in SQL

  • 1st Edition - July 12, 1999
  • Latest edition
  • Author: Richard T. Snodgrass
  • Language: English

Whether you're a database designer, programmer, analyst, or manager, you've probably encountered some of the challenges-and experienced some of the frustrations-associated with ti… Read more

Purchase options

Sorry, this title is not available for purchase in your country/region.

World Book Day celebration

Where learning shapes lives

Up to 25% off trusted resources that support research, study, and discovery.

Description

Whether you're a database designer, programmer, analyst, or manager, you've probably encountered some of the challenges-and experienced some of the frustrations-associated with time-varying data. Where do you turn to fix the problem and see that it doesn't happen again? In Developing Time-Oriented Database Applications in SQL, a leading SQL researcher teaches you effective techniques for designing and building database applications that must integrate past and current data. Written to meet a pervasive, enduring need, this book will be indispensible if you happen to be part of the flurry of activity leading up to Y2K.

The enclosed CD-ROM contains all of the code fragments-implemented for Oracle8 Server, IBM DB2 Universal Database, Microsoft SQL Server, and other systems-and evaluation copies of the programs discussed in the book.

Key features

* Offers incisive advice on recording temporal data using SQL data types, defining appropriate integrity constraints, updating temporal tables, and querying temporal tables with interactive and embedded SQL.* Provides case studies detailing real-world problems and solutions in areas such as event data, state-based data, partitioned data, and audit logs.* Contains over 400 code fragments with detailed explanations.

Readership

Computing students and IT professionals

Table of contents

Preface

1 Introduction1.1 A Triad of Triples1.2 The SQL Standard1.3 Implementation Considerations1.4 Conventions1.5 Readings

2. Fundamental Concepts2.1 Valid-Time State Tables2.2 Transaction-Time Tables2.3 Bitemporal Tables2.4 Summary2.5 Readings

3. Instants and Intervals3.1 Instants3.2 Intervals3.3 Predicates3.4 Constructors3.5 Implementation Considerations3.6 The Year 2000 Problem (*)3.7 Subtleties (*)3.8 Implementation Considerations (*)3.9 Summary 3.10 Readings

4. Periods4.1 Literals4.2 Predicates4.3 Constructors4.4 Implementation Considerations4.5 Summary 4.6 Readings

5 Defining State Tables5.1 Initial Schema5.2 Adding History5.3 Temporal Keys5.4 Handling Now5.5 Uniqueness Reexamined5.6 Referential Integrity5.7 Constraint Attributes (*)5.8 Implementation considerations5.9 Summary5.10 Readings

6. Querying State Tables6.1 Extracting the Current State6.2 Extracting the Prior States6.3 Sequenced Queries6.4 Non-Sequenced Variants6.5 Eliminating Duplicates6.6 Implementation Considerations6.7 Summary6.8 Readings

7. Modifying State Tables7.1 Current Modifications7.2 Sequenced Modifications7.3 Non-sequenced Modifications7.4 Modifications That Mention Other Tables (*)7.5 Temporal Partitioning (*)7.6 Implementation Considerations7.7 Summary7.8 Readings

8. Retaining a Tracking Log8.1 Defining the Tracking Log8.2 Queries8.3 Modifications8.4 Permitting Insertions8.5 Backlogs8.6 Using After Images Consistently8.7 Transaction Semantics (*)8.8 Refinements (*)8.9 Implementation Considerations8.10 Summary8.11 Readings

9. Transaction-Time State Tables9.1 Definition9.2 Maintainance9.3 Queries9.4 Temporal Partitioning (*)9.5 Vacuuming (*)9.6 Implementation Considerations9.7 Summary9.8 Readings

10. Bitemporal Tables10.1 Definition10.2 Modifications10.3 Queries10.4 Integrity Constraints10.5 Temporal Partitioning (*)10.6 Vacuuming (*)10.7 Implementation Considerations10.8 Summary10.9 Readings

11. Temporal Database Design11.1 Properly Sequencing the Design11.2 Conceptual Design11.3 Logical Design11.4 Physical Design11.5 Advanced Design Aspects (*)11.6 Benefits11.7 Application Development11.8 Implementation Considerations11.9 Summary11.10 Readings

12. Language Directions12.1 SQL-9212.2 SQL-92 Limitations12.3 SQL312.4 Periods12.5 Defining Valid-Time State Tables12.6 Querying Valid-Time State Tables12.7 Modifying State Tables12.8 Retaining a Tracking Log12.9 Transaction-Time State Tables12.10 Bitemporal Tables12.11 Capstone Case12.12 Migration12.13 Additional Constructs of SQL3 (*)12.14 Implementation Considerations12.15 Summary12.16 Readings

Prospects

A Glossary

B Principles

Bibliography

Author Index

C IndexS

Product details

  • Edition: 1
  • Latest edition
  • Published: July 16, 1999
  • Language: English

About the author

RS

Richard T. Snodgrass

Richard T. Snodgrass is Professor of Computer Science at the University of Arizona, and co-director of the TimeCenter, an international center for the support of temporal database applications on traditional and emerging DBMS technologies. His resarch interests include temporal databases, query language design, query optimization and evaluation, storage structures, database design, and software development databases.