Temporālās (laika) datu bāzes lietošana · Web viewSegments – visi reāli skaitļi vai...

33
Laiks Laiks gādā, lai viss nenotiktu uzreiz. Džons Vīlers Laiks ir nenoteikts nepārtraukts pastāvēšanas progress un notikumi, kas notiek šķietami neatgriezeniskā pēctecībā no pagātnes līdz nākotnei. Oksfordas vārdnīcas Laiku var izstiept un sagrozīt. To iespaido matērija un enerģija. Alberts Einšteins 1

Transcript of Temporālās (laika) datu bāzes lietošana · Web viewSegments – visi reāli skaitļi vai...

Laiks

Laiks gādā, lai viss nenotiktu uzreiz. Džons Vīlers

Laiks ir nenoteikts nepārtraukts pastāvēšanas progress un notikumi, kas notiek šķietami neatgriezeniskā pēctecībā no pagātnes līdz nākotnei. Oksfordas vārdnīcas

Laiku var izstiept un sagrozīt. To iespaido matērija un enerģija. Alberts Einšteins

1

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

2

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

3

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

4

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

Nepārtraukta laika modelis

5

Laika moments un laika periods

1. Visos trīs laika modeļos punkts tiek saukts par 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.Space of seconds, minutes, hours, days, weeks, months or years with an established beginning date and ending date. It's a unit of measurement used to categorize a length of time. Also called timeframe.1

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

1 http://www.businessdictionary.com/definition/time-period.html

Laika ass (vektors)

Laika moments L1 Laika moments L2

Periods [L1, L2]

6

Laika segments un laika iezīme

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

Segments – visi reāli skaitļi vai punkti, kas atrodas starp diviem dotajiem skaitļiem vai punktiem, tos ieskaitot.

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

7

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

8

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

9

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

10

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

11

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

12

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

13

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

14

Atribūtu mainīgums1. Atribūtus var iedalīt pamatojoties uz to kā tie savstarpēji iedarbojas ar laiku:

1) 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) laikā mainīgie atribūti. Piemēram, darbinieka alga ir laikā mainīgs atribūts, jo laika gaitā alga var mainīties.

2. 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

15

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.

16

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.

17

18

19

20

21