Download ch5c - UCLA Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsoft Jet Database Engine wikipedia , lookup

Database wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Clusterpoint wikipedia , lookup

Serializability wikipedia , lookup

Concurrency control wikipedia , lookup

Functional Database Model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Versant Object Database wikipedia , lookup

Relational algebra wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
CS240A: Databases and Knowledge Bases
A Taxonomy of Temporal DBs
Carlo Zaniolo
Department of Computer Science
University of California, Los Angeles
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?
 Tuple
timestamping
 Attributevalue
timestamping
Tuple Timestamping and Coalescing

Time stamping the individual tuples:
deptno
start
end
Engineer
d01
1995-01-01
1995-05-31
70000
Engineer
d01
1995-06-01
1995-09-30
10003
70000
Sr Engineer
d02
1995-10-01
1996-01-31
10003
70000
Tech Leader
d02
1996-02-01
1996-12-31
name
empno
salary
title
Bob
10003
60000
Bob
10003
Bob
Bob
If we want the salary history, we have to coalesce
the last three tuples into one:
name
empno
salary
start
end
Bob
10003
60000
1995-01-01
1995-05-31
Bob
10003
70000
1995-06-01
1996-12-31
Attribute Timestamping
Time-stamped tuples in relations
name
empno
salary
title
deptno
start
end
Bob
Bob
Bob
Bob
10003
10003
10003
10003
60000
70000
70000
70000
Engineer
Engineer
Sr Engineer
Tech Leader
d01
d01
d02
d02
1995-01-01
1995-06-01
1995-10-01
1996-02-01
1995-05-31
1995-09-30
1996-01-31
1996-12-31
 Time-stamped
name
empno
attributes: Temporal grouping
salary
title
60000
Engineer
1995-01-01: 1996-05-31
Bob
1995-01-01:
1996-12-31
deptno
d01
1995-01-01: 1995-09-30 1995-01-01: 1995-09-30
10003
1995-01-01:
1996-12-31
70000
1995-06-01:1996-12-31
Sr Engineer
1995-10-01:1996-01-31
Tech Leader
1996-02-01: 1996-12-31
d02
1995-10-01: 1996-12-31
What Is Timestamped?







The value of an individual attributes: temporally grouped data
models.
Individual tuples
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.
Granularity of time-stamps:

Maximum continuous periods
 Set of periods
 Single instant in time (point-based representation—avoids
coalescing)

Plethora of data models and query language extensions thus proposed
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.