Copyright Jay H. Vaishnav and Dr. Shashi K. Gadia 1984
1''
ACKNOWLEDGEMENTS
I am deeply indebted to Dr. Shashi K. Gadia for h i s di-
r e c t i o n of t h i s t h e s i s . Thanks are a l s o due to Dr. Donald L.
Gustafson and Dr. Martin Hardwick for t h e i r kind i n t e r e s t
and h e l p f u l criticisms.
I take t h i s opportunity to thank Dr. Edgar O'Hair and
Col. Travis Simpson of the Crosbyton Solar Power P r o j e c t for
t h e i r a c t i v e support and encouragement.
11
CONTENTS
ACKNOWLEDGEMENTS 11
LIST OF TABLES v
ABSTRACT vi
CHAPTER
I. INTRODUCTION 1
II. LITERATURE SURVEY U
2. 1 A HDB Model 4
2.2 A Survey 5
2.3 LEGOL 2.0 5
2.4 QUEL The Query Language for INGRES 8
2.5 The Temporal Query Language TQUEL 11
III. A TEMPORAL DATABASE 16
3.1 Fundamental Concepts 16
3.2 A Temporal Database Model 17
3.3 About Temporality 20
3.U Binding Temporality 21
IV. THE TEMPORAL QUERY LANGUAGE HTQUEL 28
4.1 An Overview of the Language 28
4.2 BNF of the Retrieve Statement 42
4.3 Updates to the Database 45
4.4 BNF of the Update Statements 46
4.5 Aggregate Operations 47
V. SEMANTICS OF OPERATIONS 49
5.1 Fundamental Structares 49
5.2 Temporal Predicates 51
5.3 Semantical Expressions 53
iii
VI. SOME IMPLEMENTATIONAL DETAILS 57
6-1 Algorithms for Temporal Operations 58
6.2 Algorithms for Set Operations 62
VII. CONCLUSIONS 71
REFERENCES 7a
IV
LIST OF TABLES
1. The Person R e l a t i o n 6
2 . P r o j e c t i o n s of t h e Person R e l a t i o n 7
3 . The New P r o j e c t i o n s 7
4 . The Emp R e l a t i o n 9
5 . The Hipay R e l a t i o n 9
6 . The Weight R e l a t i o n 12
7 . The Height R e l a t i o n 12
8 . The P e r s o n s R e l a t i o n 14
9- The P e r s o n n e l R e l a t i o n 23
10. Snapshot of P e r s o n n e l a t [ [ 5 , 5 ] ] 24
11. P e r s o n n e l [ [ 5 , 5 ] ] as a S t a t i c Relation 25
1 2 . A Combined Tuple f o r George 26
13. A V a l i d Temporal Tuple 27
1 4 . The Employee R e l a t i o n 29
15. The Management R e l a t i o n 30
16. The Demp R e l a t i o n 33
1 7 . The Hi t a x R e l a t i o n 35
1 8 . The C l o s u r e R e l a t i o n 37
19. The T j o i n R e l a t i o n 38
2 0 . The F u z z y - t u p l e R e l a t i o n 39
2 1 . The D i s t i n c t - t u p l e R e l a t i o n 40
ABSTRACT
The role of time in databases is being studied by re-
searchers increasingly. Temporal query languages have been
proposed for a number of historical database models. This
thesis contains a survey of some important temporal rela-
tional database models and their query languages. A new tem-
poral query language is proposed for a temporal database
model.
VI
CHAPTER I
INTRODUCTION
The following i s a brief introduction to r e l a t i o n a l da-
tabases. A r e l a t i o n a l database i s one in which a l l data i s
viewed as being stored in t a b l e s . This organization of data
was suggested by E. F. Codd [1 ]• Each row in a table has
the same format and r e f l e c t s some r e l a t i o n s h i p e x i s t i n g in
the real world. This tabulated view i s a very elegant one
because the organization of data h i g h l i g h t s relationships
clearly. The theory of r e l a t i o n a l databases has i t s founda-
tion in the s e t theory of mathematics which i s a well-devel-
oped d i s c i p l i n e .
Conventional databases are updated from time-to-time,
i.e., modifications are made t o the e x i s t i n g information,
sometimes causing l o s s of old, out-of-date data. Such data-
bases store information current t o the l a t e s t update. One
method to prevent such l o s s e s i s to time stamp data, i.e.,
a s s o c i a t e a time value with data to i n d i c a t e i t s period of
validity. The incorporation of tine inposes a chronological
order nithin the database. Such a database i s termed a
h i s t o r i c a l database.
In this thesis report, we refer to a fundamental
historical database model [3], and discuss the temporal
relational database models proposed by Jones, Mason and
Stamper [4] and Snodgrass [11]. In Chapter II we point out
some problems that exist in these models.
In Chapter III we describe the homogeneous temporal da-
tabase model being proposed by Gadia [13] and present a
query language for it. We have developed a language, HTQUEL,
to query historical relational databases that are homogene-
ous in time. The term honogeneous is explained later in this
report and is attributed to Gadia [13]. HTQUEL is an exten-
sion of QUEL and it utilizes the QUEL retrieve statement as
the fundamental query statement. The existing features of
QUEL are not discarded. The temporal operations are an addi-
tional feature introduced by us. We present a BNF [2] of our
grammar for the retrieve statement and define temporal oper-
ations in terms of certain primitives that we introduce. We
also discuss updates to temporal databases and present a BNF
[2] of our grammar for these operations. Finally, we present
some implementational details.
The Crosbyton Solar Power Project is maintaining a da-
tabase of experimental data obtained by monitoring the per-
formance of an experimental solar energy-powered system. The
data consists of readings of temperature and pressure
sensors, thermic fluid flow measurements, measurements of
ambient conditions and solar collector related data. A data
acquisition system scans the recording channels periodically
and time stamps each scan using clock time. Records generat-
ed during each scan are organized as a file sorted by time
stamps.
It is felt that the results established through this
work will serve as a foundation for future work in the area
of temporal databases. It nay also serve the needs of users
like the Crosbyton Solar Power Project.
CHAPTER I I
LITERATURE SURVEY
A number of models f o r h i s t o r i c a l d a t a b a s e s and tempo-
r a l query l a n g u a g e s have been r e p o r t e d i n l i t e r a t u r e on da-
tabase theory. A d i s c u s s i o o of r e f e r e n c e s c l o s e l y pertinent
t o t h i s t h e s i s - w o r k w i l l be p r e s e n t e d in t h i s section.
2»1 A HDB Model
Clifford and Warren [ 3 ] have added t h e time dimension
to static relations by describing a historical database
(HDB) model a s a cube composed of a t i m e - o r d e r e d s e q u e n c e of
f l a t s t a t i c r e l a t i o n s . An a t t r i b u t e , STATE, time stamps each
t u p l e and a b o o l e a n a t t r i b u t e , EXISTS, f l a g s the existence
of a t u p l e a t t h a t s t a t e - They have f o r m a l l y d e s c r i b e d the
r e l a t i o n s h i p between a HDB and an i n t e n s i o n a l logic, the
t e m p o r a l c o u n t e r p a r t of p r e d i c a t e c a l c u l u s . We f e e l t h a t it
is a theoretical work o f fundamental i m p o r t a n c e . We l e a v e
i t s relationship t o our work t o be e x p l o r e d by future re-
searchers.
2.2 A Survey
Bolour et al. [4] have compiled a survey of material
concerning the role of tine in information processing. It
contains references to diverse fields including temporal lo-
gic, linguistics, historical database models, temporal query
languages and artificial intelligence. Summaries of some of
the references highlight the concepts being introduced or
report details in brief. We have found this paper to be an
exhaustive cross-reference guide.
2.3 LESgi 2.0
Jones, Mason and Stamper [5] have designed LEGOL 2-0, a
relational algebra-like language, to query relational data-
bases. Jones and Mason [6] have described LEGOL 2.0 through
examples. Time is treated like an attribute in their model.
Each tuple has start and end times appended to it. Projec-
tions on these time attributes are allowed. Time-related op-
erations satisfy temporal queries. LEGOL 2.0 appears to be a
language capable of powerful operations. However, the ratio-
nale underlying these operations has not been described. In
our opinion, this makes it difficult for a reader to assess
the potential of certain operations described by them, in
particular, the tuple-merging operation.
Jones e t a l . [ 5 ] c l a i n t h a t a r e l a t i o n as in Table 1
can be r e s t o r e d fron i t s p r o j e c t i o n s , shown in Table 2 , us-
ing t h e tuple-merging p r o c e s s . The person r e l a t i o n records
the t i n e for which a person worked with an o r g a n i z a t i o n .
S i n c e LEGOL 2 . 0 queries h i s t o r i c a l databases, if Jack r e -
joined the o r g a n i z a t i o n from s a y , 6/6/74 to 6/6/76, a new
t u p l e would appear with t h i s information in the person r e l a -
tion as well as i t s projections. The new p r o j e c t i o n s would
appear now as shown in Table 3.
TABLE 1
The Person Relation
PERSON I START | END
Jack I 1/7/54 | 1/7/70
Jim I 3/9/53 I 3/9/69
It is unclear whether the tuple merging process can
restore the original relation. There are two tuples of Jack
to be merged now. There can be four combinations, two of
which will be illegal. In light of this problem we cannot
help but feel that clarifications would be welcome.
TABLE 2
Projections of the Person Relation
PERSON I START | END PERSON 1 START 1 END 1
Jack I 1/7/54 | Jack I 1 1/7/70 1
Jin I 3/9/53 | Jim 1 1 3/9/69 1
.i c
2(a) 2(b)
TABLE 3
The New Projections
I 1 1 1
PERSON I START I END | I PERSON | START | END
Jack I 1/7/54 | Jack I I 1/7/70
Jim I 3/9/53 | Jim 1 I 3/9/69
Jack I 6/6/74 | Jack I I 6/6/76
.J L.
3(a) 3(b)
8
2.4 QUEL The Qli^ry Language for
ING|ES
INGRES [7, 14] is a relational database system that
supports a relational calculus based query language, QUEL. A
query in QUEL is composed of range statements followed by
retrieve statements. Range statements define the scope of a
tuple variable. Retrieve statements consist of a target list
which defines the horizontal format of the target relations,
and a where clause which imposes conditions of selection on
tuples of the existing relations. QUEL also supports update
statements and aggregate operations. Nesting of statements
is disallowed. We present a QUEL query on the emp relation
of Table 4.
Example 2.1 List the name and salary of those employees of
the design department whose salary exceeds $25,000.
range of e is enp
retrieve into hipay(person=e.name,pay=e.salary)
where e. dept=design
and e.salary>25,000
The hipay relation of Table 5 shows that the intermedi-
ate results of a QUEL query are of the same type as the
original relation. The semantics of this query in tuple
relational calculus due to Ullman [8], expressed in the
notation due to Maier [9], where R is the schema for
employee, is.
TABLE 4
The Emp R e l a t i o n
NAME I DEPT 1 SALARY
george | design | 40,000
John I design i 30,000
paul 1 production 1 45,000
fred I design | 20,000
TABLE 5
The Hipay Relation
PERSON I PAY
george | 40,000
John I 30,000
10
{p (person, pay) l3e(R) (employee (e)
& P(person) = e(name)
^ P(pay) = e (salary)
G e(dept) = design
S e(salary) > 25000)}
The above expression defines the relation corresponding
to the QUEL query. It is a set of tuples p with attributes
PERSON and PAY. The expression requires the selection of tu-
ples e on schema R, belonging to the employee relation, that
have a domain value Design in the DEPT column and a domain
value exceeding 25,000 in the SALARY column. Then projec-
tions on the NAME and SALARY columns of e, renamed to PERSON
and PAY, define a tuple p.
Such a semantics may be given to certain retrieve
statements that do not contain any aggregate operators. For
queries formulated in QUEL tuple relational calculus expres-
sions of the type shown above are safe, i.e., their in-
terpretation is equivalent under limited and unlimited eval-
uation.
11
2-5 The Temporal Query Language
T2UEL
Tquel is a temporal extension of QUEL based on a tempo-
ral relational database model forwarded by Snodgrass [ 8, 9,
10]. This is a result of Snodgrass" doctoral and post-docto-
ral research and is the most recent development in this
area.
Relations are classified according to whether their
period of validity extends over a time interval or a time
instant. START, STOP times are always associated with every
interval based relation as shown in Tables 6 and 7. For ins-
tant based relations the STOP time is omitted.
This approach to the incorporation of time in rela-
tions, followed by Snodgrass [11] and Jones et al. [5],
causes units of information to be split over several tuples.
Thus there are two tuples of Fred in each of Tables 6 and 7-
This splitting of information is termed a vertical temporal
anomaly by Gadia [13].
Only those attributes which are valid over identical
intervals of time can exist together in a tuple. If attri-
butes that belong to a given relation scheme are valid over
non-identical intervals of time, it is necessary to split
the given scheme into two or more schemes. The horizontal
format of static (non-tenporal) relations is no longer
12
TABLE 6
The Weight Relation
NAME I WEIGHT | START | STOP
Fred I 150 | 01-75 | 06-76
Fred I 160 | 07-76 I 12-77
John I 2 0 0 I 03-79 | 06-79
John I 2 7 5 | 07-79 | 12-79
TABLE 7
The H e i g h t Relation
NAME I HEIGHT I START | STOP
Fred | 5« 10" | 0 1 - 7 5 | 08-76
F r e d | 6« 0 1 " | 0 9 - 7 6 | 12-77
John I 6« 04" J 0 1 - 7 3 | 03-82
13
retained. Thus Weight and Height e x i s t as two separate
relations. This r e s t r i c t i o n on t h e h o r i z o n t a l format of r e -
lations is called a h o r i z o n t a l temporal anomaly by Gadia
[13]. I t disallows a p p l i c a t i o n of the normal forms theory
[9].
The v e r t i c a l anomaly cannot be avoided in r e l a t i o n s . In
t r y i n g t o avoid the h o r i z o n t a l anomaly the v e r t i c a l anonaly
increases. For example, i t i s p o s s i b l e t o s t o r e information
about F r e d ' s weight and height t o g e t h e r only by s p l i t t i n g
the t i n e i n t e r v a l 01-75 to 12-77 i n t o three sub-intervals,
01-75 t o 06-76, 07-76 t o 08-76 and 09-76 t o 12-77.
In Tquel [ 1 1 ] , t h e where c l a u s e q u a l i f i e s t u p l e s . Tem-
poral r e f e r e n c e s a r e made using a when c l a u s e which is a
"temporal analogue" of t h e where c l a u s e . I n t e r s e c t i o n s in
time a r e performed by the overlap o p e r a t o r . The following
Tquel query r e t r i e v e s Table 8.
Example 2.2 Name those persons whose height was over 6 f t .
when t h e i r weight was over 150 l b s .
range of h i s height
range of w i s weight
r e t r i e v e i n t o persons (h. name)
where h.height>6
and w.weight>150
when h overlap w
14
TABLE 8
The Persons Relation
I 1
NAME I START | STOP
fred I 09-76 | 12-77
John I 03-79 I 12-79
The s e m a n t i c s of t h e query o f Example 2. 2 a c c o r d i n g to
Snodgrass [ 1 2 ] , expressed in t u p l e r e l a t i o n a l c a l c u l u s due
t o Ullman [ 8 ] using t h e n o t a t i o n due t o Maier [ 9 ] , where R1
i s the scheme f o r w e i g h t and R2 i s t h e scheme for height,
is,
( u (name,start,stop) | 3 w(Rl) 3 h (R2) (
weight(w) & h e i g h t (h)
& u[ name ] = h[narae]
& h[ h e i g h t ] > 6
5 w[ w e i g h t ] > 150
6 u[ s t a r t ] = ( i f B e f o r e ( h [ s t a r t ] , w[ s t a r t ]) then w[ s t a r t ]
else h[start])
e u[stop] = (if Before ( h [ s t o p ] , w [ s t o p ] ) then h[stop]
else w[stop]
S (Before (h[ s t a r t ] , w [ s t o p ] ) R Before («[ s t a r t ],h[ s t o p ])) }
15
The semantics involved is similar to that in example
2- 1. The attribute NAME of the tuple u is a projection on
the attribute NAME of a tuple h that satisfies the pre-
scribed restrictions. Before is a predicate which checks
whether the first parameter occurs prior to the second par-
ameter in tine, i.e.. Before (2,5) and Before(2,2) are true
but Before (5,2) is not. To understand the last three claus-
es, let us suppose that the interval underlying the overlap
of tuples h and w is [i#j]- The first and second clauses
calculate the start instant i and stop instant j for [irj].
They are defined even if an overlap does not exist for tu-
ples h and w. The third clause assures that h and w do in-
deed overlap.
CHAPTER III
A TEMPORAL DATABASE
In t h i s s e c t i o n we give a b r i e f i n t r o d u c t i o n to Gadia*s
t e n p o r a l database n o d e l . For more d e t a i l s and examples the
reader i s r e f e r r e d to Gadia [ 1 3 ] . Then we proceed t o bind
temporality t o our model so that it is s u i t a b l e for our
query language. At t h a t point we g i v e s e v e r a l examples.
3-1 Fundamental Concepts
We first state the fundamental concepts related to
static, i.e., non-temporal databases. We w i l l be f o l l o w i n g
t h e n o t a t i o n forwarded by Maier £ 9 ] .
e
W assume that we have a universal s e t of a t t r i b u t e s
U - (A 1, A2, . • - , A n } , a s e t Ooms of domains and a mapping
dom : U—>Doms t h a t g i v e s a domain v a l u e , dom(Ai), f o r each
a t t r i b u t e Ai.
A r e l a t i o n scheme R i s a non-empty subset of U. A t u p l e
f on r e l a t i o n scheme R i s a function from R t o Doms such
t h a t f (Ai) € dom (Ai) f o r each Ai G R. A r e l a t i o n r over a
r e l a t i o n scheme R i s a f i n i t e s e t of t u p l e s over a.
A subset K of R i s c a l l e d a key of r i f whenever two
t u p l e s t 1 , f2 of r s a t i s f y f1(K)=f2(K) then t 1 ( a ) = ? 2 ( R ) .
16
17
A database schema R i s a f i n i t e s e t of r e l a t i o n schemes
(R 1 , R 2 , . . . ,Rn} . A (static) database over fi i s a s e t of r e -
lations [ r 1 , r 2 , . . . ,rn} such t h a t r i i s a r e l a t i o n over Ri, 1
25000
35
and e1.name=george
and e 1 . s a l a r y > 2 5 0 0 0
and n.manager=fred
and m.dept=production
The t e m p o r a l domain f o r G e o r g e ' s e a r n i n g over $25,000
i s [ 4 , 7 ] and f o r F r e d ' s t e n u r e as t h e manager of production
is [1,7]. The simultaneous occurrence of t h e s e e v e n t s de-
f i n e s a temporal domain [ 1 , n o w ] n [^#7] = [ 4 , 7 ] which d e -
c i d e s the s e l e c t i o n of t h e employees i n Table 17.
TABLE 17
The H i t a x Relation
NAME I SALARY
[ 4 , 7 ] george | [4,5] 30,000
I [ 6 , 7 ] 35,000
[ 6 , 7 ] John I [6,7] 30,000
[ 4 , 7 ] fred | [ 4 , 7 ] 45,000
36
The where clause retrieves tuples of the existing
relations which s a t i s f y the prescribed constraints over
i d e n t i c a l temporal domains. I t i s often necessary to view a
s u p e r s e t of such information in order to obtain a comprehen-
sive picture of the database. e
W have an operation t h a t
groups a l l t u p l e s according to s p e c i f i e d a t t r i b u t e s . The r e -
s u l t of t h e following guery i s shown in Table 18.
Exanple 4.6 Retrieve the e n t i r e information about persons
who were employees in the Production Department for some
time while John was the manager of Design,
range of e i s employee
range of m i s nanagenent
r e t r i e v e c l o s u r e (e. nane,e. d e p t , e . s a l a r y ) by name
where e.dept=production
and m.manager=John
and m.dept=design
John was a manager of Design for [ 6 , 7 ] . At t h i s time,
both George and Fred are employees in Production. The t u -
AE
p l e s f o r both of these employees a r e enlarged using the N M
attribute.
The following exanple illustrates the fornation of
tenporal joins on tenporal relations.
37
TABLE 18
The C l o s u r e Relation
1 NAME 1 DEPT 1 SALARY
1 [1,now] george | [ 1 . 5 ] design 1 [1.3] 25,000
1 1 [6,7] production 1 [^.5] 30,000
1 1 1 [6,7] 35,000
1 1 [8,now ] d e s i g n 1 [ 8,now] 40,000
1 [1,7] fred 1 [1.7] production 1 [ 1 . 7 ] 45,000
Exanple 4 . 7 L i s t t h e nane and d e p a r t n e n t of t h e .managers of
p r o d u c t i o n and a l s o l i s t their salary,
range of e i s employee
range o f m i s management
r e t r i e v e i n t o n i n f o ( n . n a n a g e r , n. d e p t , e . s a l a r y )
where e.nane=n.nanager
and n.dept=production
T h i s j o i n i s performed on t u p l e s o f t h e management r e -
l a t i o n with t u p l e s o f t h e employee r e l a t i o n where a match i s
found i n t h e a t t r i b u t e NAME and t h e t u p l e s p o s s e s s identical
38
t e m p o r a l d o m a i n s . The r e s u l t of t h i s q u e r y i s shown in Table
19.
TABLE 19
The T j o i n Relation
MANAGER | DEPT 1 SALARY
[1,7] fred | [1,7] production | [ 1 , 7 ] 45,000
[8,now] paul I [8,now] production | [8,now] 45,000
Let us suppose t h a t t h e t u p l e s shown i n T a b l e 19 e x i s t
a s a s i n g l e t u p l e i n T a b l e 14. Then a q u e r y , such a s in the
f o l l o w i n g e x a m p l e , w i l l r e t r i e v e a r e l a t i o n which may a p p e a r
t o be unusual t o a u s e r . Such a relation i s shown i n T a b l e
20.
Exanple 4 . 8 L i s t t h e n a n e and s a l a r y of e n p l o y e e s who ^ a v e
earned a s a l a r y g r e a t e r than $30,000 f o r two y e a r s or nore,
a s s u n i n g t h a t now = 1 2 .
r a n g e of e i s enployee
retrieve (e.nane,e.salary) where e.salary>30000
and d u r a t i o n ( e . s a l a r y ) > = 2
39
TABLE 20
The F u z z y - t u p l e Relation
NANE I SALARY
[6,7] george | [ 6 , 7 ] 35,000
[1,7] fred | [1,7] 45,000
[ 8 , n o w ] paul | [8,now] 45,000
[ 8 , n o w ] george | [ 8 , n o w ] 40,000
The Juration c l a u s e s e l e c t s those t u p l e s where the tem-
e
poral domain spans over two years or more. W have discussed
temporal t u p l e s in s e c t i o n 3.4 and we e x p e c t the r e s u l t of
the query t o be as shown in Table 20. This happens because
the range v a r i a b l e cannot d i s t i n g u i s h such tuple combina-
t i o n s and r e t r i e v e s t h e e n t i r e information content. Fuzzy
t u p l e s always e x i s t in the database and can cause unexpected
information t o appear i n r e l a t i o n s . The previous examples
gave a s t r a i g h t - f o r w a r d i l l u s t r a t i o n of the o p e r a t i o n . The
latest one shows that unusual illustrations are also
possible.
40
Exanple 4 . 9 Our s o l u t i o n t o t h e above problem.
retrieve (e. n a n e , e . s a l a r y ) where e . s a l a r y > 3 0 0 0 0
and d u r a t i o n ( e . s a l a r y ) >=2
and s i n g l e v a l u e d ( e . n a s e )
The singlevalued operation ensures the s e l e c t i o n of
o n l y t h o s e t u p l e s t h a t p o s s e s s d i s t i n c t domain v a l u e s in the
a t t r i b u t e s mentioned i n t h e t a r g e t l i s t . This s e p a r a t e s the
t u p l e o f Paul t h a t had combined with t h e t u p l e of F r e d . Ta-
b l e 21 shows t h e r e l a t i o n w i t h o u t the c l u t t e r of unexpected
conbinations.
TABLE 21
The D i s t i n c t - t u p l e Relation
NAME 1 SALARY
[6,7] george | [ 6 , 7 ] 35,000
[1,7] fred | [1,7] 45,000
[1,7] paul I [ 1,7] 45,000
[ 8 , n o w ] george | [8,now] 40,000
41
We list the operators along with the functions they
perforn, below. We denote relations by r, tenporal donains
by V, intervals by i and instants by t.
Operator It^s Function to compute
01. Existime (r) tenporal domain of a relation r.
02. Firstime (r) f i r s t v when properties do not change.
03. Lastime (r) l a s t v when properties do not change.
04. Finterval(v) first interval lev.
05. Linterval(v) l a s t interval lev.
06. Pinterval ( v , i ) interval i ' previous to i : i , i ' € v.
07. Ninterval(v,i) i n t e r v a l i ' next to i : i , i ' € v.
08. Finstant(i) f i r s t instant t e i .
09. Linstant(i) l a s t instant t € i .
010. P i n s t a n t ( i , t ) instant t' previous to t : t , t ' € i .
o i l . Ninstant(i,t) instant t ' next to t : t , t ' 6 i .
0I2. Duration (r) time-span of tenporal donain of r.
Tuple variables are typed by means of the operators,
closure (r) by S and singlevalued ( r ) .
42
i-2 BNF of the R e t r i e v e Statement
The temporal query language has been introduced i n f o r -
mally i n t h e previous s e c t i o n . e
W present a BNF [ 2 ] for our
grammar in t h i s s e c t i o n . Our BNF does not cover the syntax
of regular QUEL o p e r a t i o n s . The a v a i l a b i l i t y of t h e s e opera-
t i o n s i s i n d i c a t e d by t h e element in the f o l l o w -
ing. The reader i s r e f e r r e d t o the INGRES-QUEL manual [ 1 4 ]
f o r d e t a i l s concerning QUEL.
::= r e t r i e v e
::=
: : = 6 I i n t o | | i n t o
: : = | |
|
::= e | |
I |
::= |
::= =
::= f i n s t a n t ( ) I linstant() 1
p i n s t a n t (,) |
n i n s t a n t (,)
::= |
: : = =
::= f i n t e r v a l ( ) I Unterval() |
p i n t e r v a l (,) I
43
ninterval(,)
: : = 1
: : = =
: : = f i r s t i m e () |
l a s t i n e ()
: : = j
: : = =
: : = e x i s t i a e ()
: : = e | |
: : = =
: : = d u r a t i o n ()
: : = c l o s u r e ( ) by
: : = |
: : = | ,
: : = = |
,
: : = | ,
: : = € | where
: : = | and |
o r |
: : = | |
: : =
::= singlevalued()
: : =
44
: : * € | «hen
::= | -. | 1
0 |
::= [,] | | |
::=
: : s .
: : «
: : «
::» >
::«
::=
::=
::= | |
::= a | b 1 | z j A 1 B 1 •••• | Z
::= |
::= |
: : = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
::= I >
::= (
: : « )
45
ii-2 I l £ ^ ^ § § l 2 t h e Database
Updates a r e n e c e s s a r y t o a d a t a b a s e t o maintain i t s in-
tegrity. Updates may occur t o add new i n f o r m a t i o n , change
i n c o r r e c t r e c o r d s or d e l e t e e x t r a i n f o r m a t i o n . In t h i s s e c -
t i o n we d i s c u s s t h r e e o p e r a t i o n s . Append, D e l e t e and Change.
Append and D e l e t e o p e r a t e on the d a t a b a s e a s in QUEL.
In our e x t e n s i o n we permit temporal r e s t r i c t i o n s t o be im-
posed on t h e s e o p e r a t i o n s using t h e when c l a u s e . An update
u s i n g the when c l a u s e i s for i n f o r m a t i o n a l r e a d y e x i s t i n g in
the database.
Exanple 4 . 1 0 I n f o r m a t i o n c o n c e r n i n g Paul has been lost for
t h e p e r i o d [ 5 , 7 ] i n t h e employee r e l a t i o n . At t h i s time h i s
s a l a r y was $ 3 0 , 0 0 0 and he was working i n the S a l e s d e p a r t -
ment. Update t h e database,
range o f e i s employee
append (e.salary=30000, e.dept=sales)
where e.name=paul
when [ 5 , 7 ]
We i n t r o d u c e a new o p e r a t i o n t h a t a l l o w s updates to o c -
cur e f f e c t i v e some time i n t h e f u t u r e , i.e., t i m e > now.
Suppose Fred g i v e s n o t i c e at [ 5 , 5 ] stating his intention to
r e t i r e at [ 8 , 8 ] . I t i s necessary t o discontinue recording
information concerning Fred after [7,7]. This can be
achieved as follows.
46
Exanple 4 . 1 1 I l l u s t r a t i n g t h e c a s e d e s c r i b e d above,
range o f e i s employee
d e l e t e e where e.name=fred
effective [8,8]
Infornation e x i s t i n g in t h e d a t a b a s e can be changed i f
i t i s found t o be e r r o n e o u s . The c h a n g e s are nade u s i n g a
Change connand which nay be used i n the f o l l o w i n g nanner.
Exanple 4 . 1 2 Paul's salary had been raised to $ 2 8 , 0 0 0 at
[ 3 , 3 ] and h i s s t a r t i n g salary as the nanager of production
was 4 7 , 0 0 0 . Update P a u l ' s r e c o r d s -
range of e i s enployee
change ( e . s a l a r y = [ 3 , 4 ] 2 8 0 0 0 ; [ 8 , n o w ] 47000)
where e.nane=paul
ii-if BNF of t h e Update S t a t e n e n t s
We f o r n a l i z e t h e grannar f o r the update o p e r a t i o n s be-
low. We have a l r e a d y d e f i n e d t h e elenents ,
, , in the BNF [ 2 ] of t h e r e t -
r i e v e s t a t e n e n t and do n o t r e p e a t t h o s e d e f i n i t i o n s here.
::=
append () |
d e l e t e |
47
change ()
: : = | ,
::= =
::= | ;
::= |
: : = e | |
::= effective
: : = [,] |
: : =
: : =
::= |
f*-5 Aggregate Operations
e
W i n t r o d u c e two aggregate operations to supplement
t h o s e provided by QUEL. The summation of domain values of
an a t t r i b u t e must take i n t o account the period of validity
of t h a t i n f o r m a t i o n . This means t h a t the duration of a tem-
poral domain weights the information that i s v a l i d during
that time. By the same c o n s i d e r a t i o n , an average over
tenporal tuples nust be a tenporally weighted average.
Hence, we d e f i n e a t e n p o r a l l y weighted sun, tsum, and a
48
temporally weighted average, tavg. We discuss their
application in t h e examples below.
Exanple 4.13 What was t h e t o t a l amount of money e a r n e d by
John w h i l e he was w o r k i n g i n t h e d e s i g n d e p a r t m e n t ?
r a n g e of e i s employee
retrieve (total=tsu« (e.salary)) where e.name=john
and e.dept^design
Referring t o T a b l e 14, John e a r n e d $ 2 5 , 0 0 0 from [1,5],
a duration of f i v e u n i t s , and $ 3 0 , 0 0 0 from [ 6 , 7 ] , a duration
of two u n i t s . T h e r e f o r e , t h e computed t o t a l w i l l be $ 2 5 , 0 0 0
X 5 • $30,000 X 2 = $185,000.
Exanple 4 . 1 4 What was t h e a v e r a g e s a l a r y e a r n e d by John whi-
l e h e was w o r k i n g i n t h e d e s i g n d e p a r t m e n t ?
r a n g e of e i s employee
retrieve (mean=tavg ( e . s a l a r y ) ) where e.name=john
and e.dept=design
The d u r a t i o n for which J o h n worked in t h e design de-
partment i s 7 u n i t s . The t e m p o r a l a v e r a g e w i l l be computed
a s 185,000 / 7 = $25,000-
CHAPTER V
SEMANTICS OF OPERATIONS
HTQUEL i s an e x t e n s i o n of QUEL i n t h e f o l l o w i n g sense.
A QUEL query Q o p e r a t e s on a s t a t i c d a t a b a s e d t o produce a
r e l a t i o n r. A s t a t i c r e l a t i o n s can be i d e n t i f i e d by a tem-
poral relation s' with a t r i v i a l temporal domain c o n s i s t i n g
of o n l y one i n s t a n t , say, now. s ' i s c a l l e d t h e temporal
v a r i a n t of s . We can apply Q t o t h e temporal v a r i a n t d• of d
t o produce a v a r i a n t r ' of r u s i n g HTQUEL.
We n o d e l t i n e by a s e t of equidistant, discrete ins-
tants, [begin,now] = {0, 1 , 2 , . . . ,now} . e
W always refer to
c l o s e d i n t e r v a l s of t i n e . We i n t r o d u c e a t e n p o r a l t u p l e r e -
lational calculus applicable t o our n o d e l i n this section.
Gadia [ 1 3 ] p r o v i d e s a c o n p l e t e definition. We a l s o i n c l u d e
s e m a n t i c s of s o n e temporal queries.
5.JL gundamental Structures
In t h i s s e c t i o n we f o l l o w M a i e r ' s [ 9 ] n o t a t i o n . A tem-
poral r e l a t i o n a l s t r u c t u r e i s an 8 - t u p l e w h e r e , U = A l A 2 . . . A n i s t h e u n i v e r s a l s e t of
attributes, Doms i s t h e s e t of domains, don i s a napping don
: U —> Dons, S is a f i n i t e s e t of b i n a r y o p e r a t i o n s over
49
50
certain pairs of donains, R = (R1, R2,... ,Rn} is a database
schene, D = (r 1,r2,... ,rn} is a database over R such that ri
is a tenporal relation over Ri, u* is a union of U with the
set of attribute names and T = [begin,now] is the universe
of time instants.
In our notation, x, y, z, x1, y1, z1,..- are individual
variables that vary over temporal tuples; f, g, h, f1, g1,
hi,... denote formulas; e, el, e2,... stand for relational
expressions and v, v1, v2,... for temporal expressions-
Atomic formulas are of the form r (x) , x(A) e y(B), x (A)
9 c, c e y (B) and x C y. The atom r(x) means the temporal
tuple X belongs to r. The formula x (A) 8 y (B) , where 6 6 8
"-
and A, B € U * , are B-conparable. This means that the restric-
tion of the tenporal tuple x to attribute A is related to
temporal tuple y through the relation e. x C y means tempo-
ral domain of x is contained in temporal domain of y and on
the associated temporal donain, they are identical. More
conplex fornulas are obtained fron atonic fornulas by appli-
•
cations of - , A, V, 3, ¥.
Every tenporal donain v is considered to be a tenporal
expression. More conplex tenporal expressions are forned by
using -, U, D . If f (x) is a fornula with i the only free
variable, then ixf (x) is a tenporal expression. We think of
i as a qualifier which binds the variable x. We allow
51
fornulas of the forn x : v which expresses the fact that the
tenporal donain of x C v.
x
A relational expression is of the form { | f (x) J where
f (x) is a formula. This stands for a concrete relation (of
tuples X which satify f) .
An expression of the type {x | r (x) V s(x)} stands for
r U s. Notice that r U s makes no sense if r, s are rela-
tions over different schemes. This gives rise to the idea of
typing the occurence of a free variable in a formula. We
bind a strong type to a relational schema. Thus r (x) V s (x)
is allowed if r and s are over schema R.
Example 5.1 Let f (x) and g(y) be formulas such that rela-
y
tional expressions {x | f(x)} and { | g(y)} stand for r and
s respectively. A temporal relational algebraic expression
r[tdom (s)] is expressed as,
x
r[tdom(s)]= {x I ( : Jjg (y) ) A f (x)}
5.2 Tem£oral Predicates
Gadia [13] provides two predicates, univalued (x,r,S)
and maximal(x,r,S), to supplement his calculus. The meaning
of Univalued(x,r,S) is that the tuple x is contained in r
and is univalued in attributes of schema S. The Predicate
maximal (x,r,S) means that x is univalued over the schema S
52
in r and it is the maximal such tuple. Every tuple shown in
Table 14 is univalued in NAME. The tuple shown in Table 12
is maximal for NAME = George.
Gadia [13] models time by the real line. Hence, the op-
erations described by us to compute tenporal domains will
not always be defined in his model, e.g., frstinst ((2,5]) is
not defined. First, we change the temporality of Gadia's
calculus to that of ours. Then we increase the expressive
power of Gadia's calculus by adding the following predicates
(primitives) to it. These predicates have a natural meaning.
Tenporal Predicate Tenporal Operation
t1. pf tine (r) Frstine (r)
t2. pltine(r) Lastine (r)
t3. pf inter (v) Finterval(v)
t4. plinter (v) Linterval(v)
t5. ppinter (v,i) Pinterval (v,i)
t6. pninter(v,i) Ninterval(v,i)
t7. pfinst(i) Finstant (i)
t8. plinst (i) Linstant (i)
t9. ppinst (i) Pinstant (i ,t)
tlO. pninst(i) Ninstant (i,t)
53
5.3 Senantical Expressions
A r e t r i e v e statenent in QUEL r e t r i e v e s a relation (or a
tenporal domain). our objective i s t o s t a r t with a query
and give the corresponding r e l a t i o n a l expression (or tenpo-
r a l expression) for t h i s query in Gadia*s tenporal tuple r e -
lational calculus. This expression will then stand for the
sane r e l a t i o n (or tenporal donain).
Bzanple 5.2 The query of exanple 4 . 5 .
range of e i s enployee
range of el i s enployee
range of n i s nanagenent
r e t r i e v e i n t o hitax (e.nane,e.salary)
where e.salar7>25000
and e1.nane=george
and e1.salary>25000
and n.nanager>fred
and n.dept^production
The senantics of the query of Exanple 5.2 expressed in
t u p l e r e l a t i o n a l calculus due t o Gadia [ 1 3 ] , using Haier*s
notation [ 9 ] , i s ,
( z (nane, salary) iBeBelB'C
enployee (e) G enployee (el) & nanagenent (n)
5 X (nane) = e (nane)
6 X (salary) = e (salary)
54
E e (salary) > 25000
5 el(nane) = george
e e1(salary) > 25000
5 n (nanager) = fred
6 m (dept) = production ) }
We c o n s i d e r a query t o compute a temporal domain.
Exanple 5.3 The query of exanple 4.1
range of n i s management
retrieve (v^ezistine (n.manager))
where n.nanager=george
and m.dept=design
The t e n p o r a l expression for t h i s query i s given below,
in ( nanagenent (n)
C n (nanager) = george
G m(dept) = design )
This expression i s of the form ixf (x), i . e . , i t i s the tem-
p o r a l domain of the s e t of a l l temporal t u p l e s x over R such
t h a t f (x) i s t r u e .
The semantics of a query to compute the f i r s t interval
in the temporal domain of George's tenure as the manager of
t h e design department i s as f o l l o w s .
55
pf i n t e r ( Im ( management (m)
& m (manager) = george
G m(dept) = design ) )
The when c l a u s e imposes a temporal r e s t r i c t i o n on a r e -
lation r. Let us c o n s i d e r a query which i n v o l v e s the use of
t h e when c l a u s e .
Exanple 5 . 4 Who were t h e managers of p r o d u c t i o n f o r t h e per-
iod [6,8]?
range of m i s management
retrieve (m.manager) where n.dept=production
when [ 6 , 8 ]
The s e n a n t i c s o f t h i s query i s as p r e s e n t e d below.
{ X (nanager) I 3n ( management (n)
5 X (manager) = m (manager)
C m (dept) = p r o d u c t i o n
6 m : [6,8] ) }
Example 5 . 5 The guery of example 4.6.
range o f e i s employee
range of m i s management
retrieve closure ( e . nane, e. d e p t , e . s a l a r y ) by name
where e.dept=production
and m-manager=John
and m.dept=design
56
The c l o s u r e o p e r a t i o n i l l u s t r a t e d i n Example 5 . 5 can be
understood i n terms of t h e p r e d i c a t e maximal a s shown below.
[ X (name,dept,salary) I3«3el3m (
employee (e) C employee ( e l ) 5 management (m)
& X (name) = e l (name)
& X (dept) = e l (dept)
8 X (salary) = el (salary)
S e(dept) = production
5 m (manager) = John
6 m(dept) = design
& univalued(e,enployee,name)
& maximal(el,employee,name)
6 e C el ) ) }
CHAPTER VI
SOME IMPLEMENTATIONAL DETAILS
Snodgrass [ 1 2 ] i s able to p r o v i d e a complete semantics
f o r e a c h o p e r a t i o n t h a t i s s u p p o r t e d by Tquel. e
W do not a t -
tempt t o nor would be a b l e t o p r o v i d e a complete senantics
of our o p e r a t i o n s i n terms o f p r e d i c a t e s a s he d o e s . Howev-
er, we do p r o v i d e a l g o r i t h m s t o i n t e r p r e t t h e o p e r a t i o n s de-
s c r i b e d by u s -
We w i l l g i v e t h e i n t e r n a l representation of a temporal
domain. T h i s i s a s e q u e n c e of r e a l numbers, e . g . , v = [5,7]
U [9,9] U [12,15] has the internal representation
. An i n t e r v a l i s then a sequence of two r e a l
numbers, e.g., [ 3 , 5 ] = . An i n s t a n t [ 3 , 3 ] i s t h e s e -
quence . We c o n t i n u e t o use v t o d e n o t e temporal do-
mains, i t o d e n o t e i n t e r v a l s and t t o d e n o t e time instants.
In t h i s s e c t i o n we g i v e some implementational details
for some t e m p o r a l operations in the forn of algorithms.
These a l g o r i t h m s are w r i t t e n in a PASCAL-like l a n g u a g e .
57
58
6-1 Aiaorithns for Tenporal
Operations
e
W have presumed the e x i s t e n c e of the following prini-
t i v e s t o support the tenporal operators. e
W l i s t the prini-
t i v e s along with the function they perforn, below.
grj,nit^ye £o Conpute
p i . tdon(r) tenporal donain of r
p2. frstsnap(r) f i r s t t i n e when properties do not change
p3. lastsnap(r) f i n a l t i n e when properties do not change
p4. f r s t i n t e r ( v ) f i r s t i n t e r v a l of v
p5. neztinter(v) nezt i n t e r v a l of v
p6. f r s t i n s t (i) f i r s t instant of i
p7. l a s t i n s t ( i ) l a s t instant of i
The primitive pi scans a relation r and accunulates the
tanporal donain for those tuples that s a t i s f y the conditions
of s e l e c t i o n inposed i n the query. The primitives p2, p3 ac-
cunulate that tenporal donain of the relation for which
there i s no change in the donain values for a t t r i b u t e s of
the tuple.
The following i s a l i s t of tenporal operators that are
in one-to-one correspondence with certain p r i n i t i v e s ,
Tenporal Operator corresponds to Pyrinitive
c1. Bzistine(r) tdon(r)
c2. Firstine(r) frstsnap(r)
59
c3. L a s t i m e (r) lastsnap(r)
c4. Finterval(v) f r s t i n t e r (v)
c 6 . F i n s t a n t (i) frstinst(i)
c6. Linstant(i) lastinst(i)
We w i l l not p r e s e n t algorithms for t h e above opera-
tions. The f o l l o w i n g a l g o r i t h m s d e f i n e t h e r e s t of t h e oper-
ations. The p a r a m e t e r e r r f l a g s t h e s u c c e s s , o r f a i l u r e , of
the operation. I t is reset to false if t h e operation fails.
procedure P i n t e r v a K v ^ i ^ e r r ) ;
{ A p r o c e d u r e t o compute t h e t i m e i n t e r v a l i' occurring just
before t h e time i n t e r v a l i , i,i' e t e m p o r a l domain v }
if (V i s empty) then begin;
err := f a l s e ; return end;
i1 : = frstinter (v) ;
if (i1 = i) then begin;
P i n t e r v a l i s empty; r e t u r n end;
while ( i 1 -•= empty and i 1 -•= i ) do;
12 := i 1 ;
i 1 := n e x t i n t e r (v)
end d o ;
if (i1 = i) then P i n t e r v a l := 12;
else e r r :« false;
return ;
60
pcocedare n i n t e r v a l ( v , i , e r r ) ^
( A procedure t o conpute t h e t i n e i n t e r v a l i* occurring
j u s t a f t e r the t i n e i n t e r v a l i , i , i ! € tenporal donain • )
if (V i s enpty) then begin;
e r r := f a l s e ; return end;
i 1 z~ f r s t i n ^ r (v);
while ( i 1 -•= enpty and i1 -^^ i ) do;
i 1 := n e z t i n t e r (v)
end do;
if (i1 = i ) then
i 1 := n e z t i n t e r (v);
if (i1 i s enpty) then err := f a l s e ;
e l s e N i n t e r v a l := i 1 ;
return;
procedure L i n t e r v a l ( v ^ e r r ) ;
{ A procedure t o conpute the l a s t t i n e i n t e r v a l i 6 v )
if (V i s empty) then begin;
e r r := f a l s e ; return end;
i 1 := f r s t i n t e r (v);
while ( i l -.= enpty) do;
12 := 1 1 ;
11 := n e z t i n t e r (•)
61
end do;
L i n t e r v a l (v) := 12;
return ;
Ergcedure_PinstantXi^tjE^rrl.i
{ A procedure t o compute the time i n s t a n t t ' occurring
j u s t before the time i n s t a n t t , t , t ' € time i n t e r v a l t )
if ( i i s empty) then begin;
err := f a l s e ; return end;
t 1 := t - 1;
if (t1 > f r s t i n s t (i) & t1 f r s t i n s t (i) S t1 l a s t i n s t (v2) ) t h e n FIXT2(v2, v1) ;
return;
p r o c e d u r e f i x t 2 ( v i , v j) ;
{ I f t e m p o r a l domain Ti i s e x h a u s t e d copy the
remaining e l e m e n t s of temporal domain Tj t o T )
v i := N i n t e r v a l ( T i , v i ) ;
if (vi i s empty) then
begin ;
t2 := l a s t i n s t (vj) ;
i n c l u d e [ t 1 , t 2 ] in T;
COPY(Tj,vj); return
end;
( Check i f t h e new v i i n t e r s e c t s vj )
if ( f r s t i n s t (vi) lastinst (v2) ) then
begin;
ti = lastinst(v2) ^ 1 ;
t2 = lastinst(vi) ;
v1 = Ct1,t2];
GETCOHP (v2,T2) ; MINOS (vi ,v2)
end;
GETCOMP (v1,T1) ; MINUS (v 1, v2) ;
return;
procedure getcomp (vi,Ti) ;
vi := Ninterval (Ti,vi) ;
if (vi is empty and 1 = 1 ) then terminate processing;
else if (vi is empty and i = 2) then
begin;
include v1 in T; C0PY(T,T1)
end;
return ;
begin; [ main procedure }
vi := frstinter(TI);
v2 := frstinter(T2);
HINUS(v1,v2)
end;
end DIFFERENCE;
CHAPTER VII
CONCLOSIONS
HTQOEL allows the retrieval of tuples that possess com-
mon tenporal domains and belong to relations participating
in the guery. It does not possess the capability of retriev-
ing tuples that have disjoint temporal domains. For exanple,
a guery of the kind, "Find pairs of employees who had the
same last name and worked in the same departnent at sone
tine", cannot be handled in our fornulation. This is because
a tuple is reguired to be homogeneous in time in our model.
This guery illustrates relations that are heterogeneous in
tine. Research in this area could result in a theory where
relations could have radically different properties from the
ones described in this work.
Resolution of tine may vary from relation to relation.
For example, an employee relation may address time in terms
of dates as units, whereas, a temporal relation to record
say, temperatures and pressures, may possess a finer resolu-
tion. Queries that refer to two relations that possess
different time resolutions may require the selection of the
finer of the two resolutions. In such a case it would be
necessary to assume that the properties of the coarser
resolution will hold over the finer resolution. The general
71
72
problen of increasing the resolution of temporal relations
needs to be researched.
Other problens which might be examined include re-
searching a unique representation for fuzzy tuples and
further researching the effect of the new tuple typing oper-
ations such as singlevalued.
Clifford and Warren £3] have suggested the use of in-
tensional logic to build a senantics of tine in databases.
Its relationship to our work is another area which can be
explored.
A temporal database is a historical database where up-
dates only add information. We expect such a database to
have fewer concurrency problems. An analysis of this aspect
could also help to arrive at some useful conclusions.
An implementation of this model can prove to be an in-
teresting exercise. For example, a temporal relation is not
a perfectly rectangular object. Certain attributes in a tem-
poral relation may have a greater frequency of update than
others. For every tuple belonging to the relation, the size
of the tuple would tend to grow because of these attributes.
This may require selection of a new kind of data structure.
Storage reguirements also need to be considered. Information
concerning the recent past nay be stored on an on-line
storage device while older infornation nay be archived.
73
The C r o s b y t o n S o l a r Power P r o j e c t (CSPP) maintains a
d a t a b a s e t o a n a l y z e system perfornance and n o n i t o r the func-
t i o n i n g of t h e c o n t r o l s y s t e m . I n f o r m a t i o n i s r e t r i e v e d by
s o f t w a r e programs from an a r c h i v e d d a t a b a s e . In our o p i n i o n ,
a u s e f u l procedure may be t o s t o r e the r e l e v a n t system and
c o n t r o l parameters o n - l i n e . These parameters may i n c l u d e the
maximum and meein t e m p e r a t u r e s , p r e s s u r e s and e f f i c i e n c y mea-
s u r e m e n t s , e n e r g y consumption e t c . , r e c o r d e d per day. Such
an o n - l i n e t e m p o r a l d a t a b a s e can be queried using a t e n p o r a l
guery language which a l s o provides statistical analysis
functions. e
W f e e l t h a t our r e p r e s e n t a t i o n of time i s suffi-
c i e n t t o s e r v e t h e needs of u s e r s l i k e t h e CSPP. However, we
would a d v i s e c a u t i o n in implementing t h i s raoiel t o monitor
t h e b e h a v i o r of a c o n t r o l s y s t e m . We f e e l t h a t d i s c r e t e time
i n s t a n t s may not model c o n t r o l b e h a v i o r reliably.
REFERENCES
^' S ? f o I'^l A - R e l a t i o n a l _ H o d e l _ o f ^ a t a f o r Large Shared
Data^an)^. CACH, v 1 3 , n o . 6 , Jun7^19707"pi 3 7 7 ^ 8 7 7 "
2. Backus J . T h e _ S i n t a x _ a n d ^ S e n a n t i c s o f the Proposed
j a t g r n a t x o n a 1 Algebraic_Languaqe o f ' t h e Zurich ACi-GAHB
Conference. P r o c . I n t . Conf. I n f o r n a t i o n P r o c e s s i M 7 ~
UNESCO, P a r i s 1959, pp 1 2 5 - 1 3 2 .
3 . C l i f f o r d J . and Warren D. F o r n a l ^ S e n a n t i c s of T i n e i n
Databases. C
A M TODS, v 8, pp 214-26a7
a. Bolour A . , Andetson T . L . , Dckeyser L . J . and Hong H.K.T.
I S L £ , £ 2 l £ ^ L - I i " e _ i p _ I n f o c n a t i o n _ P r o c e s s i n g ^ A Survgy.
S i g A r t N e w s l e t t e r , n o . 8 0 , Apr. 19827 PP 2 8 - 5 5 7
5 . J o n e s S . , Mason P. and Stanper R. LEGOL ? . 0 _ : J ^
R e l a t i o n a l S p e c i f i c a t i o n Language f o r Conplex'Ru^es.
I n f o r n a t i o n S y s t e m s , v ^7 n o . U, 1 9 7 9 , pp 28-5*87
5- J o n e s S. and Mason P. Handling t h e T i n e d i n e n s i o n ^n
Databases. P r o c . of t h e I n t e r n a t i o n a l Conference'on
D a t a b a s e s , B r i t i s h Conputer S o c i e t y . Oniv. of Aberdeen,
J u l . 1 9 8 0 , pp 6 6 - 8 3 .
7 . Held G . D . , S t o n e b r a k e r W.R. and Wong E . , INGRES_-.i^
R e l a t i o n a l Database Systen. P r o c o f the~7976~National
Conputer C o n f . , v 4 4 , 19767 pp 4 0 9 - 4 1 6 .
8. allnan J.D. P r i n c i p l e s of Database S y s t e n s .
Conputer S c i e n c e P r e s s , 1 9 8 3 . "
9. flaier D. The Theory o f R e l a t i o n a l Databases.
Conputer S c i e n c e P r e s s , 1 9 8 3 .
10. Snodgrass R. Monitoring D i s t r i b u t e d S y s t e n s ; A
R e l a t i o n a l Approach. PhD. D i s s . , Conputer S c i e n c e
D e p a r t n e n t , C a r n e g i e Mellon O n i v . , Dec 1982-
1 1 . Snodgrass R. The Tenporal Query Language TQDEL.
C
P r o c . t h i r d A M S i g A c t - S i g S o d Synp. on P r i n c i p l e s of
Database S y s t e n s , Waterloo, O n t a r i o , Canada, Apr. 1984,
pp 2 0 4 - 2 1 2 .
74
75
12- Snodgrass R. Formal Semantics of a Temporal Query
Language. (Submitted for"Publication) , 19847
13. Gadia S.K. Homogeneous Temporal Databases.
(Under Preparation), 19847
14. INGRES. INGRES Query Language v 2.0 Reference_Manual^
Relational Technology, Jan 1983.