Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Commitment ordering wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Clusterpoint wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Serializability wikipedia , lookup
Concurrency control wikipedia , lookup
Relational algebra wikipedia , lookup
Versant Object Database wikipedia , lookup
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.