69
beigas (tB) sākums (ts) Laiks datu bāzē Diva veida saites starp datiem: 1) semantikas saites. Sasaistīt var tikai to, kam kopā ir kaut kāda jēga. Vieni dati papildina citus datus. 2) laika saites. Datu sasaistei ir būtiski, vai tie eksistē vienlaicīgi, vai vieni dati veidojās pirms otriem datiem, vai svarīgs ir datu kopējās eksistēšanas laiks. Semantiskā saite Datu bāzes tabulas versijas, tabulas datu izmaiņas laikā 1

Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Embed Size (px)

Citation preview

Page 1: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

beigas (tB)sākums (ts)

Laiks datu bāzē

Diva veida saites starp datiem:1) semantikas saites. Sasaistīt var tikai to, kam kopā ir kaut kāda

jēga. Vieni dati papildina citus datus. 2) laika saites. Datu sasaistei ir būtiski, vai tie eksistē vienlaicīgi, vai

vieni dati veidojās pirms otriem datiem, vai svarīgs ir datu kopējās eksistēšanas laiks.

Semantiskā saite

Datu bāzes tabulas versijas, tabulas datu izmaiņas laikā

t

1

Page 2: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika periodu attiecības datu sasaistē

Tabula PROJEKTI

Periods P1

Tabula DARBINIEKI

P2 Periods P2 P1 t

NUM NOS D_NO D_LIDZ1 CC2 BB3 AA4 DD

ID UZV ALGA P_NUM D_NO D_LIDZ101 Koks 700 1102 Celm

s800 1

103 Zars 750 2104 Lapa 850 2

2

Page 3: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Piemērs. Avīzes pasūtījuma rēķina apmaksa

Mēneši

Avīzes abonēšana

Avīzes iznākšana

Avīzes cena

Avīzes cenas atlaides

1a 2a - 3a 3a 4a - 5a 5a 5aiz1 iz2 iz3 iz4 iz5 iz6 iz7 iz830 30 30 35 35 40 40 30 35 350 0 10 10 0 0 15 15 15 10

Abonēšana No Līdz1a2a3a4a5a

Iznākšana No Līdziz1iz2iz3

Cena No Līdz3035403035

Atlaide No Līdz01001510

3

Page 4: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika modeļi

Laika ass (laika vektors) t

Lieto trīs laika modeļus:

1) nepārtrauktais laika modelis (continuous time model). Laiks tiek

skatīts kā izomorfisks (formas ziņā līdzīgs) attiecībā pret reāliem

skaitļiem (racionāliem un irracionāliem). Katrs reāls skaitlis atbilst

laika “punktam” (momentam) laika asī.

2) ierobežota laika modelis (dense time model), kur laiks tiek skatīts

kā izomorfisks attiecībā pret racionāliem skaitļiem (var pierakstīt kā 2

skaitļu dalījumu);

3) diskrēta laika modelis (discrete time model), kur laiks tiek skatīts

kā izomorfisks attiecībā pret veseliem skaitļiem.

Laika modeļi Ierobežota laika modelis

Diskrēta laika modelis

Ilgstoša laika modelis

4

Page 5: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika moments un laika periods

1. Visos trīs laika modeļos punkts tiek saukts par laika laika

momentu (instant).

2. Laiks starp diviem laika momentiem tiek saukts par laika periodu.

Tas tiek definēts ar diviem laika momentiem: ar laika momentu, kad

sākas periods un laika momentu, kad beidzas periods.

3. Laika moments ir īpašs laika perioda paveids, kuram laika

moments, kad sākas periods, sakrīt ar laika momentu, kad beidzas

periods.

Laika moments = Periods(LS, LB), kur LS = LB

Laika ass (vektors)

Laika moments L1 Laika moments L2

Periods [L1, L2]

5

Page 6: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika segments un laika iezīme

Analizējamā laika segments ir ierobežots no abām pusēm.

Laiks tiek glabāts fiksētās datu struktūrās sauktās par laika iezīmi

(timestamp). Ja laika vektors būtu neierobežots, tas padarītu šādu

glabāšanas shēmu par nederīgu, jo glabājot datorā laika iezīmei arī

būtu nepieciešams neierobežots atmiņas apgabals (lielums).

Laika vektors jeb laika ass

Pasaules radīšana Pasaules gals

Laika sākums Laika beigas

6

Page 7: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika granula

1. Laika segments var būt iedalīts ierobežota skaita mazākos diskrētos

laika segmentos, kurus sauc par granulām.

2. Laika sadalīšana tiek saukta par mērogošanu (scaling). Laika

mērogošana ir dinamiska un tiek piemērota katra vaicājuma

vajadzībām. Piemēram, laika skala var būt sadalīta dienas garuma

granulās vai arī to pašu laika skalu var sadalīt mēnešu vai gadu

garuma granulās.

Laika vektors jeb laika ass

Laika dalīšana dienās

Laika intervāls 1 diena

Laika vektors jeb laika ass

Laika dalīšana mēnešu granulās

Laika intervāls 1 mēnesis

7

Page 8: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Hronons (vismazākā laika granula)

1. Vismazāko laika vienību, kura tiks atbalstīta, sauc par hrononu ( chronon).

