The TSQL2 language, extends SQL for querying valid
time, transaction time, and bitemporal relational databases. 
 TEMPORAL  DATABASES
In a temporal database, the conditions may involve
time in addition to attributes. 
A pure time condition involves only time
PURE TIME CONDITIONS:
  Suppose a
user wants to select all employee versions that were valid at any point during
1997. 
                
SELECT NAME
                
FROM   EMPLOYEE 
                 WHERE   [t.VST, t.VET] OVERLAPS [1997-01-01,
1997-12-31
ATTRIBUTE AND TIME CONDITION 
Suppose we wish to retrieve all EMP_VT tuple
versions t for
employees who worked in department 5 at any time
during 1997.
 SELECT 
*  FROM  EMPLOYEE WHERE 
 ([t.VST,
t.VET] OVERLAPS [1997-01-01, 1997-12-31]) AND (t.DNO = 5) 
3.3   Common operations used in queries
[t.VST, t.VET] INCLUDES [t1, t2]              Equivalent
to  (t1>= t.VST AND t2<= 1 t.VET )
[t.VST, t.VET] INCLUDED_IN [t1, t2]      Equivalent to (t1 <=1
t.VST AND t2>= t.VET) 
[t.VST, t.VET] OVERLAPS [t1, t2]                         Equivalent to (t1 1<= t.VET AND t2>= t.VST) 
[t.VST, t.VET] BEFORE [t1, t2]                   Equivalent to  
(t1 >=t.VET) 
[t.VST, t.VET] AFTER [t1, t2]                     Equivalent
to   (t2<= t . VST)             
[t.VST, t.VET] MEETS_BEFORE [t1, t2]      Equivalent to   (t1
= t.VET + 1 )    
[t.VST, t.VET] MEETS_AFTER [t1, t2]      Equivalent to   (t2
+ 1 = t.VST )
For any two time periods [t1, t2] and [t3, t4] in a
temporal element, the
following three conditions must hold: 
            • [t1, t2] intersection [t3, t4] is empty. 
            •
t3 is not the time point following t2 in the given granularity. 
            •
t1 is not the time point following t4 in the given granularity.
 
COALESCING OF TIME PERIODS 
             If two time periods [t1, t2] and [t3, t4] are
adjacent, they are combined into a single time period [t1, t4]. 
SELECT   OPERATION
    select_item_list 
   FROM table_name_list 
   WHEN temporal_comparison_list 
   WHERE search_condition_list 
INSERT OPERATION:
INSERT INTO  <table-name> (<column-name-list>)
VALUES <field-name values> 
DELETION 
OPERATION :
DELETE  FROM <table-name> 
            WHEN     <valid-time>
            WHERE  < condition>
UPDATE  OPERATION:
UPDATE <table name>
SET <attribute-name=new value> 
WHEN <valid_time> WHERE <condition>
CREATE  TABLE
The CREATE TABLE statement is extended with an optional
AS-clause to allow users to declare
different temporal options. The following options are available: 
 AS VALID STATE <granularity>            (valid time relation with valid
time period) 
 AS VALID EVENT <granularity>            (valid time relation with valid
time point) 
 AS TRANSACTION             (transaction time relation with
transaction time period) 
 AS VALID STATE
<granularity> AND TRANSACTION    (bitemporal relation, valid time period) 
 AS VALID EVENT <granularity> AND TRANSACTION     (bitemporal relation, valid time point) 
 
   
No comments:
Post a Comment