Temporal Databases: Modifications

Preview:

Citation preview

Temporal Databases: Modification

Kristian Torp

Department of Computer ScienceAalborg University

people.cs.aau.dk/˜torptorp@cs.aau.dk

November 2, 2015

daisy.aau.dk

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 1 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 2 / 57

Learning Goals

Learning GoalsUnderstand modifications on transaction-time tablesUnderstand modifications on valid-time tables

Implicit timestamping, system suppliedExplicit timestamping, user supplied

Understand modifications on bitemporal tablesImplicit timestamping, system suppliedExplicit timestamping, user supplied

now and UC in modifications

NoteWe will use integers for timestamps

simply because it takes up less space on slides

Will focus on state tablesMost expressiveHardest to understand (compared to event)

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 3 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 4 / 57

Transaction-Time Example, Implicit Timestamping

NoteImplicit means timestamps values are always system supplied

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 5 / 57

Transaction-Time Example, Implicit Timestamping

NoteImplicit means timestamps values are always system supplied

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 4: Transaction-Time Insert)

Name Dept tts tte

Ann HR 4 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 5 / 57

Transaction-Time Example, Implicit Timestamping

NoteImplicit means timestamps values are always system supplied

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 8: Transaction-Time Update)

Name Dept tts tte

Ann HR 4 8Ann RD 8 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 5 / 57

Transaction-Time Example, Implicit Timestamping

NoteImplicit means timestamps values are always system supplied

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 12: Transaction-Time Insert)

Name Dept tts tte

Ann HR 4 8Ann RD 8 UC

Bart HR 12 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 5 / 57

Transaction-Time Example, Implicit Timestamping

NoteImplicit means timestamps values are always system supplied

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 16: Transaction-Time Delete)

Name Dept tts tte

Ann HR 4 8Ann RD 8 UC

Bart HR 12 16

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 5 / 57

Transaction-Time Insert

Logical OperationsTime 4: Hire Ann to work in the HR department

Example (Emps as of Time 6)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ann, HR

Example (Table)

Name Dept tts tte

Ann HR 4 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 6 / 57

Transaction-Time Update

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Example (Emps as of Time 10)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ann, RDAnn, HR

Example (Table)

Name Dept tts tte

Ann HR 4 8Ann RD 8 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 7 / 57

Transaction-Time Insert (Again)Logical Operations

Time 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Example (Emps as of Time 14)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bart, RDAnn, RD

Ann, HR

Example (Table)

Name Dept tts tte

Ann HR 4 8Ann RD 8 UC

Bart HR 12 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 8 / 57

Transaction-Time DeleteLogical Operations

Time 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire BartExample (Emps as of Time 18)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bart, RDAnn, RD

Ann, HR

Example (Table)

Name Dept tts tte

Ann HR 4 8Ann RD 8 UC

Bart HR 12 16Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 9 / 57

Quiz: Transaction-Time State Table

Logical OperationsTime 4 Hire Curt to work in the HR department

Time 8 Move Curt to the RD department

Time 12 Fire Curt from the company

Name Dept tts tte

Curt HR 4 UC

Curt RD 8 UC

Name Dept tts tte

Curt HR 4 8Curt RD 8 UC

A B

Name Dept tts tte

Curt HR 4 8Curt RD 8 12

Name Dept tts tte

Curt HR 4 8Curt RD 8 12Curt RD 12 UC

C D

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 10 / 57

Summary: Transaction-Time Modifications

Main PointsTransaction time always system supplied values

Insert: Explicit attributes + [current time, UC)

Delete: Set column tte to current time

Update: A delete followed by an insert

NoteSystem always supplies the timestamps!!!UC = Until Changed

Also called now or nobind-now

Queries on current state of table work as beforeBackwards compatibility⇒ no rewrite of existing code

Logical deletes (newer physical deletes)

More than one insert/update/delete per time unit

Physical database design split current from history

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 11 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 12 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 13 / 57

Valid-Time Implicit Timestamping

NoteRecall, implicit means timestamps values are always system supplied

Logical Operationstime: 4 Hire Ann to work in the HR department

time: 8 Move Ann to the RD department

time: 12 Hire Bart to work in the HR department

time: 16 Fire Bart

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 14 / 57

Valid-Time Implicit Timestamping

NoteRecall, implicit means timestamps values are always system supplied

Logical Operationstime: 4 Hire Ann to work in the HR department

time: 8 Move Ann to the RD department

time: 12 Hire Bart to work in the HR department