2. Ck liel hronons tiks izvēlēts (nanosekunde, stunda, diena, gads, ...), nosaka informācijas sistēmas projektētāja, analizējot lietotāju potenciālos jautājumus.

Laika vektors jeb laika ass

Laika dalīšana vismazākajās granulās - hrononos

Vismazākais laika intervāls 1 hronons

8

Page 9: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika momenta modelēšana1. Hronons ir segments uz laika ass, bet laika moments (brīdis, acumirklis) ir

kāds punkts laika asī. Kāda ir attiecība starp hrononu un laika momentu?

2. Varētu pieņemt, ka hrononi un momenti ir vienāda izmēra.

Varētu pieņemt, ka hrononi ir daudz lielāki par mometiem, tas ir, ka katrs

hronons sastāv no liela (iespējams neierobežota) skaita momentu.

3. Ja tiek pieņemts, ka hrononi un momenti ir vienādi, tad mums ir jālieto

diskrēta laika modelis.

4. Ja laika modelis būs ilgstoša laika vai ierobežota laika modelis, tad būtu

nepieciešams neierobežots skaits hrononu, jo jebkurā no šiem diviem modeļiem

ir neierobežots (bezgalīgs) momentu skaits starp jebkuru nenulles garuma laika

ass segmentu (laika periodu). Tas ir tā pat, kā starp jebkuriem diviem punktiem

ir bezgalīgi daudz punktu, vai arī starp diviem skaitļiem uz skaitļu ass ir

bezgalīgi daudz lielākas precizitātes citu skaitļu. Tā pat ir ar punktiem uz laika

ass.

5. Momenta laika iezīmi ierakstot, tiek noteikts, ka laiks atrodas kaut kur

hronona vai granulas laika ietvaros (dienā, gadā, mēnesī utt.). Tiek pieņemts, ka

laika momenta laika iezīme attiecas uz visu granulas perioda garumu.

Laika vektors jeb laika ass

Laiks 15.35

Laika granula - minūte

Laiks 15.36

9

Page 10: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika momenta modelēšana (turpinājums)6. Ja mēs pieņemam, ka laika brīdis atrodas kaut kur granulas perioda ietvaros, tad mēs tik pat labi varam pieņemt, ka tas vienmēr ir granulas pirmais laika brīdis, jo neviena laika iezīmes operācijas nelieto laika brīža atrašanās vietu granulā. 7. Laika operācijām nav svarīgi, kāds ir mūsu pieņēmums par laika brīža atrašanās vietu granulā. Tā kā nav nekādu praktisku atšķirību starp diviem pieņēmumiem, pieņēmums, ka laika brīdis attiecas uz granulas pirmo laika brīdi labāk modelē procesu, ar kura palīdzību mēs iegūstam temporālu informāciju.

.

8. Kopsavilkumā, laika brīdis tiek modelēts ar laika iezīmi kopā ar tai piekārtoto (asociēto) laika skalu (piem. Dienas, gada, mēneša, utt.). Laika brīdis, kas tiek modelēts ar laika iezīmi ir kāds laika brīdis granulas perioda garumā, kur granula tiek izvēlēta pēc laika brīdim piesaistītās laika skalas.

Laika vektors jeb laika ass

Laiks 15.35

Laika granula - minūte

Laiks 15.36

Tiek pieņemts, ka laika moments, kuru apzīmē laika iezīme granulas ietvaros, ir pirmais granulas laika moments

10

Page 11: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Perioda modelēšana

1. Perioda laika iezīmei ir piekārtota jeb piesaistīta (asociēta) laika

skala (piem. dienas, gada, mēneša, utt.).

2. Perioda laika iezīme sastāv no divām laika momenta laika iezīmēm

un viena ierobežojuma. Ierobežojums nosaka, ka laika brīža laika

iezīme, kas attiecas uz perioda sākumu ir vienāda vai lielāka (attiecas

uz vēlāku laika brīdi) par laika momenta laika iezīmi (dotajā laika

skalā) ar kuru beidzas periods.

4. Abi laika brīži ar kuru sākas un beidzas periods tiek uzdoti (jeb

attiecas) ar vienu un to pašu laika skalu (piem. dienas, gada, mēneša,

utt.).

Laika vektors

Laika moments L1 Laika moments L2

Periods (L1, L2) Ierobežojums: L1 > L2

11

Page 12: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Transakcijas laiks

Fakts tiek ierakstīts datubāzē

Laika dimensijas

Laikam var būt vairākas dimensijas:

1) reālais laiks (valid time) ir laiks, kad realitātē fakts ir patiess. Reālie

laiki var būt nākotnē, ja ir zināms, ka kāds fakts noteiktā laikā

nākotnē kļūs par patiesu.

2) transakcijas laiks ir laiks laiku, kad fakts kā glabājamie dati tiek

ievietots (ierakstīts) datu bāzē.

Fakts ir patiess modelētā realitātē

Reālais laiks

12

Page 13: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika dimensiju ortogonalitāte

1. Reālā laika un transakcijas laika dimensijas ir ortogonālas. Tās ir neatkarīgas viena no otras. Transakciju laikam nav tieša sakara ar reālo laiku.

