Che cos’è un database temporale?

Un database temporale è come un database standard, con una grande eccezione: comprende e registra il passare del tempo. Ad esempio, se qualcuno ha lavorato in un’azienda dal 2011 al 2020, il database temporale sarà in grado di memorizzare entrambe le date come quando inizia e quando finisce il tempo. Un database standard può solo mostrare che il dipendente è stato assunto e le informazioni sui suoi dipendenti dovrebbero essere cancellate quando il dipendente lascia l’azienda, perché i database standard comprendono solo il presente. Questo standard è stato creato nel 1993 e implementato nel 1994. Tutti i database temporali includono un numero intero valido per l’ora e l’ora della transazione che mostra quando l’ora è avvenuta nella vita reale e quando il database è stato modificato per accettare la modifica.

I database, nel loro formato iniziale, erano creati solo per memorizzare stringhe di testo e numeri e non riconoscevano il passare del tempo. Ciò ha creato diversi problemi, il più ovvio è che gli eventi basati sul tempo non possono essere monitorati dall’inizio alla fine, ma solo dallo stato attuale dell’evento. Un altro problema che è sorto da questo è che se una chiave primaria, o un nome di riga, era associata a una data, allora quella chiave primaria poteva essere usata più e più volte, creando dati ridondanti.

Per alleviare questi problemi, la comunità dei database è stata chiamata a creare una variabile temporale che potesse essere integrata nel formato del database. Il database temporale è stato creato nel 1993 e implementato nel 1994. Con questa modifica, i database sono stati in grado di tenere traccia dell’inizio e della fine di un evento, il che ha aiutato molte aziende, uffici governativi e scuole, tra gli altri.

Nello schema del database temporale sono state aggiunte due diverse variabili: l’ora valida e l’ora della transazione. Il tempo valido è quando i dati inseriti sono avvenuti nella vita reale. Ad esempio, se qualcuno ha cambiato il proprio indirizzo, l’ora valida sarebbe quella in cui si è verificato il cambiamento di indirizzo. L’ora della transazione è quando il database ha registrato l’evento, che potrebbe essere diverse ore o giorni dopo. Il tempo di transazione è in costante aggiornamento in modo che gli amministratori del database possano verificare come sono i dati attuali.

Come risultato dell’utilizzo di due variabili per misurare il tempo, esistono tre diversi tipi di database temporali. I database storici danno la priorità al tempo valido e i database di rollback fanno l’opposto dando priorità al tempo di transazione. La maggior parte dei database temporali moderni sono database bi-temporali o quelli che utilizzano allo stesso modo il tempo valido e quello di transazione. La creazione di database temporali consente agli amministratori di utilizzare un’ampia varietà di query temporali per accertare correttamente le informazioni sensibili al fattore tempo.