50
BAZY DANYCH I SYSTEMY BAZ DANYCH
Zakres czasu, w którym informacje przechowywane będą w bazie, nazywamy czasem transakcyjnym.
Termin czas transakcyjny odnosi się do zakresu (odcinka na osi czasu), w trakcie którego powiązane z czasem fakty mogą być przechowywane w bazie danych.
Rys. 9.7. Oś czasu
Na podstawie twierdzeń możemy z łatwością ustalić, że czas transakcyjny może nie mieć nic wspólnego z czasem walidacyjnym. Czas transakcyjny bazy danych może wiązać się z przechowywaniem od 06.09.2012 do 07.09.2012 wyników meczów pierwszej ligi polskiej piłki nożnej z lat 2005-2010. Wyniki meczów nawet w trakcie ich trwania podlegały zmianom i np. wynik 1:0 dla zespołów X i Y mógł być prawdziwy tylko w określonej minucie, a po 4 minutach był już inny (dane nazywane czasem walidacyjnym). Czas transakcyjny natomiast to jednodniowy przedział, który może wystąpić X lat, miesięcy lub godzin po opisywanych w bazie danych zdarzeniach lub mieć formę czasu rzeczywistego. W tym wypadku czas zapisywanych w bazie danych zdarzeń będzie teoretycznie odpowiadał rzeczywistości. Przykładem może być giełda papierów wartościowych, gdzie dla pracy temporalnej bazy danych notującej kursy papierów wartościowych w pewnych jednostkach czasu zgodność z czasem rzeczywistym może być kluczowa, zwłaszcza gdy dokonanie na czas sprzedaży lub zakupu po korzystnych cenach jest uzależnione od czasu.
Koncepcja czasu walidacyjnego i transakcyjnego została przedstawiona i opisana jako część specyfikacji języka TSQL2 w 1993 r. w odpowiedzi na propozycję Richarda Snograssa stworzenia temporalnego rozszerzenia dla języka SQL. Koncepcja czasu walidacyjnego i transakcyjnego rozszerzana jest w bitemporalnych bazach danych nie tylko zdolnych do przechowywania danych odnoszących się do teraźniejszości, lecz także mogących przechowywać dane historyczne lub wybiegać w przyszłość w odniesieniu do przewidywanych zdarzeń.
W celu lepszego zobrazowania koncepcji Chrisa Date'a posłużymy się przykładami tabel, które będziemy modelować na potrzeby temporalnej bazy danych.
PRZYKŁAD 9.7
Wyobraźmy sobie drużynę piłki koszykowej o nazwie Guźce Kacza Wólka. Jedną z wartości bardzo istotnych dla zawodników atakujących jest liczba zdobytych punktów. Wstępnie rozważmy nietemporalną tabelę w 5NF.
Tabela 9.19. Nietemporalna tabela 5NF
N_Z |
Zlmię |
Punktów |
Miasto/Miejscowość |
NI |
Benek |
20 |
Kacza Wólka |
1-------------------------------------- ------------------ ----------- -----------------------------------------------_----------------------_-------------.-----------------------------------------------------------------.--------__---------------------------------------_---------------------------------------------------------------------------------- --------- -------------- |