Hurtownie danych
Znaczenie czasu w
hurtowniach danych. Model
punktowy
Dr inż. Stefan
Rozmus
Rola czasu - czas faktyczny i czas
transakcji
Czas faktyczny
związany z
wartością
jakiegoś atrybutu
to czas, kiedy
wartość ta jest
prawdziwa w
modelowanej
rzeczywistości
Czas transakcji
związany z
wartością jakiegoś
atrybutu to czas, w
którym ta wartość
została zapisana w
bazie danych i
nadaje się do
wyszukiwania
Rola czasu - Czas faktyczny i czas
transakcji
POJAZD
…
Kolor
…
Data rzeczywista od
Data rzeczywista do
Data ewidencji od
Data ewidencji do
…
FAKTURA
…
Wartość netto
Wartość brutto
VAT 22
…
Data wystawienia
Data zapisu w syst.
…
Pojedyncza chwila
Przedziały czasu
Rola czasu - Dane dotyczące zachowań
ZAMÓWIENIE
…
Wartość planowana
Wartość zafakturowana
Stan zamówienia
…
Data zafakturowania
…
Potencjalny fakt dla HD
Stan (t1)
...
500
Null
Przyjęte
...
Null
...
Stan (t2)
...
500
Null
Obsługiwane
...
Null
...
Stan (t2)
...
500
Null
Zafakturowane
...
22.06.2008
...
Rola czasu - Dane dotyczące osobistych
danych
ADRES
…
Miejscowość
Ulica
Nr domu
…
Data od
Data do
DOSTAWCA
…
Nazwa
NIP
REGON
…
KLIENT
…
Nazwisko
Imię
NIP
…
Data od
Data do
Od kiedy?
Do kiedy?
Potencjaln
e dane do
zasilenia
wymiarów
Wpływ czasu na model danych (przykład)
Klient
Dział
Sprzedawca
Zamówienie
Miejscowość
Fragment operacyjnego modelu
danych – często wymagany jako
podstawa budowy HD
zawiera
zatrudnia
przyjmuje
składa
Wpływ czasu na model danych (przykład)
Klient
Dział
Sprzedawca
Zamówienie
Miejscowość
Model operacyjny z dodatkową tabelą faktów
zawiera
zatrudnia
przyjmuje
składa
Sprzedaż
(tabela
faktów)
Czas
po zafakturowaniu
Wpływ czasu na model danych (przykład)
Dział
Sprzedawca
Miejscowość
Hierarchia sprzedaży bez i z możliwością
zapisu zmian w czasie
zawiera
Sprzedaż
zatrudnia
Dział
Sprzedawca
Miejscowość
zawiera
Sprzedaż
zatrudnia
Wpływ czasu na model danych (przykład)
Dział
Sprzedawca
Miejscowość
Hierarchia sprzedaży z encjami
przecięcia
Sprzedawca/
Miejscowość/
Dział
Miejscowość/
Dział
Sprzedaż
Jeden z
głównych
powodów
odseparowani
a HD od
systemu
transakcyjneg
o
Wpływ czasu na wyniki zapytań
Dział
Sprzedawca
Miejscowość
Sprzedaż
Całkowita wartość sprzedaży dla działu:
SELECT Nazwa_działu, SUM(Wartość_sprzedaży)
FROM Sprzedaż, Sprzedawca, Dział
WHERE ….warunki złączenia ….
GROUP BY Nazwa_działu
Całkowita wartość sprzedaży dla miejscowości:
SELECT Nazwa_miejscowości, SUM(Wartość_sprzedaży)
FROM Sprzedaż, Sprzedawca, Dział, Miejscowość
WHERE ….warunki złączenia ….
GROUP BY Nazwa_miejscowości
Jakie będą wyniki zapytań , jeśli sprzedawca
zmieni miejsce pracy lub dział zostanie
przeniesiony do innej miejscowości?
Przechwytywanie zmian z systemów
źródłowych
Przechwytywanie zachowań
Zapisanie zdarzenia
(pomijany „związek” z HD
Zamrożenie faktu
(widziany „związek” z HD
Przechwytywanie osobistych danych
• przebudowanie systemów
transakcyjnych
• badanie zapisu przebiegu
przetwarzania
• badanie plików dziennika
powtórzeń
• porównanie pliku
Rozwiązania dla czasu
Podejście typu 1 (zastąpienie
starych wartości atrybutów
wartościami nowymi)
Podejście typu 2 (tworzenie nowych
rekordów)
Podejście typu 3 (zapisywanie
wartości bieżącej i wartości
pierwotnej atrybutu)
Sposób traktowania historycznych
osobistych danych - retrospekcja
Retrospekcja prawdziwa
Retrospekcja fałszywa
Retrospekcja trwała
Klasyfikacja określająca sposób
traktowania wartości historycznych w
odniesieniu do składników modelu
obejmujących:
• encje (zbiór okoliczności lub
wymiar; na przykład dane klienta lub
wymiar produktów)
• związki (na przykład hierarchia)
• atrybuty (na przykład adres klienta)
Retrospekcja dla encji
Prawdziwa – oznacza, że okres życia encji
składa się z jednego lub więcej okresów
czasowych (np. okresy aktywności klienta)
Fałszywa – oznacza, że zapisywany jest
jedynie bieżący stan obiektu (np. wymagany
jest jedynie ostatni zapis o dostawcy)
Trwała – oznacza, że obiekt zawsze istnieje
(np. nie przewiduje się aby regiony uprawy
przestawały istnieć)
Retrospekcja dla związków
Prawdziwa – oznacza, że musi być
zapisywany i przechowywany okres życia
(czas trwania) każdego związku (np. klient –
obszar)
Fałszywa – oznacza, że jedynie bieżący
związek musi być zapisywany (np. klient –
jego hobby)
Trwała – oznacza, że nie przewiduje się, aby
związek ulegał zmianie (np. produkt - region)
Retrospekcja dla atrybutów
Prawdziwa – oznacza, że musimy
dokładnie zapisywać wartości związane
z nim na przestrzeni czasu (np. cena)
Fałszywa – oznacza, że powinniśmy
zachować jedynie ostatnią wartość (np.
zawartość alkoholu w winie)
Trwała – oznacza, że w ogóle nie
przewiduje się zmiany tej wartości (np.
kod klienta)
Modelowanie punktowe -
składniki
Punkt – reprezentuje fakty
Nazwy wymiarów
Łączniki
Sprzedaż
Oddział
Klient
Produkt
Region
Dostawca
Czas
Punktowy model zachowań -
przykład
Sprzedaż
Obszar sprzedaży
Klient
Wino
Hobby
Dostawca
Czas
Kierownik
Producent
Kolor
Modelowanie punktowe –
pomocnicze arkusze kalkulacyjne
Arkusz z modelem danych (zawiera
nazwę aplikacji lub modelu, model
punktowy, miary dla faktu)
Arkusz encji (opisuje wymiary)
Arkusz hierarchii (opisuje hierarchię
wymiarów)
Arkusz użycia faktów (opisuje
możliwe agregacje dla miar faktu wg
wymiarów)
Modelowanie punktowe – arkusz z
modelem danych
Modelowanie punktowe – model danych
Nazwa modelu: Sprzedaż wina
Mierzalne fakty
Nazwa faktu
Metadane
Wartość
Łączna wartość pozycji zamówienia (cena*ilość)
Ilość
Liczba butelek na pozycji zamówienia
Diagram
Sprzedaż
Obszar sprzedaży
Klient
Wino
Hobby
Dostawca
Czas
Kierownik
Producent
Kolor
Modelowanie punktowe – arkusz encji
Modelowanie punktowe encji
Nazwa encji
Retrospekcja
Częstość
Dostawca
Fałszywa
Miesięczna
Metadane
Wymiar dostawców zawiera nazwiska i dane dostawców wina
Nazwa atrybutu
Kod dostawcy
Klucz główny? Tak
Retrospekcja
Częstość
Zależność
Trwała
Miesięczna
Brak
Metadane
Identyfikator dostawcy
Źródło
Przekształcenie
Typ danych
System kontroli stanów
zapasów
Brak
Number (4)
Nazwa atrybutu
Nazwa dostawcy
Klucz główny? Nie
Retrospekcja
Częstość
Zależność
Fałszywa
Miesięczna
Brak
………..
………..
…………
Modelowanie punktowe – arkusz hierarchii
Modelowanie punktowe - hierarchie
Nazwa modelu
Sprzedaż wina
Retrospekcja
Prawdziwa
Częstość
Miesięczna
Metadane
Ta hierarchia rejestruje dostarczanie win do Klubu. Każde wino może być
dostarczane przez jednego dostawcę w pewnym okresie czasu. Od czasu do czasu
dostawca danego wina może się zmienić
Dostawca
Wino
Modelowanie punktowe – użycie faktów
Modelowanie punktowe użycia faktów
Nazwa modelu: Sprzedaż wina
Nazwa faktu: Wartość
Częstość: Dzienna
Wymiary
Suma
Ilość
Średnia
Maksymal
na
1) Kierownik
+
+
+
+
2) Klient
+
+
+
+
3) Kolor
+
+
+
+
4) Wino
+
+
+
+
……….
Modelowanie punktowe użycia faktów
Nazwa modelu: Sprzedaż wina
Nazwa faktu: Ilość
Częstość: Dzienna
Wymiary
Suma
Ilość
Średnia
Maksymal
na
1) Kierownik
-
+
-
-
2) Klient
-
+
-
-
3) Kolor
+
+
+
+
4) Wino
+
+
+
+
……….