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?)


  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?


I don't know if there is necessarily a decision period, but there might be a decision date, separate from the valid period start date and the transaction date, where it makes sense to indicate when exactly a decision was made to make a new entry valid.

In your example the decision to hire Okihara probably had been made at some time prior to '2014-01-01', in which case it might have put certain obligations on the employer even before Okihara's first day on the job, so it made sense to record it separately.

One might presume that the decision date will never be after the transaction date, while the valid date might still be arbitrary.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.