27
SPATIO-TEMPORAL DATABASES Temporal Databases

SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Embed Size (px)

Citation preview

Page 1: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

SPATIO-TEMPORAL DATABASES

Temporal Databases

Page 2: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Temporal Data. Modeling Temporal DataTemporal Semantics

Temporal density: the time is seen as being: discrete, dense or continuous [BM+98].

This feature is determined by the isomorphism established between the temporal domain and the set of natural (N), rational (Q), or real (R) numbers.

In modeling time as a discrete domain, each time instance has a successor and a predecessor, and the time intervals are composed of contiguous points, where ti+1 is the successor of ti. From a mathematical point of view, if the temporal axis is represented as Q or R,, between two time instances there is an infinity of other instances.

Page 3: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Time structure: most of the applications consider time as being linear (naturally, as a collection, partially or totally ordered, of temporal primitives), but it can also be modeled as periodic or cyclic (e.g. schedule), or branched (e.g. planning applications).

Time instance: one point on a temporal axis, one moment of time.

Time interval: time between two instances of time, given as the set of contiguous time instances.

Time data types: a time value associated with an item is represented as a point (time instance) or interval.

Period (or duration) of time: a quantitative property of a time interval; the length of a time interval for which the ends are not known.

Page 4: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Valid time: the time (point or interval) associated with an item or the lifespan of an object in modeled reality; it can have any value in the past or future and can be modified anytime and any times in the database.

Transactional time: the time (point or interval) which defines the lifespan of an item within the database (from insertion to logical removal); it may have a value not greater than the current time and its value can not be modified; it is used mainly to track the operations performed on the DB, as a log file.

User-defined time: is a value of time (generally, time instance) whose meaning is determined by the human factor (user of the application or data model designer). Decisional time is a particular case of user-defined time, meaning the time when a particular decision has been taken in some organization.

Example: changing the salary for an employee: E, 100, [1/1/2009, 31/3/2009] = valid time, [20/12/2008, UC] = transactional time, 15/12/2008 = decisional time.

Page 5: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Timestamp: a value of time (point or interval) associated to an object, attribute or relationship; it can be of type valid or transactional.

Absolute time: an independent timestamp, it does not depend on the timestamp of another item or on the present time.

Relative time: the timestamp is depending on another moment of time, like the timestamp of another item or the current time.

Page 6: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Event: something that is happening somewhere, at a moment in time, or having duration. It may cause changing in one’s or more objects’ states.

State: for a specific object, we are interested in some set of properties; one state for that object is given by the set of values, for its properties.

History, evolution: the set of states for an object; the changes of the object’s state.

Remark. The evolution of an object can be seen as an oriented graph, composed of states and events.

Figure 1.5. Part of an object’s evolution (three states and two events that cause the changes)

Page 7: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Lifespan: the time interval when an object exists in the modeled reality or in the database.

Time attribute: attribute of which values are of type time instance or time interval (valid time or transactional time).

Static attribute (non time-varying): attribute for which we don’t want to store its evolution in time; we store only the current value.

Time-varying attribute: attribute for which we want to store its evolution in time.

Temporal attribute = time-varying attribute + time attribute

Now: a special variable that represents the current time (“until-changed”, “current”, “∞” or other notations). A DBMS should offer such a variable.

Page 8: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Objects’ evolution

Evolution of object O (function of evolution):

EvO : T → DO, EvO(t) = the state of O at time t, where T = temporal domain and DO = set of all possible states for object O.

Page 9: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Types of evolutions

discrete evolution: point-based when the states of an object are recorded at

certain moments in time and they are timestamped with time instances.

interval-based when one state of an object stays unchanged during a certain time interval; the timestamp is a time.

continuous evolution: changes are usually represented by functions of time, defined on time intervals: linear: the evolution is represented or approximated by

linear functions of time (linear interpolation can be applied).

non-linear: the evolution is represented by non-linear functions of time, usually – polygonal.

Page 10: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Table 1.3. Discrete evolution; timestamps = VT, time instances

Temperature Time instance

37.7° 08:00

38.0° 10:00

37.5° 12:00

37.2° 14:00

36.9° 16:00

37.1° 18:00

37.4° 20:00

Page 11: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Table 1.4. Discrete evolution; timestamps = VT, intervals

Salary Time

1010 [01/02/2006, 01/07/2006)

1570 [01/07/2006, 01/09/2006)

1250 [01/09/2006, 01/12/2006)

1800 [01/12/2006, 01/04/2007)

2110 [01/04/2007, Now)

Page 12: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Figure 1.6. (a) point-based discrete evolution, (b) interval-based discrete evolution, (c) continuous evolution represented by linear functions of time, (d) continuous evolution represented by non-linear functions of time

