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.