Front
Page
System Information |
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. |