Page 13: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Temporal Databases

Usually, the traditional databases are called “snapshot databases”, because they contain only the current state of the modeled reality (and not its history also).

In temporal databases, the data is (usually) not deleted, but the data is “versioned”. The past states are only logically deleted, therefore their evolution in time is preserved.

From here – one of the temporal databases’ disadvantages: the great amount of data that must be managed.

Page 14: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Databases – According to Time Management

snapshot databases: traditional (classical) databases which do not contain temporal attributes; the previous states cannot be known;

historical databases: databases which contain at least one VT temporal attribute, and no TT temporal attributes; the timestamps represent the objects’ existence in time, in reality; for one object, the timestamps cannot overlap; the timestamps can represent any moment of time (past, present, future);

rollback databases: databases which contain at least one TT temporal attribute, and no VT temporal attributes; usually – used in recovery processes, or logging information about the performed operation on the database; usually – the timestamps are automatically managed by the DBMS; they can represent at one moment only the current time;

bi-temporal databases: databases which contain at least one VT temporal attribute and one TT temporal attribute; these databases have the characteristics of historical and rollback databases.

Page 15: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

What do we mark with timestamps?

Usually – the timestamped elements are objects. Let’s consider a table with the following structure: (OID, A1, A2, … Ap, TA1, TA2, …, TAq), where OID represents the

object’s id, the attributes A1, …, Ap are non-varying attributes, and TA1, …, TAq are time-varying attributes.

If we add a single time attribute, T, then we obtain (OID, A1, A2, … Ap, TA1, TA2, …, TAq, T), which means that every time something is changing for an object, we have to record this change by adding a new record (in which the attributes for which nothing changed are simply copied – at least all the non-time-varying attributes).

Therefore – we could split this structure: (OID, A1, A2, … Ap) – static data (OID, TA1, TA2, …, TAq, T) – time-varying data

Page 16: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

What do we mark with timestamps?

If the time-varying attributes are changing their values with the same frequency (or – almost the same), then this is a good structure. Otherwise, we could split again the last structure, depending on the changing frequency of the time-varying attributes. In the “worst” case we will obtain:

(OID, TA1, T) – time-varying data (OID, TA2, T) – time-varying data … (OID, TAq, T) – time-varying data

Page 17: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Timestamps of type time interval

One time interval can be any kind of interval: [t1, t2], [t1, t2), (t1, t2], or (t1, t2).

Usually, these are used: [t1, t2] – for discrete time, [t1, t2) – for dense time (but this is not a rule).

Page 18: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Temporal Representational Schemas

Let’s consider the notations: AV = VT attribute, instance of time AT = TT attribute, instance of time AVs, AVe, ATs, ATe = time attributes

representing time intervals (the starting and ending point of such an interval), VT or TT

Ai (i:=1..n) = thematic attributes (not time attributes)

Page 19: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Temporal Models

grouped temporal data model (also called non-1NF data model): timestamping at attribute level; for each attribute – we may have more than one time value; the correlated events are grouped and represented within a single tuple;

non-grouped temporal data model (also called 1NF data model): timestamping at tuple level; each tuple represents one change.

Page 20: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Temporal Models

As an example, we consider a few cinema rooms, and movies. Next – it is showed which movie could be seen in each cinema room, with the corresponding VT and TT data.

Table 1.5. Bi-temporal relation

Room Movie AVs AVe ATs ATe

R1 Toy Story 12 18 1 9

R1 Toy Story 19 26 10 Now

R2 Toy Story 16 20 6 20

R1 Monsters Inc. 21 25 11 Now

R3 Finding Nemo 12 15 6 20

R2 Finding Nemo 16 Now 21 Now

Page 21: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Non-grouped temporal data models

Ariav representational schema: R [A1, A2, …, An, AV, AT] It uses only instances of time, representing VT and TT. It is considered

that one state is valid until we record another change for the same object. See Table 1.6.

Table 1.6. Temporal information, according to the Arial schema

Room Movie AV AT

R1 Toy Story 12 1

R1 Toy Story 19 10

R2 Toy Story 16 6

R1 Monsters Inc. 21 11

R3 Finding Nemo 12 6

R2 Finding Nemo 16 21

Page 22: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Non-grouped temporal data models

Jensen representational schema: R [A1, A2, …, An, AVs, AVd, AT, Op], The Op attribute represents the type of the performed operation (insertion or logical

deletion), and AT represents the time when that operation was performed. This model uses a mixed timestamping (interval VT and instance TT). See Table 1.7. The operations that are executed in this case are (only) insertions.

Room Movie AVs AVe AT Op

R1 Toy Story 12 18 1 I

R2 Toy Story 16 20 6 I

