125
Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Embed Size (px)

Citation preview

Page 1: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases(Managing time varying data)

Rob Squire - UK Consulting

Temporal Databases(Managing time varying data)

Rob Squire - UK Consulting

Page 2: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

Am I a good guy or a bad guy?

Page 3: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

Interval Data Type (Timestamps) 6NF (horizontal and vertical

decomposition aka TNF) Pack/UnPack (Collapsed form) No ‘special’ attributes SQL with no extensions

Page 4: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

What are temporal databases? What is time varying data? Implementation Approaches Why now? Demonstration Questions and Answers

Page 5: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

What are temporal databases? What is time varying data? Implementation Approaches Why now? Demonstration Questions and Answers

Page 6: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What are temporal databases?

Non Temporal– store only a single state of the real world,

usually the most recent state– classified as snapshot databases– application developers and database designers

need to code for time varying data requirements eg history tables, forecast reports etc

Page 7: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What are temporal databases?

Temporal– stores upto two dimensions of time i.e VALID

(stated) time and TRANSACTION (logged) time

– Classified as historical, rollback or bi-temporal

– No need for application developers or database designers to code for time varying data requirements i.e time is inherently supported

Page 8: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What are temporal databases?

Valid (stated) Time

Tra

nsa

ctio

n (

log

ged

) T

ime

The 2 dimensions of time

Page 9: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What are temporal databases?

Valid (stated) Time

Tra

nsa

ctio

n (

log

ged

) T

ime

Granularity of the time axis

Chronons can be days, Seconds, milliseconds depending on the application domain

Page 10: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What are temporal databases?

The moving point ‘now’

Valid (stated) Time

Tra

nsa

ctio

n (

log

ged

) T

ime

Page 11: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What are temporal databases?

We can use these two dimensions to distinguish between different forms of temporal database

A rollback database stores data with respect to transaction time e.g. Oracle 10g has flashback query

A historical database stores data with respect to valid time

A bi-temporal database stores data with respect to both valid time and transaction time.

Page 12: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

What are temporal databases? What is time varying data? Implementation Approaches Why now? Demonstration Questions and Answers

Page 13: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What is time varying data?

You want a reprint of a customer's invoice of August 12, 1999.

What was the stock value of the Oracle shares on June 15th, last year?

What was the lowest stock quantity for every product last year? How much money will you save, if you keep the stocks at those levels?

Where do you enter the new address of this customer as from the first of next month?

What will your profits be next month, given the price list and cost prices by then?

Page 14: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What is time varying data?

And combinations of the situations can be very complex

 You offered these goods to the customer on January 10 this year. What were the billing prices and what was his discount level when you sent him this offer? He has not accepted yet. Is it smart to offer him an actualized discount now?

Given the final settlements for all the insurance claims of the last three years, what will be the minimum insurance premium your customers have to pay next year?

Page 15: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What is time varying data?

Examples of application domains dealing with time varying data:

Financial Apps (e.g. history of stock market data) Insurance Apps (e.g. when were the policies in effect) Reservation Systems (e.g. when is which room in a

hotel booked) Medical Information Management Systems (e.g.

patient records) Decision Support Systems (e.g. planning future

contigencies) CRM applications (eg customer history / future) HR applications (e.g Date tracked positions in

hierarchies)

Page 16: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What is time varying data?

In fact, time varying data has ALWAYS been in business requirements – but existing technology does not deal with it elegantly!

Page 17: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What is time varying data?

Ask yourself two questions