2. Datu modelis, kurš neuztur nevienu no šiem modeļiem tiek saukts par momentuzņēmuma modeli (snapshot model). 3. Datu modelis, kas uztur tikai reālo laiku (valid time) tiek saukts par reālā laika modeli (valid-time). 4. Datu modelis, kas uztur tikai transakciju laiku (transaction time) tiek saukts par transakciju laika modeli (transaction-time). 5. Datu modeli, kas uztur abus laikus, tiek saukts par bitemporālu datu modeli. 6. Reālais laiks (valid time) var būt kā ierobežots, tā arī neierobežots. 7. Transakciju laiks vienmēr ir ierobežots abos laika ass galos. Parasti transakciju laiks sākas ar brīdi, kad tiek izveidota datu bāze.

Transakcijas laiks0 5 10 15 20 25 30

30

25

20

15

10

5

0

Reālais laiks

13

Page 14: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Atribūtu mainīgums1. Atribūtus var iedalīt pamatojoties uz to kā tie savstarpēji iedarbojas ar laiku. 2. Laikā nemainīgs (time-inavariant) atribūts laika gaitā nemainās. Piemēram, tāds atribūts ir tabulas primārās atslēgas lauks (primary key). Katra atslēgas lauka vērtība identificē kādu konkrētu objektu (vai rindu) tabulā. Cita atslēgas lauka vērtība identificē arī citu objektu. Bet ne tikai tabulas primārās atslēgas lauki (primary key), bet arī citi tabulas lauki var būt laikā nemainīgi, piemēram, kādas personas dzimšanas dienas datums. Laikā nemainīgi parasti ir reālie laiki (valid times).2. Pretēji laikā nemainīgiem atribūtiem ir laikā mainīgie. Piemēram, darbinieka alga ir laikā mainīgs atribūts, jo laika gaitā alga var mainīties. 3. Atribūta vērtības var būt ņemtas no temporāla domēna. Šādi temporālie domēni tiek saukti par lietotāja definētu laiku.

Laikā mainīgs

Atribūts

Laikā nemainīgs

piemēram

Darbinieka alga

piemēram

Darbinieka numurs

14

Page 15: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Tiešas un netiešas laika iezīmes

1. Dažos datu modeļos laika un faktu asociācija ir netieša. Savukārt citos

modeļos, šī asociācija ir atspoguļota ar laika iezīmju tipa (timestamp) atribūtu.

2. Transakciju laika piesaiste faktiem tiek nodrošināta ar sistēmas palīdzību,

līdz ar to transakciju laika modernizācijas valodas aplūko temporālos fakta

aspektus netieši.

3. Pretstatā, faktu reālais laiks (valid time) parasti tiek nodrošināts ar lietotāja

palīdzību. Līdz ar to reālā laika datu manipulāciju valodas un bitemporālie datu

modeļi parasti laiku lieto tieši, un ir spiestas piedāvāt izvēli kā lietotājam

vajadzētu noteikt faktu reālā laika (valid time) vērtības.

15

Page 16: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Vērtību ekvivalence un ierakstu apvienošana1. Divi ieraksti tiek saukti pēc vērtībām ekvivalenti (vērtību

ekvivalenti), ja ignorējot speciālu laika iezīmes atribūtu, tie ir vienādi.

2. Relācijas instance ir apvienojoša, ja dublējošies vai secīgi vērtību

ekvivalenti ierakti nav atļauti. Šeit “dublējošs” un “secīgs” tiek

attiecināti uz ieraksta laika iezīmes tipa atribūta vērtībām, kurām ir

jānosaka viens vienīgs hronons vai secīgu hrononu kopa.

Vārds Uzvārds Amats Sākums BeigasJānis Lujāns Grāmatvedis 12-05-2000 28-05-2001

Emīlija Rozentāle Sekretārs 05-06-2002 05-06-2002Jānis Lujāns Grāmatvedis 28-05-2001 14-07-2002Juris Zariņš Šoferis 18-07-2002 18-07-2002

Vārds Uzvārds Amats Sākums BeigasJānis Lujāns Grāmatvedis 12-05-2000 14-07-2002Emīlija Rozentāle Sekretārs 05-06-2002 05-06-2002Juris Zariņš Šoferis 18-07-2002 18-07-2002

Pēc vērtībām vienādi ieraksti tiek apvienoti. Periodi arī tiek apvienoti.

16

Page 17: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporālo datu modeļiLai pievienotu laiku relāciju modelim, pēdējo 15 gadu laikā ir definēti

vairāk kā 20 relāciju modeļa paplašinājumu.

Datu modelis Oficiāli pieminēts Laika dimensija(s) ApzīmējumsTemporāli orientēts datu modelis

[Ariav 1986] Reālā laika Ariav

Laika relāciju modelis

[Ben-Zvi 1982] Reālā laika un transakciju laika

Ben-Zvi

Vēsturisko datu modelis

[Clifford & Warrer 1983] Reālā laika Clifford-1

Vēsturisko relāciju datu modelis

[Clifford & Croker 1987] Reālā laika Clifford-2

Homogēns relāciju modelis