time: 16 Fire Bart

Example (At Time 4: Valid-Time Insert)

Name Dept vts vte

Ann HR 4 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 14 / 57

Valid-Time Implicit Timestamping

NoteRecall, implicit means timestamps values are always system supplied

Logical Operationstime: 4 Hire Ann to work in the HR department

time: 8 Move Ann to the RD department

time: 12 Hire Bart to work in the HR department

time: 16 Fire Bart

Example (At Time 8: Valid-Time Update)

Name Dept vts vte

Ann HR 4 8Ann RD 8 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 14 / 57

Valid-Time Implicit Timestamping

NoteRecall, implicit means timestamps values are always system supplied

Logical Operationstime: 4 Hire Ann to work in the HR department

time: 8 Move Ann to the RD department

time: 12 Hire Bart to work in the HR department

time: 16 Fire Bart

Example (At Time 12: Valid-Time Insert)

Name Dept vts vte

Ann HR 4 8Ann RD 8 now

Bart HR 12 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 14 / 57

Valid-Time Implicit Timestamping

NoteRecall, implicit means timestamps values are always system supplied

Logical Operationstime: 4 Hire Ann to work in the HR department

time: 8 Move Ann to the RD department

time: 12 Hire Bart to work in the HR department

time: 16 Fire Bart

Example (At Time 16: Valid-Time Delete)

Name Dept vts vte

Ann HR 4 8Ann RD 8 now

Bart HR 12 16

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 14 / 57

Valid-Time Insert

Logical OperationsTime 4: Hire Ann to work in the HR department

Example (Emps as of Time 6)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 4 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 15 / 57

Valid-Time Update

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Example (Emps as of Time 10)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ann, RDAnn, HR

Example (Table)

Name Dept vts vte

Ann HR 4 8Ann RD 4 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 16 / 57

Valid-Time Insert (Again)Logical Operations

Time 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Example (Emps as of Time 14)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bart, RDAnn, RD

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 4 8Ann RD 6 now

Bart HR 12 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 17 / 57

Valid-Time DeleteLogical Operations

Time 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire BartExample (Emps as of Time 18)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bart, RDAnn, RD

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 4 8Ann RD 6 now

Bart HR 12 16Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 18 / 57

Summary: Implicit Timestamping

Temporal ModificationsInsert: explicit attributes + [current time, now)

Delete: Set column vte to current time

Update: A delete followed by an insert

NoteImplicit valid-time and transaction-time is handled similarly

System can supplies the timestamps!!!

Operations on current state of table as before

Logical deletes (no physical deletes in these cases!!!)

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 19 / 57

Quiz: Modifications to Table

Logical Operationstime:1 Hire Curt to work in the HR department

time:12 Fire Curt

time:20 Hire Dan to work in the HR department

Name Dept vts vte

Curt HR 1 12Dan HR 20 now

Name Dept vts vte

Curt HR 1 12Curt HR 12 now

Dan HR 20 now

A BName Dept vts vte

Curt HR 1 now

Curt HR 12 now

Dan HR 20 now

Name Dept vts vte

Curt HR 1 12Curt HR 12 20Dan HR 20 now

C D

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 20 / 57

Quiz: Table to Modifications

Name Dept vts vte

Dan HR 1 now

Eli RD 10 20

ATime 1 Hire Dan, HR

Time 10 Hire Eli, RD

BTime 1 Hire Dan, HR

Time 10 Hire Eli, RD

Time 20 Fire Eli

CTime 1 Hire Dan, HR

Time 10 Hire Eli, RD

Time 10 Fire Dan

Time 20 Fire Eli

DTime 1 Hire Dan, HR

Time 10 Hire Eli, RD

Time 10 Eli to RD

Time 20 Fire EliKristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 21 / 57

Quiz: Conceptual Difference?

Example (Departments)

Name Dept vts vte

Ann HR 1 10Ann RD 10 20Ann HR 20 40

Name Dept vts vte

Ann HR 1 15Ann RD 10 20Ann HR 20 40

Example (Salaries)

Name Salary vts vte

Ann 40 1 10Ann 50 10 20Ann 70 20 40

Name Salary vts vte

Ann 40 1 15Ann 50 10 20Ann 70 20 40

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 22 / 57

Quiz: Conceptual Difference?

Example (Departments)

Name Dept vts vte

Ann HR 1 10Ann RD 10 20Ann HR 20 40

Name Dept vts vte

Ann HR 1 15Ann RD 10 20Ann HR 20 40

