Mis on ajaline andmebaas?

Ajaline andmebaas on nagu tavaline andmebaas, ühe suure erandiga: see mõistab ja logib aja möödumist. Näiteks kui keegi töötas ettevõttes aastatel 2011–2020, saab ajaline andmebaas salvestada nii kellaaja alguse kui ka lõpu kuupäevad. Tavaline andmebaas suudab näidata ainult seda, et töötaja on tööle võetud ja tema töötaja andmed tuleks kustutada, kui töötaja ettevõttest lahkub, sest standardandmebaasid mõistavad ainult olevikku. See standard loodi 1993. aastal ja rakendati 1994. aastal. Kõik ajalised andmebaasid sisaldavad kehtivat kellaaega ja tehinguaja täisarvu, mis näitab, millal see aeg tegelikus elus juhtus ja millal andmebaasi muudatuse vastuvõtmiseks muudeti.

Andmebaasid olid nende varases vormingus loodud ainult teksti- ja numbristringide salvestamiseks ning need ei tuvastanud aja möödumist. See tekitas mitmeid probleeme, millest kõige ilmsem oli see, et ajapõhiseid sündmusi ei saanud jälgida algusest lõpuni, vaid ainult sündmuse hetkeseisu järgi. Teine probleem, mis sellest tekkis, on see, et kui primaarvõti või rea nimi on seotud kuupäevaga, saab seda primaarvõtit kasutada ikka ja jälle, luues üleliigseid andmeid.

Nende probleemide leevendamiseks kutsuti andmebaasikogukonda koostama ajaline muutuja, mida saaks andmebaasivormingusse integreerida. Ajutine andmebaas loodi 1993. aastal ja rakendati 1994. Selle muudatusega suutsid andmebaasid jälgida, millal sündmus algas ja millal see lõppes, mis aitas muuhulgas paljusid ettevõtteid, riigiasutusi ja koole.

Ajalise andmebaasi skeemi lisati kaks erinevat muutujat: kehtiv aeg ja tehingu aeg. Kehtiv aeg on siis, kui sisestatud andmed juhtusid päriselus. Näiteks kui keegi muutis oma aadressi, oleks kehtiv aeg aadressi muutmise toimumise aeg. Tehinguaeg on aeg, mil andmebaas sündmuse salvestas, mis võib olla mitu tundi või päeva hiljem. Tehinguaega uuendatakse pidevalt, et andmebaasi administraatorid saaksid kontrollida, kuidas praegused andmed on.

Kahe muutuja kasutamise tulemusena aja mõõtmiseks on kolm erinevat ajalise andmebaasi tüüpi. Ajaloolised andmebaasid seavad esikohale kehtiva aja ja tagasipööramisandmebaasid teevad vastupidist, seades prioriteediks tehinguaja. Enamik kaasaegseid ajaandmebaase on kaheajalised andmebaasid või need, mis kasutavad kehtivat ja tehinguaega võrdselt. Ajaliste andmebaaside loomine tähendab, et administraatorid saavad ajatundliku teabe õigeks kindlakstegemiseks kasutada mitmesuguseid ajapäringuid.