49
PODSTAWY BAZ DANYCH
zmiennych czasowych. Zmienne te mają naturę interwałów i możemy je odwzorować na osi czasu. Temporalne bazy danych znajdują coraz szersze zastosowanie szczególnie w hurtowniach danych, zwłaszcza w praktyce modelowania następnej generacji, a mianowicie w modelowaniu kotwicowym (Anchor Modeling).
Wprowadzenie szóstej postaci normalnej spowodowane było problemami związanymi z zachowaniem integralności danych w przypadku, gdy 5NF okazywała się niewystarczająca. W rozdziale tym omówiono 6NF oraz konceptualną metodę modelowania kotwicowego jako sposobu tworzenia zmiennych relacyjnych, które projektowane będą pod kątem przechowywania danych temporalnych. Narzędzia wskazane w tym rozdziale są pomocne w konwersji zmiennych relacyjnych spełniających założenia 6NF do języka XML (eXtensible Markup Language). W literaturze informatycznej, zwłaszcza polskiej, brakowało przykładów zastosowań i dokładnego omówienia 6NF. Wraz ze wzrostem popularności hurtowni danych oraz rosnącą ilością ofert na rynku pracy skierowanych do specjalistów w zakresie hurtowni danych konieczne jest przybliżenie ww. zagadnień - zwłaszcza dla techników informatyków, którzy w przyszłości mogą mieć z nimi częsty kontakt. Omawiane w rozdziale zagadnienia są dość proste i nie powinny przysparzać problemów nawet początkującym projektantom.
Wprowadzenie w tematykę temporalnych baz danych zacznę od omówienia kilku kluczowych pojęć.
Temporalne bazy danych nazwę zawdzięczają ukierunkowaniu na aspekt czasowy, który jest przedmiotem ich analizy (łac. tempus - czas). Aby odpowiedzieć na pytanie, jaką rolę odgrywa czas w tego typu bazach danych, warto wymienić kilka cech, które są charakterystyczne dla większości tych systemów. Temporalne bazy danych zwykle operują na dwóch rodzajach danych związanych z czasem. Pierwszym rodzajem danych jest zakres czasowy, w którym określony fakt odpowiada rzeczywistości - czas walidacyjny. Przykład: mistrz świata w boksie - waga superciężka (2011, Mahammadrasul Mocidov, Azerbejdżan) - w 2011 roku ten fakt istotnie odpowiada rzeczywistości. Stwórzmy tabelę:
Tabela 9.18. Mistrz świata w boksie
Dyscyplina |
Imię i nazwisko mistrza |
j i : BOKS |
Mahammadrasul Macidov .......................................................................................................................... |
Zawartość takiej tabeli będzie prawdziwa do czasu następnych mistrzostw w boksie -a więc od mistrzostw w roku 2011 do następnych mistrzostw - chyba że zawodnik obroni tytuł mistrza świata. Jak łatwo zauważyć, aspekt czasowy odgrywa w takim wypadku zasadniczą rolę. Upływający czas i zmiany zachodzące w rzeczywistości mają wpływ na to, czy przechowywane dane istotnie zgodne są ze stanem faktycznym. Drugim rodzajem danych czasowych, jakim operują temporalne bazy danych, jest czas transakcyjny. Aby podać przykład czasu transakcyjnego, przyjmijmy, że temporalną bazę danych wykorzystamy do pomiarów naukowych. Załóżmy, że na stół upuścimy z pewnej wysokości piłeczkę do ping-ponga i mierzyć będziemy wysokość jej odbicia w czasie. Piłeczka po odbiciu osiągnie wysokość np. 15 cm powyżej stołu w momencie, w którym czas t = [2012.07.01, 12:15:23,12s] (zapis momentu w odniesieniu do rzeczywistości to czas walidacyjny - stempel czasowy, w którym położenie piłki odpowiada rzeczywistości).
Dane te możemy np. po kilku dniach umieścić w bazie danych.