Example (Salaries)

Name Salary vts vte

Ann 40 1 10Ann 50 10 20Ann 70 20 40

Name Salary vts vte

Ann 40 1 15Ann 50 10 20Ann 70 20 40

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 22 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 23 / 57

Valid-Time Example: Case One

NoteExlicit means timestamps values are user supplied

Logical OperationsTime 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Time 12: Fire Ann

Time 16: Move Bart to HR department

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 24 / 57

Valid-Time Example: Case One

NoteExlicit means timestamps values are user supplied

Logical OperationsTime 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Time 12: Fire Ann

Time 16: Move Bart to HR department

Example (At Time 4: Valid-Time Insert)

Name Dept vts vte

Ann HR 2 14

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 24 / 57

Valid-Time Example: Case One

NoteExlicit means timestamps values are user supplied

Logical OperationsTime 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Time 12: Fire Ann

Time 16: Move Bart to HR department

Example (At Time 8: Valid-Time Insert)

Name Dept vts vte

Ann HR 2 14Bart RD 14 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 24 / 57

Valid-Time Example: Case One

NoteExlicit means timestamps values are user supplied

Logical OperationsTime 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Time 12: Fire Ann

Time 16: Move Bart to HR department

Example (At Time 12: Valid-Time Delete)

Name Dept vts vte

Ann HR 2 12Bart RD 14 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 24 / 57

Valid-Time Example: Case One

NoteExlicit means timestamps values are user supplied

Logical OperationsTime 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Time 12: Fire Ann

Time 16: Move Bart to HR department

Example (At Time 16: Valid-Time Update)

Name Dept vts vte

Ann HR 2 12Bart RD 14 16Bart HR 16 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 24 / 57

Valid-Time Insert

Logical OperationsTime:4 Hire Ann HR department [2, 14)

Example (Emps at Time 6)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 2 14

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 25 / 57

Valid-Time Insert with now

Logical OperationsTime 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Example (Emps as of Time 10)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bart, RDAnn, HR

Example (Table)

Name Dept vts vte

Ann HR 2 14Bart RD 14 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 26 / 57

Valid-Time Delete

Logical OperationsTime 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Time 12: Fire Ann

Example (Emps as of Time 15)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bart, RDAnn, HR

Example (Table)

Name Dept vts vte

Ann HR 2 12Bart RD 14 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 27 / 57

Valid-Time UpdateLogical Operations

Time 4: Hire Ann HR department [2, 14)

Time 8: Hire Bart RD department [14, now)

Time 12: Fire Ann

Time 16: Move Bart to HR department

Example (Emps as of Time 18)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bart, HRBart, RD

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 2 12Bart RD 14 16Bart HR 16 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 28 / 57

Valid-Time Example: Case Two

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Time 12: Ann on leave [6, 14)

Time 16: Remove Bart from HR for the period [8, 20)

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 29 / 57

Valid-Time Example: Case Two

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Time 12: Ann on leave [6, 14)

Time 16: Remove Bart from HR for the period [8, 20)

Example (At Time 4: Valid-Time Insert)

Name Dept vts vte

Ann HR 2 18

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 29 / 57

Valid-Time Example: Case Two

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Time 12: Ann on leave [6, 14)

Time 16: Remove Bart from HR for the period [8, 20)

Example (At Time 8: Valid-Time Insert)

Name Dept vts vte

Ann HR 2 18Bart RD 14 24

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 29 / 57

Valid-Time Example: Case Two

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Time 12: Ann on leave [6, 14)

Time 16: Remove Bart from HR for the period [8, 20)

Example (At Time 12: Valid-Time Update)

Name Dept vts vte

Ann HR 2 6Ann HR 14 18Bart RD 14 24

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 29 / 57

Valid-Time Example: Case Two

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Time 12: Ann on leave [6, 14)

Time 16: Remove Bart from HR for the period [8, 20)

Example (At Time 16: Valid-Time Delete)

Name Dept vts vte

Ann HR 2 6Ann HR 14 18Bart RD 20 24

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 29 / 57

Valid-Time Insert

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Example (Emps as of Time 6)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 2 18

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 30 / 57

Valid-Time Insert (Again)

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Example (Emps as of Time 10)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Bart, RDAnn, HR

Example (Table)

Name Dept vts vte

Ann HR 2 18Bart RD 14 24

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 31 / 57

Valid-Time Update

Logical OperationsTime 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Time 12: Ann on leave [6, 14)

