Come progettare una tabella in Oracle 11g in modo che sia compatibile in seguito con la nuova funzione "Validità temporale" in Oracle 12c?Come utilizzare la validità temporale in Oracle 12c?
La documentazione in linea di Oracle 12c specifica come definire la validità temporale inthe guida SQL Lingua (http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_7002.htm#CJADHJHB)
ALTER TABLE my_table ADD (PERIOD FOR my_valid_time (my_valid_start, my_valid_end));
Così si potrebbe utilizzare il buon vecchio VALID_FROM e valid_till colonne già in 11g e rinforzare alla corretta periodi in 12c, giusto?
Ho ereditato database che utilizzano date di magia fisse per "sempre" e "per sempre", ad esempio DATE '1900-01-01'
e DATE '3999-12-31'
. Apparentemente, 12c usa invece NULL
.
Quindi, dobbiamo abbandonare l'utilizzo di date di magia fisse e passare alle date NULL
?
Grande domanda su 12c! Non ho ancora usato 12c, quindi aggiungo solo un commento invece di una risposta. La mia lettura iniziale sulla caratteristica di Temporarl Validity è che, mentre i NULL sarebbero preferibili, anche le date magiche funzionerebbero altrettanto bene. Potrebbero interferire in qualche modo con il CBO di Oracle e causare scarsi piani di query, ma è sempre stato il caso con valori magici; e i nuovi istogrammi di 12c potrebbero andare in qualche modo a mitigare anche questo. –