[Gadia 1988] Reālā laika Gadia-1

Heterogēns relāciju modelis

[Gadia & Yeung 1988] Reālā laika Gadia-2

TempSQL [Gadia 1992] Reālā laika un transakciju laika

Gadia-3

DM/T [Jensen 1991] Transakciju laika JensenLEGOL 2.0 [Jones 1979] Reālā laika JonesDATA [Kimball 1978] Transakciju laika KimballHQL [Sadeghi 1987] Reālā laika SadeghiHSQL [Sarda 1990] Reālā laika SardaTemporāls datu modelis

[Segev & Shoshani 1987] Reālā laika Segev

TQuel [Snodgrass 1987] Reālā laika un transakciju laika

Snodgrass

Postgres [Stonebraker 1987] Transakciju laika StonebrakerHQuel [Tansel 1986] Reālā laika TanselUzskaites datu modelis

[Thompson 1991] Reālā laika un transakciju laika

Thompson

17

Page 18: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporālās vaicājumu valodas TSQL2 datu modeļa sastāvdaļas1. Datu modelis sastāv no: vaicājumu valodas, objektiem ar kuriem manipulē

vaicājumu valodas, modifikāciju valodas, lai veiktu objektu modifikāciju, un

mehānisma, kas nodrošina integritātes ierobežojumus.

2. Eksistē liels daudzums nesavietojamu (nesaderīgi) vaicājumu valodas. Par iemeslu tam ir vienlaicīga orientēšanās uz datu atspoguļošanu, datu glabāšanu un vaicājumu efektivitāti. 3. Tādēļ TSQL2 autori atbalsta ļoti vienkāršu koncepciju, unificētu datu modeli,

kurā ietvertas tikai svarīgākās laika atkarīgu relāciju semantikas.

Datu modelis

Vaicājumu valoda

Vaicājumu valodas objekti

Datu manipulāciju valoda

Integritātes ierobežojumu nodrošināšanas

mehānisms

18

Page 19: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Time database, temporal database (definitions)

A temporal database is a database with: 1) built-in support for handling data involving time;2) being related to the slowly changing dimension concept;3) a temporal data model;4) a temporal version of Structured Query Language (SQL).

More specifically the temporal aspects usually include:1) valid time. Valid time is the time period during which a fact is true in the real world.2) transaction time. Transaction time is the time period during which a fact stored in the database was known.3) bitemporal time. Bitemporal data combines both valid and transac-tion time.

It is possible to have timelines other than valid time and transaction time, such as decision time, in the database (multitemporal database). In that case the database is called a multitemporal database as opposed to a bitemporal database. However, this approach introduces additional complexities such as dealing with the validity of (foreign) keys.Temporal databases are in contrast to current databases, which store only facts which are believed to be true at the current time.

19

Page 20: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Different forms of temporal databases

1. A historical (vēsturisko datu) database stores data with respect to valid time.2. A rollback (atrites datu) database stores data with respect to transaction time. 3. A bitemporal database stores data with respect to both valid and transaction time – they store the history of data with respect to valid time and transaction time.

20

Page 21: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

21

Page 22: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Features of temporal database

1. A time period datatype, including the ability to represent time periods with no end (infinity or forever)2. The ability to define valid and transaction time period attributes and bitemporal relations3. System-maintained transaction time4. Temporal primary keys, including non-overlapping period constraints5. Temporal constraints, including non-overlapping uniqueness and ref-erential integrity6. Update and deletion of temporal records with automatic splitting and coalescing of time periods7. Temporal queries at current time, time points in the past or future, or over durations8. Predicates for querying time periods, often based on Allen’s interval relations

22

Page 23: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Mathematic for Temporal DataBase Management Systems US logic and derived Modal operators - gives an insight into new temporal operators that are specifically designed to manipulate temporal databases. These operators have been shown to be mathematically sound which makes them useful to extract temporal data. The publications discusses procedures to take in implementing these operators on relational databases systems using the logic associated with relational algebra. Temporal and Modal Logic – describes the mechanics of temporal and modal logic. They discuss the different tenses (Past and Future) and give the underlying semantics of the logic.

Temporal Database – gives an insight on how to build a complete temporal database system and how to form TSQL, which is an extension of SQL to handle temporal components denoted in records. The publications also describe how to optimise queries and gives material covering the subject in broad.

TimeChain Technology – provide a TDBMS that eases the difficult task of managing historical databases. The technology does not consider new temporal specific operators that are provided by US logic or the derived modal operators.

23

Page 24: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporal logic & Historical Databases1

In {Bubenko, 1977} a model for storing historical information in a relational manner was proposed, since which various alternative approaches to historical database s have been advanced, a small selection of which are {Clifford & Tansel, 1985; Tansel, 1987; Snodgrass, 1987; Navathe & Ahmed, 1988; Gadia, 1988}. These all propose some temporal relational model, and then either arelational algebra or query language over the model. Only recently {Tuzhilin & Clifford, 1990} have there been some moves towards unifying the various models proposed by extending the relational model in a general manner to provide a temporal structure, and to enhance the relational calculus and algebra to provide a small set of temporal operators which provide fully expressivequeries over the temporal structure, akin to the five primitive relational algebra operators over a standard relational structure. Independently of this work, research into various temporal logic programming languages (a few examples being {Abadi & Manna, 1987; Barringer et al , 1990; Gabbay, 1989}) has been conducted, invariably assuming a fully deductive temporal database is available in which information may be stored, with an associated Prolog-like query language. It has been shown that US logic is fully expressive for a historical data model in the same sense that first-order logic is for a non-temporal data model {Gabbay, 1989}. US logic is comprised of first-order classical logic with the addition of the modal operators until and since.