Example (Emps as of Time 15)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Ann, HRBart, RD

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 2 6Ann HR 14 16Bart RD 14 24

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 32 / 57

Valid-Time DeleteLogical Operations

Time 4: Hire Ann HR department [2, 18)

Time 8: Hire Bart RD Department [14, 24)

Time 12: Ann on leave [6, 14)

Time 16: Remove Bart from HR for the period [8, 20)

Example (Emps as of Time 18)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Ann, HRBart, RD

Ann, HR

Example (Table)

Name Dept vts vte

Ann HR 2 6Ann HR 14 16Bart RD 20 24

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 33 / 57

Visualizations of DeleteExample (Result: Zero Rows)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDeleteResult

Example (Result: One Row)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDelete

Result

Example (Result: Two Rows)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDelete

Result Result

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 34 / 57

Visualizations of DeleteExample (Result: Zero Rows)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDeleteResult

Example (Result: One Row)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDelete

Result

Example (Result: Two Rows)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDelete

Result Result

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 34 / 57

Visualizations of DeleteExample (Result: Zero Rows)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDeleteResult

Example (Result: One Row)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDelete

Result

Example (Result: Two Rows)

VT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

DataDelete

Result Result

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 34 / 57

Valid-Time State Modifications, Explicit Timestamping

OperationsInsert: Explicit attributes + interval suppliedDelete: Remove where delete interval overlaps (for each original row)

0 rows if delete interval totally overlaps1 row if delete interval left/right overlaps2 rows if delete interval contained in row interval

Update: Delete followed by insert

NoteUser supplies the timestamps

Physical deletes may occur

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 35 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 36 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 37 / 57

Bitemporal Example, Implicit Timestamping

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 38 / 57

Bitemporal Example, Implicit Timestamping

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 4: Bitemporal Insert)

Name Dept vts vte tts tte

Ann HR 4 now 4 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 38 / 57

Bitemporal Example, Implicit Timestamping

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 8: Bitemporal Update)

Name Dept vts vte tts tte

Ann HR 4 now 4 8Ann HR 4 8 8 UC

Ann RD 8 now 8 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 38 / 57

Bitemporal Example, Implicit Timestamping

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 12: : Bitemporal Insert)

Name Dept vts vte tts tte

Ann HR 4 now 4 8Ann HR 4 8 8 UC

Ann RD 8 now 8 UC

Bart HR 12 now 12 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 38 / 57

Bitemporal Example, Implicit Timestamping

Logical OperationsTime 4: Hire Ann to work in the HR department

Time 8: Move Ann to the RD department

Time 12: Hire Bart to work in the HR department

Time 16: Fire Bart

Example (At Time 16: : Bitemporal Delete)

Name Dept vts vte tts tte

Ann HR 4 now 4 8Ann HR 4 8 8 UC

Ann RD 8 now 8 UC

Bart HR 12 now 12 16Bart HR 12 16 16 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 38 / 57

Bitemporal Graphs

Example (Ann)

TT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

VT

0123456789

101112131415161718

Ann, HR Ann, HR

Ann, RD

Example (Bart)

TT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

VT

0123456789

101112131415161718

Bart, HRBart, HR

NoteVisualized in two graphs, because data ”overlap”

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 39 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 40 / 57

Bitemporal Delete, Explicit Valid Time

Example (Case 1: No changes)time:1 Insert Ann, HR, [2, 8)

Example (Case 2: Delete entire interval)time:1 Insert Ann, HR, [2, 8)

time:5 Delete Ann, HR, [1, 10)

Example (Case 3: Delete first part)time:1 Insert Ann, HR, [2, 8)

time:5 Delete Ann, HR, [1, 5)

Example (Case 4: Delete in the middle)time:1 Insert Ann, HR, [2, 8)

time:5 Delete Ann, HR, [4, 7)

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 41 / 57

Bitemporal Delete, Explicit Valid Time, Case 1, Time 10

Example (Case 1: No changes)time:1 Insert Ann, HR, [2, 8)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 42 / 57

Bitemporal Delete, Explicit Valid Time, Case 2, Time 10

Example (Case 2: Delete entire interval)time:1 Insert Ann, HR, [2, 8)

time:5 Delete Ann, HR, [1, 10)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 5

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 43 / 57

Bitemporal Delete, Explicit Valid Time, Case 3, Time 10

Example (Case 3: Delete first part)time:1 Insert Ann, HR, [2, 8)