Does your business need to know the situation as it was known at a particular date (e.g. the reprint of the customer's invoice)?

Does your business use information that was effective in the past or will become effective in the future (e.g. the new address of the customer)?

Page 18: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

What is time varying data?

If you answer "Yes" on one or both of these questions then your data varies over time and you could consider adopting a temporal approach

Page 19: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

What are temporal databases? What is time varying data? Implementation Approaches Why now? Demonstration Questions and Answers

Page 20: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Implementation Approaches

Several implementation strategies are available

Use a date type supplied in a non-temporal DBMS and build temporal support into applications (traditional)

Implement an abstract data type for time (object oriented)

Provide a program layer (api) above a non-temporal data model (stratum)

Page 21: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Implementation Approaches

Generalise a non-temporal data model into a temporal data model (Temporal Normal Form)

Re-design core database kernel (Temporal Database)

Page 22: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Implementation Approaches

Q: Why don’t temporal databases already exist?

A: Dealing with time-varying data is complex

Page 23: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Implementation Approaches

For example: Avoiding duplicates requires complex logic. Avoiding gaps in a time-varying data

requires complex logic. A simple join when applied to time-varying

data turns into many lines of code consisting of multiple FROM and WHERE clauses.

A simple update translates into several modification statements requiring many lines of code.

Page 24: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

What are temporal databases? What is time varying data? Implementation Approaches Why now? Demonstration Questions and Answers

Page 25: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Why now? Plummeting cost of storage Widespread adoption of warehouse

technology has led to an increasing interest in temporal databases

The idea of maintaining and processing historical data has become not just a goal but a reality for many organisations

Page 26: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Why now?

DW vendors are themselves faced with temporal problems (slowly changing time dimension) and have begun to feel the need for a new solution

DB Vendors considering adding temporal support to existing product (Oracle flashback query) and applications (Oracle HR date tracking/payroll)

SQL bodies are beginning to think about adding syntax to the standard to support temporal features (SQL3, TSQL)

Page 27: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Temporal Databases

What are temporal databases? What is time varying data? Implementation Approaches Why now? Demonstration Questions and Answers

Page 28: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Temporal Normal Form (approach 4) Generate TNF for supplier, supplier part

schema Show select, insert, update and delete

operations Show Referential Integrity With a Temporal Data Dictionary Using simple standard SQL with no

extensions

Page 29: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now

Page 30: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Timestamp or Now + 2 days

Page 31: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Transaction Time

Now

Page 32: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Transaction Time

Timestamp orNow - 2 days

Page 33: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Fix Transaction and Valid Time

SUPPLIER

Page 34: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 01Generating, populating and querying TNF

Page 35: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

SUPPLIERPART

Non Temporal Schema (SP) TNF Temporal Schema (TSP)

Example schema taken fromTemporal Data and the Relational Modelby CJ Date, H Darwin, NA Lorentzos (2003)

Page 36: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

SUPPLIERPART

Non Temporal Schema (SP) TNF Temporal Schema (TSP)

SUPPLIER

SUPPLIERPART

Generate

Page 37: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Record Timestamp 1

03-NOV-05 15.45.23.125990000

Page 38: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

SUPPLIERPART

Non Temporal Schema (SP) TNF Temporal Schema (TSP)

SUPPLIER

SUPPLIERPART

Populate

Insert as Select * from

Page 39: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t0(now)

Transaction time = now

Page 40: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t1(now)

S1

S2

S4

S3

S5

Transaction time = now

Page 41: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time timestamp1

Page 42: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t2(timestamp1)

S1

S2

S4

S3

S5

Transaction time = now

Page 43: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 44: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t3 (now)

S1

S2

S4

S3

S5

Transaction time = now

Page 45: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now + 2 days

Page 46: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t4 (now+2days)

S1

S2

S4

S3

S5

Transaction time = now

Page 47: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

delete

S1

S2

S4

S3

S5

Transaction time = now

Page 48: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 49: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t5 (now)

S1

S2

S4

S3

S5

Transaction time = now

Page 50: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

S1

S2

S4

S3

S5

eovt

Transaction time = now

Page 51: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t6 (now)

S1

S2

S4

S3

S5

Transaction time = now

Page 52: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Record Timestamp 2

03-NOV-05 15.57.04.334588000

Page 53: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now + 30 seconds

Page 54: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t7(now+30 seconds)

S2

S4

S3

S5

S1

Transaction time = now

Page 55: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

delete

S1

S2

S4

S3

S5

Transaction time = now

Page 56: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 57: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t8(now)

S1

S2

S4

S3

S5

Transaction time = now

Page 58: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 1

t9(now)

S1

S2

S4

S3

S5

Transaction time = now

Page 59: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 02Fixing transaction time

Page 60: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

t10(now)

S1

S2

S4

S3

S5

33

Transaction time = now

Page 61: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

t11(now)

S1

S2

S4

S3

S5

45

Transaction time = now

Page 62: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

t12(now)

S1

S2

S4

S3

S5

65

Transaction time = now

Page 63: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Transaction Time

Timestamp 2

Page 64: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

S2

S4

S3

S5

S1

171000t13(now)

Transaction time < t7

Page 65: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

S2

S4

S3

S5

S1

170900t14(now)

Transaction time < t7

Page 66: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

S2

S4

S3

S5

S1

170800t15(now)

Transaction time < t7

Page 67: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

S2

S4

S3

S5

S1

Lifetime >2 days

Transaction time < t7

Page 68: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

UnFix Transaction Time

Now

Page 69: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 2

S2

S4

S3

S5

S1

Lifetime 1 hour

Transaction time = now

t16(now)

Page 70: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 03 (part1)DML not allowed when transaction time is fixed

Page 71: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Transaction Time

Current Timestamp

Page 72: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 3

t17(now)

Transaction time <> now

ORA-20001: S: Cannot insert while system Y time is set.

Page 73: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

UnFix Transaction Time

Now

Page 74: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 03 (part 2)Updating in TNF

Page 75: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now – 10 days

Page 76: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 3

t18(now-10days)

London

Paris

London

Paris

Athens

Transaction time = now

Page 77: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now – 8 days

Page 78: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 3

t19(now-8days)

London

Lyons

London

Athens

Transaction time = now

Paris

Paris Lyons

Page 79: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now – 6 days

Page 80: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 3

t20(now-6days)

London

Lyons

London

Corinth

Transaction time = now

Paris

Paris Lyons

Athens

Page 81: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now – 4 days

Page 82: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 3

t21(now-4days)

Lyons

Manchester

Corinth

Transaction time = now

Paris

Paris Lyons

Athens

London

London Manchester

Page 83: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 84: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 3

t22(now)

Lyons

Manchester

Corinth

Transaction time = now

Paris

Paris Lyons

Athens

London

London Manchester

Page 85: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 3

Lyons

Manchester

Corinth

Transaction time = now

Paris

Paris Lyons

Athens

London

London Manchester

t18 t19 t20 t21

Page 86: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 04 (part1)Maintaining Referential Integrity

Page 87: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 88: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S

Transaction time = now

SP

ORA-20001: :Integrity Constraint violated – parent key not found

(showing one S relvar)

t23(now)

Page 89: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S

Transaction time = now

SP

(showing one S relvar)

t23(now)

Page 90: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S

Transaction time = now

SP

(showing one S relvar)

t23(now)

Page 91: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 04 (part2)Foreign Key Rules for TNF

Page 92: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now – 10 days

Page 93: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S1

Transaction time = now (showing one S relvar)

t24(now-10days)

Page 94: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 95: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S1

Transaction time = now (showing one S relvar)

t25(now)

Page 96: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now – 5 days

Page 97: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S1

Transaction time = now (showing one S relvar)

t26(now-5days)

ORA-20001: :Integrity Constraint violated – parent key not found

S1,P1

Page 98: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S1

Transaction time = now (showing one S relvar)

t26(now-5days)

Delete rule on foreign key constraint SP_S_FK is RESTRICT

S1,P1

deleterestrict

Page 99: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S1

Transaction time = now (showing one S relvar)

t26(now-5days)

Delete rule on foreign key constraint SP_S_FK is CASCADE

S1,P1

deletecascade

Page 100: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 101: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 4

S1

Transaction time = now (showing one S relvar)

t27(now)

S1,P1

Page 102: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 05A more complex example

Page 103: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

UnFix Transaction Time

Now

Page 104: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now – 100 days

Page 105: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 5

S1,P2

Transaction time = now (showing all SP relvars)

S1,P3

S2,P4

S2,P5

S2,P6

S3,P1

S3,P3

S3,P6

S1,P4

S1,P5

S1,P1

Page 106: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 5

S1,P2

Transaction time = now (showing all SP relvars)

S1,P3

S2,P4

S2,P5

S2,P6

S3,P1

S3,P3

S3,P6

S1,P4

S1,P5

S1,P1

QUERY A – Page 74

List of dates each supplier was able to supply at least one part

S1 S1

S3

S2

Page 107: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 5Transaction time = now (showing all SP relvars)

S2,P4

S2,P5

S2,P6

S3,P1

S3,P3

S3,P6

S1,P4

S1,P5

QUERY B – Page 75

List of dates each supplier was unable to supply at least one part

S1,P2

S1,P3

S1,P1

S1 S1 S1

S2S2

S3 S3

Page 108: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 06 (part1)The classic Employee Department schema example

Page 109: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 110: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

UnFix Transaction Time

Now

Page 111: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now (showing Dept relvar)

t28(now)

Page 112: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now (showing Dept relvars)

Dept 20, Finance, New York

t29(now)

Page 113: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now (showing Dept/Emp relvars)

Dept 20, Finance, New York

t30(now)

Emp 1, John, Clerk,…,Dept 10

Page 114: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

SUPPLIER

Fix Valid Time Now + 20 days

Page 115: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now

Dept 20, Finance, New York

t31(now+20)

Emp 1, John, Clerk,…,Dept 10

(showing Dept/Emp relvars)

Page 116: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Un Fix Valid Time

SUPPLIER

Now

Page 117: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now

Dept 20, Finance, New York

t32(now)

Emp 1, John, Clerk,…,Dept 10

ORA-20001: :Integrity Constraint violated – parent key not found

deleterestrict

(showing Dept/Emp relvars)

Page 118: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now

Dept 20, Finance, New York

t33(now)

Emp 1, John, Clerk,…,Dept 20

deletecascade

(showing Dept/Emp relvars)

Page 119: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Demo 06 (part2)Non Transferable foreign keys

Page 120: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now

Dept 20, Finance, New York

t33(now)

Emp 1, John, Clerk,…,Dept 20

transferable

(showing Dept/Emp relvars)

Page 121: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now

Dept 20, Finance, New York

t34(now)

Emp 1, John, Clerk,…,Dept 20

Nontransferable

ORA-20001: :Illegal attempt to modify non-transferable foreign key.

(showing Dept/Emp relvars)

Page 122: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

DEMO 6

Dept 10, Sales, New York

Transaction time = now

Dept 20, Finance, New York

t34(now)

Emp 1, John, Clerk,…,Dept 20

Nontransferable

(showing Dept/Emp relvars)

Page 123: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

You have just seen A practical implementation of TNF Using Standard SQL Where existing data modelling techniques

for current view apply Providing bi temporal support Can underpin any application development

platform (forms, java, html etc)

Page 124: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

Demonstration

Next Steps

• Gather feedback and responses on TNF from Oracle user organisations

• Contact Oracle Expert Services • 0870 550 3060• [email protected]• www.oracle.com/uk/expert_services

Page 125: Temporal Databases (Managing time varying data) Rob Squire - UK Consulting

AQ&Q U E S T I O N SQ U E S T I O N S

A N S W E R SA N S W E R S

Rob Squire UK [email protected]