1 https://www.researchgate.net/profile/Peter_Mcbrien/publication/221311366_Temporal_Logic__Historical_Databases/links/54f03ad90cf25f74d72472b2.pdf

24

Page 25: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporālās vai laika vai vēstures datu bāzes pielietojums

1. Transporta plūsmas kontrole:

- pasažieru pārvadājumi;

- kravu pārvadājumi.

2. Banku ieguldījumu vadība (procentu likmju izmaiņas).

3. Banku aizdevumu vadība (procentu likmju izmaiņas).

4. Grāmatvedība.

5. Avīžu un žurnālu pasūtījumu apmaksas vadība.

25

Page 26: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Non - temporal, Uni - temporal and Bi - temporal data

ID From To Name Price1 20/01/2006 13/06/2006 Eggs $1.201 13/06/2006 31/12/9999 Eggs $1.252 20/01/2006 01/01/2007 Milk $0.453 20/01/2006 31/12/9999 Bread $0.30

26

Page 27: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporālās DB vēsture

The basic issue is this: if you have a primary key and some attributes in the table, and you add a date to the primary key to track historical changes, you can suddenly give out the original key over and over again. Deletes get different meaning. And so forth. In 1992, this issue was recognized but standard database theory was not yet up to resolving this issue, and neither was the then newly formalized SQL-92 standard.

Richard Snodgrass proposed in 1992 that temporal extensions to SQL be developed by the temporal database community. In response to this proposal, a virtual committee was formed to design extensions to the 1992 edition of the SQL standard (ANSI X3.135.-1992 and ISO/IEC 9075:1992).Those extensions, known as TSQL2, were developed during 1993 by this committee meeting only via email. In late 1993, Snodgrass first presented this work to the group responsible for the American National Standard for Database Language SQL, ANSI Technical Committee X3H2 (now known as NCITS H2). The preliminary language specification appeared in the March 1994 ACM SIGMOD Record. Based on responses to that specification, changes were made to the language, and the definitive version of the TSQL2 Language Specification was published in September, 1994.

An attempt was made to incorporate parts of TSQL2 into the new SQL standard SQL:1999, called SQL3. Parts of TSQL2 were included in a new substandard of SQL3, ISO/IEC 9075-7, called SQL/Temporal. However, the ISO project responsible for temporal support was canceled near the end of 2001.SQL 2011 ad temporal suport.

The ideas and concepts described in the TSQL2 specification, such as Valid Time, Transaction Time and Bitemporal tables, have all found their way into the general literature on temporal databases since then. In 2002 Chris Date, Hugh Darwen and Nikos Lorentzo presented in their book Temporal Data & the Relational Model a treatment of the topic that includes many of the terms introduced by TSQL2 but also introduces the Sixth normal form to solve some of the issues.

27

Page 28: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporālās datu bāzes paplašinājumi SQL:2011 standartā

SQL:2011 or ISO/IEC 9075:2011 (under the general title "Information technology – Database languages – SQL") is the seventh revision of the ISO (1987) and ANSI (1986) standard for the SQL database query lan-guage. It was formally adopted in December 2011.

Temporal supportOne of the main new features is improved support for temporal databases. Language enhancements for temporal data definition and manipulation in-clude:1) time period definitions use two standard table columns as the start and end of a named time period, with closed - open semantics; 2) definition of application time period tables (elsewhere called valid time tables), using the PERIOD FOR annotation;3) update and deletion of application time rows with automatic time period splitting;4) temporal primary keys incorporating application time periods with op-tional non-overlapping constraints via the WITHOUT OVERLAPS clause;5) temporal referential integrity constraints for application time tables;6) application time tables are queried using regular query syntax or using new temporal predicates for time periods including CONTAINS, OVERLAPS, EQUALS, PRECEDES, SUCCEEDS, IMMEDIATELY PRECEDES, and IMMEDIATELY SUCCEEDS (which are modified versions of Allen’s interval relations);7) definition of system-versioned tables (elsewhere called transaction time tables), using the PERIOD FOR SYSTEM_TIME annotation and WITH SYSTEM VERSIONING modifier. System time periods are main-tained automatically. Constraints for system-versioned tables are not re-quired to be temporal and are only enforced on current rows8) syntax for time-sliced and sequenced queries on system time tables via the AS OF SYSTEM TIME and VERSIONS BETWEEN SYSTEM TIME ... AND ... clauses;9) application time and system versioning can be used together to provide bitemporal tables.

28

Page 29: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporālie dati un to saistība (piemērs)

Darbinieki(UZV, AMATS, LAIKS)Koks palīgs mākslinieks

[2002.06.25, 2005.12.12) [2005.12.12, now)