time:5 Delete Ann, HR, [1, 5)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HRAnn, HR

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 5Ann HR 5 8 5 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 44 / 57

Bitemporal Delete, Explicit Valid Time, Case 4, Time 10

Example (Case 4: Delete in the middle)time:1 Insert Ann, HR, [2, 8)

time:5 Delete Ann, HR, [4, 7)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

Ann, HR

Ann, HR

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 5Ann HR 2 4 5 UC

Ann HR 7 8 5 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 45 / 57

Bitemporal Delete Explicit Valid-Time, Summary, Time 10

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HRAnn, HR

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

Ann, HR

Ann, HR

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 46 / 57

Bitemporal Update Explicit Valid-Time

Example (Case 1: No changes)time:1 Insert Ann, HR, [2, 8)

Example (Case 2: Update entire interval)time:1 Insert Ann, HR, [2, 8)

time:5 Update Ann, RD, [1, 10)

Example (Case 3: Update first part)time:1 Insert Ann, HR, [2, 8)

time:5 Update Ann, RD, [1, 5)

Example (Case 4: Update in the middle)time:1 Insert Ann, HR, [2, 8)

time:5 Update Ann, RD, [4, 7)

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 47 / 57

Bitemporal Update Explicit Valid-Time, Case 1, Time 10

Example (Case 1: No changes)time:1 Insert Ann, HR, [2, 8)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 now

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 48 / 57

Bitemporal Update Explicit Valid-Time, Case 2, Time 10

Example (Case 2: Update entire)time:1 Insert Ann, HR, [2, 8)

time:5 Update Ann, RD, [1, 10)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HRAnn, RD

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 5Ann RD 1 10 5 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 49 / 57

Bitemporal Update Explicit Valid-Time, Case 3, Time 10

Example (Case 3: Update first part)time:1 Insert Ann, HR, [2, 8)

time:5 Update Ann, RD, [1, 5)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HRAnn, HR

Ann, RD

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 5Ann HR 5 8 5 UC

Ann RD 1 5 5 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 50 / 57

Bitemporal Update Explicit Valid-Time, Case 4, Time 10

Example (Case 4: Update in the middle)time:1 Insert Ann, HR, [2, 8)

time:5 Update Ann, RD, [4, 7)

Example (Graph)

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

Ann, HR

Ann, HR

Ann, RD

Example (Table)

Name Dept vts vte tts tte

Ann HR 2 8 1 5Ann HR 2 4 5 UC

Ann HR 7 8 5 UC

Ann RD 4 7 5 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 51 / 57

Bitemporal Graphs: Explicit Valid-Time at Time 10

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HRAnn, RD

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HRAnn, HR

Ann, RD

TT0 1 2 3 4 5 6 7 8 9 10

VT

0123456789

10

Ann, HR

Ann, HR

Ann, HR

Ann, RD

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 52 / 57

Assignment: Bitemporal Modification I

Modifications on (Name, Salary)Time:2 insert Joe, 10

Time:4 insert Tom, 22

Time:10 Update Joe’s salary to 15

Time:12 Delete Tom

AssignmentsShow the content of the table emp bt at time 15

Draw the bitemporal graph for the table emp bt

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 53 / 57

Assignment: Bitemporal Modification II

Name Salary vts vte tts tte

Joe 10 2 now 2 10Tom 22 4 now 4 12Joe 10 2 10 10 UC

Joe 15 10 now 10 UC

Tom 22 4 12 4 UC

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 54 / 57

Assignment: Bitemporal Modification III

TT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

VT

0123456789

101112131415

Joe, 10 Joe, 10

Joe, 15

TT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

VT

0123456789

101112131415

Tom, 22 Tom, 22

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 55 / 57

Outline

1 Transaction-Time State Tables

2 Valid-Time State TablesImplicit TimestampingExplicit Timestamping

3 Bitemporal State TablesImplicit TimestampingExplicit Timestaming

4 Summary

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 56 / 57

Summary

Main PointsImplicit timestamps valid-time ≈ transaction-timeExplicit timestamp for valid-time many details

Insert, fairly straight-forwardDelete, complicated because 0, 1, or 2 intervalsUpdate, is conceptual still a delete followed by an insert!

Many details for bitemporal with explicit timestampingAgain delete the hardest to understandUpdate, is conceptual still a delete followed by an insert!

NoteUse half-open intervals, e.g., [10, 15) makes life simpler!

Kristian Torp (Aalborg University) Temporal Databases: Modification November 2, 2015 57 / 57

Recommended