Could anyone give me an insight for the need to model decision time in temporal databases and specifically how and why decision time differs from valid time and transaction time? What would be the semantics of decision time?
For instance, what information would/could the dt_period
convey in the following example which illustrates an employee salary data where range types (PostgreSQL) are used, eg. vt_period
instead of two distinct columns such as valid_from
and valid_to
:
name | salary | vt_period | tt_period | dt_period
---------+--------+-------------------------+-----------------------+-----------
Okihara | 1000 | [2014-01-01,2014-12-31) | [2014-03-15,infinity) | (!?!??)
Okihara | 1500 | [2014-12-31,infinity) | [2014-11-05,infinity) | (what should this column mean?)
where
vt_period = Valid time period
tt_period = Transaction time period
dt_period = Decision time period
from which it may be inferred that Okihara was hired for a salary of $1,000 over the period [2014-01-01, 2014-12-31)
as last updated on 2014-03-15
and still current. On 2014-11-05
a new entry with a raise to $1,500 was made for the subsequent validity period [2014-12-31,infinity)
(as stated by thevt_period
column).
What range values could dt_period
hold and what would their semantics be?