Sakne otrais asistents asistents režisors[1996.12.03, 1999.10.23) [1999.10.23, 2000.07.12) [1999.07.12, now)

Egle asistents vadītājs[1995.10.23, 2000.07.12) [2000.07.12, now)

Atalgojums(AMATS, ALGA, A_LAIKS)palīgs 350 500

[2002.04.01, 2003.07.01) [2003.07.01, now)

mākslinieks 1000 1200[2000.04.02, 2004.07.04) [2004.07.04, now)

otrais asistents 500 700

29

Page 30: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

[1995.07.04, 2000.12.14) [2000.12.14, now)

asistents 600 750 1000[1993.06.02, 1995.07.04) [1995.07.04, 1998.12.14) [1998.12.14, now)

režisors 2300 2500[1998.11.11, 2001.03.24) [2001.03.24, now)

vadītājs 1000 1300 2000[1999.10.22, 2001.09.30) [2001.09.30, 2003.01.02) [2003.01.02, now)

Laika elements, laika sērijas un periodsA time series is a series of data points indexed (or listed or graphed) in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. Thus it is a sequence of discrete-time data.

Laika elements

Laika sērija

Laika periods t

Atribūta vērtība Sākuma laiks Beigu laiks

Atribūta vērtība Sākuma laiks Beigu laiksAtribūta vērtība Sākuma laiks Beigu laiksAtribūta vērtība Sākuma laiks Beigu laiksAtribūta vērtība Sākuma laiks Beigu laiks

30

Page 31: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

d1 d2 d3 d4 d5 d6 d7

[datums_no, datums_līdz] [d1, d2] slēgts (closed) periods

[d1, d2) (d1, d2] – daļēji slēgti (partially closed) periodi

(d1, d2) - atvērts (open) periods

s1-1, s1, s1+1, s1+2, ... , e1, e1+1 elementārie periodi

DBVS laika datu tipi

31

Page 32: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Datetime Field  Valid Values for Datetime Valid Values for INTERVAL 

YEAR  -4712 to 9999 (excluding year 0)  Any positive or negative integer  

MONTH  01 to 12  0 to 11  

DAY  01 to 31 (limited by the values of MONTH and YEAR, according to the rules of the current NLS calendar) 

Any positive or negative integer 

HOUR  00 to 23  0 to 23  

MINUTE  00 to 59  0 to 59  

SECOND  00 to 59.9(n), where "9(n)" is the precision of time fractional seconds 

0 to 59.9(n), where "9(n)" is the precision of interval fractional seconds 

TIMEZONE_HOUR  -12 to 13 (This range accommodates daylight savings time changes.) 

Not applicable 

TIMEZONE_MINUTE  00 to 59  Not applicable 

32

Page 33: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Intervāla laika tipu piemēri

Form of Interval Literal InterpretationINTERVAL '4 5:12:10.222' DAY TO SECOND(3)

4 days, 5 hours, 12 minutes, 10 seconds, and 222 thousandths of a second.

INTERVAL '4 5:12' DAY TO MINUTE

4 days, 5 hours and 12 minutes.

INTERVAL '400 5' DAY(3) TO HOUR

400 days 5 hours.

INTERVAL '400' DAY(3) 400 days.INTERVAL '11:12:10.2222222' HOUR TO SECOND(7)

11 hours, 12 minutes, and 10.2222222 seconds.

INTERVAL '11:20' HOUR TO MINUTE

11 hours and 20 minutes.

INTERVAL '10' HOUR 10 hours.INTERVAL '10:22' MINUTE TO SECOND

10 minutes 22 seconds.

INTERVAL '10' MINUTE 10 minutes.INTERVAL '4' DAY 4 days.INTERVAL '25' HOUR 25 hours.INTERVAL '40' MINUTE 40 minutes.INTERVAL '120' HOUR(3) 120 hoursINTERVAL '30.12345' SECOND(2,4)

30.1235 seconds. The fractional second '12345' is rounded to '1235' because the precision is 4.

33

Page 34: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Laika datu formāts un funkcijas datu bāzes sistēmās

TO_DATE('98-DEC-25:17:30','YY-MON-DD:HH24:MI')

The default date format for an Oracle date literal is specified by the initialization parameter NLS_DATE_FORMAT:

ALTER SYSTEM SET NLS_DATE_FORMAT = 'format';

Datetime Functions

ADD_MONTHS

CURRENT_DATE

CURRENT_TIMESTAMP

DBTIMEZONE

EXTRACT (datetime)

FROM_TZ

LAST_DAY

LOCALTIMESTAMP 

MONTHS_BETWEEN

NEW_TIME

NEXT_DAY

NUMTODSINTERVAL

NUMTOYMINTERVAL

ROUND (date)

SESSIONTIMEZONE

SYS_EXTRACT_UTC 

SYSTIMESTAMP

SYSDATE

TO_DSINTERVAL

TO_TIMESTAMP

TO_TIMESTAMP_TZ

TO_YMINTERVAL

TRUNC (date)

TZ_OFFSET 

34

Page 35: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Oracle Time Series pakete (vairs neatbalsta)

35

Page 36: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Oracle8i laika sērijas

