Front Page

Applet

ATSQL
  
UC
  
TUC
  
SEQ
  
NSEQ

System
  
Guidelines
  
Requirements
  
Doc
  
Support

Information
  
Contribution
  
Warranty
  
Related Work
  
Contact
  
Future Work

Nonsequentiality (NSEQ) is the exact opposite of sequentiality, i.e., no built-in temporal processing is provided. The database system does not interpret timestamps at all. This means that the snapshots are processed together:

As discussed in the previous section sequenced statements are attractive because they provide built-in temporal semantics that is based on viewing a database as a sequence of states. However, there are many reasonable queries that cannot be expressed as sequenced queries. Therefore a temporal query language should also allow non-sequenced queries, with no built-in temporal semantics being enforced. Non-sequentiality is attractive because it guarantees a standard non-temporal behavior of statements. ATSQL uses the modifier NSEQ VT to signal non-sequenced semantics, i.e., standard semantics with full explicit control over timestamps.

  NSEQ VT
    SELECT *
    FROM p, q
    WHERE VTIME(p) PRECEDES VTIME(q) AND A = B;

  CREATE TABLE r (C INTEGER NSEQ VT PRIMARY KEY);

  SET VT PERIOD '1974-1975' INSERT INTO r VALUES (6);
  SET VT PERIOD '1976-1978' INSERT INTO r VALUES (6);

The query joins p and q. The join is not performed at each snapshot. Instead we require that the valid time of p precedes the valid time of q. The result relation is a nontemporal one. The data definition statement makes C a nonsequenced primary key of r, i.e., independent of the time, C is a primary key of r. As a consequence only one of the insert statements can be executed without violating the integrity constraint.