R3 Finding Nemo 12 15 6 I

R1 Toy Story 12 18 9 D

R1 Toy Story 19 26 10 I

R1 Monsters Inc. 21 25 11 I

R2 Toy Story 16 20 20 D

R3 Finding Nemo 12 15 20 D

R2 Finding Nemo 16 Now 21 I

Table 1.7. Temporal information, according to the Jensen schema

Page 23: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Non-grouped temporal data models

Ben-Zvi representational schema: Tes – beginning of the VT interval, Trs – moment of time when Tes was recorded (beginning of the TT interval), Tee – end of the VT interval, Tre – moment of time when Tee was recorded Td – moment of time when the tuple was logically deleted (end of the TT

interval). If Td = “ – “ then the tuple still exists in the current state of database. See

Table 1.8.

Room Movie Tes Trs Tee Tre Td

R1 Toy Story 12 1 18 1 9

R1 Toy Story 19 10 26 10 –

R2 Toy Story 16 6 20 6 20

R1 Monsters Inc. 21 11 25 11 –

R3 Finding Nemo 12 6 15 6 20

R2 Finding Nemo 16 21 Now 21 –

Table 1.8. Temporal information, according to the Ben-Zvi schema

Page 24: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Non-grouped temporal data models

Ben-Zvi representational schema:

Remark. In Table 1.8. – if VT interval for the last tuple is ended with the value 22, at TT time 25, then the tuple will contain:

R2 Finding Nemo 16 21 22 25 –

Page 25: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Grouped temporal data models

McKenzie representational schema:

R [AT, R’], where R’ = [A1AV1, …, AnAVn]

Each value of AT is associated to a VT relation, and AVi, i:=1..n, are sets of VT (finite) instances. See Table 1.9. (for R2, Finding Nemo, VT considered is [16, 22]).

Table 1.9. Temporal information, according to the McKenzie schema

AT R’

0

1 {( R1, {12, …, 18}, Toy Story, {12, …, 18})}

6 {( R1, {12, …, 18}, Toy Story, {12, …, 18}), (R2, {16, …, 20}, Toy Story, {16, …, 20}), (R3, {12, …, 15}, Finding Nemo, {12, …, 15})}

10 {(R2, {16, …, 20}, Toy Story, {16, …, 20}), (R3, {12, …, 15}, Finding Nemo, {12, …, 15}), (R1, {19, …, 26}, Toy Story, {19, …, 26})}

11 {(R2, {16, …, 20}, Toy Story, {16, …, 20}), (R3, {12, …, 15}, Finding Nemo, {12, …, 15}), (R1, {19, …, 26}, Toy Story, {19, …, 26}), (R1, {21, …, 25}, Monsters Inc., {21, …, 25})}

21 {(R1, {19, …, 26}, Toy Story, {19, …, 26}), (R1, {21, …, 25}, Monsters Inc., {21, …, 25}), (R2, {16, …, 22}, Finding Nemo, {16, …, 22})}

Page 26: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Grouped temporal data models

Gadia representational schema:

R [{(A1, V T)}, …, {(An, V T)}], where V = [AVs, AVe) şi T = [ATs, ATe)

In our example, the Gadia model is applied according to one or both thematic attributes. See Table 1.10. (a) if it is structured according to cinema room values, and Table 1.10. (b) if it is structured according to cinema room and movie values.

Page 27: SPATIO-TEMPORAL DATABASES Temporal Databases. Temporal Data. Modeling Temporal Data Temporal Semantics Temporal density: the time is seen as being:

Grouped temporal data modelsRoom Movie

R1 [12, 18] [1, 9]R1 [19, 26] [10, Now)R1 [21, 25] [11, Now)

Toy Story [12, 18] [1, 9]Toy Story [19, 26] [10, Now)Monsters Inc. [21, 25] [11, Now)

R2 [16, 20] [6, 20]R2 [16, Now) [21, Now)

Toy Story [16, 20] [6, 20]Finding Nemo [16, Now) [21, Now)

R3 [12, 15] [6, 20] Finding Nemo [12, 15] [6, 20]

Table 1.10. (a) Temporal information, according to the Gadia schema

Table 1.10. (b) Temporal information, according to the Gadia schema

Room Movie

R1 [12, 18] [1, 9]R1 [19, 26] [10, Now)

Toy Story [12, 18] [1, 9]Toy Story [19, 26] [10, Now)

R2 [16, 20] [6, 20] Toy Story [16, 20] [6, 20]

R1 [21, 25] [11, Now) Monsters Inc. [21, 25] [11, Now)

R3 [12, 15] [6, 20] Finding Nemo [12, 15] [6, 20]

R2 [16, Now) [21, Now) Finding Nemo [16, Now) [21, Now)