Neregulāras laikasērijas

Regulāras laikasērijas

Laika sēriju funkcijuizmantošana ( izņemot

funkcijas Lead, Lagun Fill )

Kalendāra atbalsts

Datu korektumakontroles iespējas

Datu kontrolesiespējas datu ievades,

labošanas undzēšanas laikā

Visu laika sērijufunkciju

izmantošanas iespēja

Laika mērogošanasfunkciju

izmantošanas iespēja

4.2. att. Laika sēriju iedalījums regulārās un neregulārās laika sērijās

36

Page 37: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Bitemporal database

37

Page 38: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

tDBSTemporālās datu bāzes sistēmas veidošana

1. SQL valodas paplašinājumu izmantošana (funkcijas un operatori).

OVER() un ...

2. Temporālo datu bāzes vadības sistēmu (TempDBVS) izmantošana

(DBVS ar iekļautu temporālo SQL valodu).

3.Temporālā paplašinājuma veidošana universālām datu bāzes

sistēmām:

- komerciālie paplašinājumi;

- nekomerciālās izstrādnes.

38

Page 39: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Temporālie paplašinājumi universālām datu bāzes

vadības sistēmām

1. Time DB (Time Consult).

2. Informix TimeSeries Datablade (IBM)

3. Immortal DB (MS rResearch group)

4. Oracle Flashback

5. Oracle Workspace Manager6. TimeIT (Department of Computer Science, University of Arizona).

7. ORES (Department of Computer Science, University of Athens;

IBM Ingres).

8. TOOBIS (Department of Computer Science, University of Athens).

9. Tiger (Department of Computer Science, University of Aalborg;

Oracle).

10. TimeChain Developer (TimeChain).

39

Page 40: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Bitemporālās datu bāzes realizācijas

Oracle Workspace Manager Workspace Manager, a feature of Oracle Database, enables application developers and DBAs to manage current, proposed and historical versions of data in the same database.

TimeDB is a free temporal relational DBMS by TimeConsult. It runs as a frontend to Oracle that accepts TSQL2 statements and generates SQL92 statements.

PostgreSQL has an open-source contributed package that can be installed in the database to manage temporal data. The function reference is here.

Teradata version 13.10 and Teradata version 14 has temporal features built into the database.

Anchor Modeling emulates temporal features and automates the implementation in databases that lack support.

The SQL:2011 standard added (belated) support for temporal features in synchronicity with an implementation in IBM DB2 version 10 as the so-called "time travel query".

40

Page 41: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

TimeDB

1. Temporālas DBVS prototips TimeDB tika izveidots 1997. gadā. To izstrādāja Andreas Steiner disertācijas darba ietvaros. 2. Prototips ļāva izmantot gan reālas pasaules laiku, gan arī transakciju laiku, tomēr eksistēja arī ierobežojums – šis prototips strādāja tikai ar vienu konkrētu relāciju DBVS Oracle.3. TimeDB 2.0 tika realizēta valodā Java. Darbam ar relāciju DBVS tika izmantots JDBC interfeiss, kas ļāva pieslēgties pie jebkuras datu bāzes. 4. Uz doto brīdi ir pieejama TimeDB 2.2 versija (2005. gads). 5. TimeDB 2.2 atbalsta sekojošas galvēnas īpašības:

1) agregācijas funkcijas;

2) GROUP BY teikumus;

3) HAVING teikumus;

4) tabulu un kolonnu ierobežojumus (constraints);

5) dzimto izsaukumu interfeisu (TDBCI) Java programmām;

6) vēsturiskas DB (valid time);

7) apakšvaicājumus (subqueries);

8) skatus;

9) insert un delete operācijas tabulām;

10) transakcijas (commit / rollback).

41

Page 42: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Informix TimeSeries Datablade1. TimeSeries modulis tika izveidots 1995. gadā, kā paplašinājums IBM

Informix relāciju DBVS.

2. Tas satur speciālu datu tipu definīciju – laika rindu un kalendārus, ka arī

satur vairāk par 40 funkcijām darbam ar datiem, kuri satur laika iezīmes.

3. Modulī eksistē arī konkrēta piekļuves ceļa optimizācija.

4. Informix TimeSeries DataBlade ir sekojošas īpašības:

- datu glabātuvei ir izmantota smart tehnoloģija, kas ļauj iegūt datus ātrāk; - vienkāršotais dizains un kods ļauj atbalstīt ekspromtvaicājumus (ad-hoc queries); - elastīgums, kas ļauj strādāt ar vairākiem laika sēriju datu tipiem; - piekļuve, kas ir balstīta uz kalendāra (paaugstina veiktspēju).

42

Page 43: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Immortal DB

1. Immortal DB projekta izstrāde tika uzsākta 2002. gada rudenī. Immortal DB

projektu izstrādāja Microsoft kompānijas Research grupa.

2. Projekta mērķis bija nodrošināt transakciju laika atbalstu, kas būtu iebūvēts

SQL serverī, nevis būtu implementēts kādā starpnieka līmenī (proxy-level).

3. Microsoft kompānija centās demonstrēt, ka DBVS var efektīvi atbalstīt ne

