Transaction Time
Download
Report
Transcript Transaction Time
CS240A: Databases and Knowledge Bases
A Taxonomy of Temporal Databases
Carlo Zaniolo
Department of Computer Science
University of California, Los Angeles
Revised : January 2003
Valid Time and Transaction Time
Valid Time of a fact: when the fact is true in the
modeled reality
Transaction Time of a fact: when it was recorded
in the database
Thus we have four different kinds of tables:
1.
Snapshot
2.
Valid-time
3.
Transaction-time
4.
Bitemporal
Example: Tom's Employment History
On January 1, 1984, Tom joined thefaculty as an
Instructor.
On December 1, 1984, Tom completed his
doctorate, and so was promoted to Assistant
Professor effective retroactively on July 1, 1984.
On March 1, 1989, Tom was promoted to
Associate Professor, effective July 1, 1989
(proactive update).
Queries and Updates
A transaction time table is append only it keeps the history
of the updates made on the database.
Transaction time tables supports rollback queries, such as:
On October 1, what rank was our database showing for Tom?
A valid time table can be updated: e.g., Tom’s past record
is changed once his rank is changed retroactively.
Valid time tables support historical queries, such as:
What was Tom’s rank on October 1 (according to our current
database)?
Bitemporal Tables
Bitemporal Tables are appendonly and supports
queries of both kinds (rollback&historical) such as:
On
October 1, 1984, what did we think Tom's rank was
at that date?
TSQL3:
SELECT Rank
FROM Faculty AS F
WHERE Name = 'Tom‘
AND
VALID(F) OVERLAPS DATE '19841001‘
AND
TRANSACTION(F) OVERLAPS DATE '19841001'
Overview of Temporal Data Models
What is timestamped?
Tuples
Attributes
Group
of Attributes
Granularity of time-stamps:
Single
instant in time (point-based representation)
Maximum continuous periods
Set of periods
Explicit (operators on time-stamps) vs. implicit
data model (as TSQL2)
More Timestamps?
The value of an individual attribute
Groups of attribute values
Individual tuple
Set of tuples: Generally used for transaction time, to
timestamp a set of tuples inserted or modified by a
transaction.
Object: O-O DBs, XML documents
Object graph: E.g., associate a connected set of modules
(a configuration) with a particular version identifier.
Schema Item: support for schema versions represents a
difficult and important problem
Events and time series: very important!
Desiderata for a Temporal Data Model
Capture the semantics of timevarying information
Retain simplicity of the relational model: Strict
superset of the relational model
Present all the information concerning an object in
a coherent fashion
Ensure ease of implementation
Ensure high performance
Temporal Databases:
State of the Art
Over 40 temporal data models and associated
temporal query languages have been defined.
Design space has been fairly well covered.
A single data model satisfying all desirable
objectives appears to be unattainable.
TSQL2: a consensus approach proposed for
inclusion in SQL3 standards.
TSQL2
supports valid time, transaction-time and
bitemporal relations, and
Uses
set of periods as its basic representation for time--but it is an implicit temporal model.