tikai momentuzņēmumus (snapshots), bet arī pilnvērtīgi atbalstīt transakciju

laiku, nesamazinot veiktspēju.

4. Viena no problēmām, kuru mēģināja risināt izstrādātāji, bija datu

modernizācijas un modifikācijas nodrošināšana bez papildus resursu

izmantošanas. Tam bija ieviesta datu bāzes failu lappušu sadalīšana gadījumos,

kad notiek pārpildīšana gan pēc atslēgas, gan arī pēc laika atribūta. Paralēlas

piekļuves kontroles un atjaunošanas mehānismi bija pilnīgi integrēti ar

atbilstošām Microsoft SQL Server funkcijām.

43

Page 44: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Oracle Flashback1. Oracle9i vidē tika izveidots Flashback Query mehānisms – jaudīgs, pilnībā

drošs un vienkāršs datu atjaunošanas veids pēc lietotāja kļūdām. Šīs mehānisms

arī dod iespēju lietotājiem apskatīt datubāzes stāvokli kāda pagātnes periodā,

pie tām neveicot datubāzes struktūras izmaiņas.

2. Flashback Query operācijas var tikt izpildītas arī gadījumos, kad

administrators nav pieejams, kas ļauj programmatūras izstrādātājiem pievienot

datu atjaunošanas funkcijas savos produktos.

3. Flashback Query izmantošanai ir obligāti jāizmanto automātiska

atjaunošanas kontroles sistēma Automatic Undo Management, nevis Rollback

Segments tehnoloģija.

4. Oracle 9i versijā Flashback Query tehnoloģija ļāva iegūt piekļuvi tikai kādam

noteiktam un statiskam datu momentuzņēmumam.

5. Jaunajā Oracle versijā 11g šai tehnoloģijai tika pievienoti papildus rīki:

1) Flashback Version Query, - ļauj statiskas bildes vietā iegūt izmaiņu kopu;

2) Flashback Transaction Query - ļauj apskatīt izmaiņas, kuru veica noteikta

transakcija;

3) Flashback Database, Flashback Query un Flashback Drop ļauj atgriezties

pie kāda noteikta datu bāzes stāvokļa konstanti ātri (šis ātrums nav atkarīgs no

datu bāzes apjoma).

44

Page 45: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Oracle Workspace Manager1. Oracle 11g Workspace Manager mehānisms ļauj vadīt tekošās, plānotas un

vēsturiskās datu vērtībās vienā un tajā pašā datu bāzē.

2. Oracle Workspace izmanto darba telpas, lai varētu glābāt izmaiņu vēsturi un

veidot attīstības scenārijus iespējamās nākotnes prognozei.

3. Izveidotas darba telpas var tikt mantotas no citām darba telpām vai arī no

aktuālas darba telpas LIFE, kas tiek izmantots pēc noklusējuma. Šajā gadījumā

tiek fiksēts tekošais priekšteča darba telpas stāvoklis.

4. Kādas konkrētas darba telpas ietvaros var arī izmantot saglabāšanas

punktus, kuri ļauj veikt izmaiņu atriti līdz kādam pagātnes momentam.

5. Tiek atbalstītas arī priekšteča un pēcteča darba telpu apvienošanas

operācijas. Eksistē arī iespēja kontrolēt visas datu izmaiņas, tajā skaitā

pievienošanas, dzēšanas un modifikācijas operācijas. Faktiski tas arī nodrošina

transakciju laika atbalstu.

6. Ir iespējams arī fiksēt kādu vaicājumu kādā noteiktā laika brīdī.

7. No tehniskas puses darba telpas ir datu attēlošanas un trigeru INSTEAD OF

apdarītāju kopas. Kad lietotājs velas pievienot tabulai versiju atbalstu, darba

telpu menedžeris nomaina tabulas vārdu uz <tabulas vārds>_LT un pievieno tai

četrus papildus laukus un veido attēlu ar sākotnējas tabulas vārdu, kurai

INSTEAD OF trigeru apdarītāji veic visas nepieciešamas darbības datu

izmaiņai sākotnējās tabulās.

45

Page 46: Temporālās (laika) datu bāzes lietošana Web viewUS logic is comprised of first-order classical logic with the addition of the modal operators until and since. Temporālās. vai

Populārākās laika sēriju datu bāzes2

A time series database (TSDB) is a software system that is optimized for handling time series data, arrays of numbers indexed by time (a datetime or a datetime range). In some fields these time series are called profiles, curves, or traces. A time series of stock prices might be called a price curve. A time series of energy consumption might be called a load profile. A log of temperature values over time might be called a temperature trace.Despite the disparate names, many of the same mathematical operations, queries, or database transactions are useful for analysing all of them. The implementation of a database that can correctly, reliably, and efficiently implement these operations must be specialized for time-series data.

1. DalmatinerDB2. InfluxDB3. Prometheus4. Riak TS5. OpenTSDB6. KairosDB7. Elasticsearch8. Druid9. Blueflood10. Graphite (Whisper) Runners Up (2. vietas ieguvēji)1. Atlas2. Chronix Server3. Hawkular4. Warp 105. Heroic6. Akumuli

2 https://blog.dataloop.io/top10-open-source-time-series-databases

46