kurs oracle, sql - hurtownie danych, prezentacja ppt, pdf, bazy danych - tworzenie stron www,...

43
Hurtownie danych w Oracle Autor: KatMPB Uwaga! – Opracowanie wzorowane na książkach wydawnictwa Oracle Press i książkach z serii Księga eksperta wydawnictwa Helion

Upload: katmpb

Post on 29-Nov-2014

1.160 views

Category:

Technology


5 download

DESCRIPTION

Kurs Oracle, SQL - w przekładzie na HURTOWNIE DANYCH, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

TRANSCRIPT

Page 1: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Hurtownie danych w Oracle

Autor: KatMPB

Uwaga! – Opracowanie wzorowane na książkach wydawnictwa Oracle Press i książkach z serii Księga eksperta wydawnictwa Helion

Page 2: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 2

Wstęp – o czym będzie mowa

Czym jest hurtownia danych? Projektowanie hurtowni danych Partycjonowanie hurtowni danych Wykonywanie kopii zapasowej hurtowni danych Wypełnianie hurtowni danych Funkcje związane z przetwarzaniem danych w

hurtowniach danych Oracle9i Rozszerzone operacje agregujące Metadane Systemy informacyjne dla zarządu Przeszukiwanie danych (eksploracja danych)

Page 3: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 3

Czym jest hurtownia danych?

Zadaniem hurtowni danych jest zamiana bezładnych danych w użyteczne informacje. Dane z jednego lub wielu źródeł są systematycznie kolekcjonowane, składowane w centralnym repozytorium a następnie formatowane w proste, zintegrowane struktury, których analiza ułatwia podejmowanie decyzji dotyczących dalszych działań jednostki organizacyjnej. Hurtownie danych nie mogą być instalowane według jakiegoś szablonu – każda z nich musi bowiem być ściśle dopasowana do profilu, wymagań i potrzeb danej jednostki organizacyjnej. Jest to system informatyczny, który jako jeden z nielicznych nie opiera się na technologii a na charakterystyce prowadzonej działalności.Hurtownia danych nie jest systemem transakcyjnym, obsługującą bieżącą działalność jednostki organizacyjnej. Jest to zupełnie inna klasa systemów. Służy do pozornie nieskomplikowanych celów, jak generowanie wszelkiego rodzaju raportów, zestawień i analiz.

Page 4: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 4

Czym jest hurtownia danych?

Hurtownia danych ma cztery właściwości, odróżniające ją od zwykłego systemu transakcyjnego:

1. Orientacja tematyczna – hurtownia jest oparta na wiedzy o konkretnych procesach biznesowych jak np. sprzedaż.2. Integracja – hurtownia danych jest zintegrowana w sposób pozwalający na powiązanie różnych dziedzin prowadzonej działalności. Umożliwia na przykład porównanie sprzedaży ze stanami magazynowymi. Zadaniem hurtowni danych jest udostępnianie wspólnego systemu analitycznego dla całej jednostki organizacyjnej.3. Trwałość danych – hurtownia danych jest bazą statyczną – jej zawartość nie zmienia się tak jak w przypadku transakcyjnej bazy danych.4. Systematyczność i okresowość wprowadzania danych – podstawową siłą hurtowni danych jest to, że dane są w niej umieszczane systematycznie, w określonych momentach. Dzięki temu nie jest problem generowanie zestawień dziennych, tygodniowych, miesięcznych itp..

Page 5: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 5

Czym jest hurtownia danych?

Możliwość przeprowadzenia analiz obejmujących różne okresy daje użytkownikom możliwość pełniejszego zrozumienia dynamiki procesów zachodzących w jednostce organizacyjnej.

Page 6: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 6

Projektowanie hurtowni danych

Przed przystąpieniem do projektowania należałoby więc zapoznać się z architekturą tego typu systemów.

Schemat przepływu danych w hurtowni danych oraz ogólną architekturę hurtowni danych przedstawia rysunek na następnej stronie.

Page 7: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 7

Projektowanie hurtowni danych

Page 8: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 8

Projektowanie hurtowni danych

Wymiarowy projekt bazy danych

Współcześnie najpopularniejszą metodologią projektową jest konstruowanie wymiarowych hurtowni danych (ang. dimensional data warehousing). Wymiarowa hurtownia danych składa się z dwóch podstawowych elementów: tabele faktów i tabel wymiarów. Tabele faktów powinny być zaprojektowane do przechowywanie danych generowanych przez zdarzenia z przeszłości odnoszące się do działalności organizacyjnej. Stąd też są to dane przeznaczone tylko do odczytu, a rozmiar tablicy faktów może być znacznie większy w porównaniu z rozmiarem tabel wymiarów.

Połączenie tabel faktów i tabel wymiarów tworzą strukturę określaną nazwą schematu gwiazdy. Schemat ten składa się z szeregu tabel. Tabele te są zazwyczaj projektowane za pomocą zwykłych metod normalizacji relacji.

Page 9: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 9

Projektowanie hurtowni danych

Rysunek poniżej ilustruje możliwy schemat typu gwiazda odnoszący się do dziedziny akademickiej. W centrum przechowywane są „fakty” o zaliczeniach studentów. Z tablicą centralną są powiązane trzy tabele referencyjne pozwalające analizować dane pod względem charakterystyk studentów, wykładowców lub zaliczeń.

Page 10: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 10

Projektowanie hurtowni danych

Uwaga! – Każda tabela referencyjna może być zdenormalizowaną wersją kilku innych tabel w celu poprawienia efektywności wyszukiwania. W przykładzie na poprzednim slajdzie tabela Zaliczenie zawiera informacje o module, a tabela Pracownicy – informacje o szkole.

Wyróżniamy jeszcze inne schematy jak na przykład: schemat typu płatek śniegu czy schemat typu konstelacja.

Page 11: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 11

Partycjonowanie hurtowni danych

Dane przechowywane w hurtowni danych są danymi dobrze dostosowanymi do podziału na partycje. Partycjonowanie ma dwa podstawowe uzasadnienia: po pierwsze, pozwala na fizyczną separację danych, co ułatwia optymalizację zapytań i maksymalnie efektywne wykorzystanie przestrzeni dyskowej. Drugim uzasadnieniem jest możliwość rotacji danych. Analiza danych przechowywanych w hurtowni danych jest realizowana zwykle na podstawie danych z pewnego ściśle określonego przedziału czasu. Przykładem takiej analizy jest zestawienie sprzedaży dla ostatnich 12 miesięcy. Dane starsze niż 12 miesięcy są tutaj niepotrzebne, mogą więc zostać przeznaczone do archiwizacji. Partycjonowanie danych ułatwia wycofanie (przez archiwizację) z repozytorium hurtowni tych danych, które nie są już wykorzystywane.

Uwaga! – Od momentu wyposażenia baz danych Oracle8 w funkcję partycjonowania korzystanie z tej funkcji jest stanowczo zalecane w przypadku wszystkich systemów typu hurtownie danych.

Page 12: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 12

Partycjonowanie hurtowni danych

Rysunek - Dostęp do tabeli partycjonowanej a dostęp do tabeli ciągłej.

Model wykorzystujący pojedynczą tabelę

Model wykorzystujący tabelę partycjonowaną

Page 13: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 13

Partycjonowanie hurtowni danych

Zwykle kiedy w hurtowni danych są tworzone partycje, kluczem partycjonowania jest jakaś jednostka czasu.

Przykład! – Tabela faktów z podziałem na partycje.

create table transakcje_sprzedazy ( data_sprzedarzy date, ilosc number, nr_sklepu number(10), nr_klienta number(10))partition by range (data_sprzedazy)( partition sprzedaz_do_2000 values less then (to_date(’01-STY-2000’, ‘DD-MON-YYYY’)),

partition sprzedaz_sty_2001 values less then (to_date(’01-LUT-2001’, ‘DD-MON-YYYY’)), partition sprzedaz_lut_2001 values less then (to_date(’01-MAR-2001’, ‘DD-MON-YYYY’)), partition sprzedaz_pozostale values less then (MAXVALUE));

Page 14: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 14

Wykonywanie kopii zapasowej hurtowni danych

Hurtownia danych o rozmiarze przekraczającym 1 terabajt nie jest żadnym wyjątkiem a przy dzisiejszej technologii archiwizacja takiej liczby danych zajmuje znaczą liczbę czasu.

Należy tutaj powiedzieć, że większość danych w hurtowniach danych to dane statyczne nie zmieniające się w czasie. Wykonanie kopi takich danych polega na jednorazowym wykonaniu backup-u tuż po przełączeniu przestrzeni tabel w tryb tylko do odczytu. Ponowna archiwizacja wymagana będzie dopiero wtedy, kiedy dana przestrzeń tabel zostanie z powrotem przełączona w tryb modyfikowalny (do odczytu i zapisu). Aby przełączyć przestrzeń tabel w tryb niemodyfikowalny, należy wykonać następujące polecenie:SQL> alter tablespace nazwa_przestrzeni_tabel read only;Aby przełączyć przestrzeń tabel w tryb modyfikowalny, należy wykonać następujące polecenie:SQL> alter tablespace nazwa_przestrzeni_tabel read write;

Page 15: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 15

Wykonywanie kopii zapasowej hurtowni danych

W hurtowniach danych istnieją także dane dynamiczne znacznie mniejszych rozmiarów zmieniające się w czasie. Dzięki podzieleniu tych danych na partycje np. zakresowe (miesięczne) wykonujemy ich kopie tylko raz w miesiącu. Wykonanie backupu przykładowo 1 terabajtowej bazy danych sprowadza się do wykonania backupu danych statycznych (tylko jeden raz) i co miesiąc danych dynamicznych o stosunkowo małej pojemności.

Page 16: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 16

Wypełnianie hurtowni danych

Jedną z podstawowych czynności realizowanych w hurtowni danych jest wypełnianie jej informacjami. Jest to czynność która zawiera bardzo dużo czasu np. wprowadzenie do hurtowni 30 GB danych wymaga około 9 godzin. W takiej sytuacji każdy sposób skrócenia procesu ładowania danych jest wyjątkowo cenną możliwością. Istnieje wiele metod zwiększenia wydajności procesu ładowania danych, między innymi:- program Import – umożliwia wprowadzanie danych tylko ze źródeł, które korzystają z technologii Oracle programem Export;- program SQL*Loader – umożliwia wprowadzanie do hurtowni tych danych które są uporządkowane zgodnie z formatem fixed format oraz plików danych z separatorem (ang. delimited data file);- ładowanie tablicowe;- PL/SQL.Kolejne dwie opcje zakładają wykorzystanie do wczytania danych SQL i PL/SQL. Wykorzystanie języków SQL lub PL/SQL pozwala na wczytanie danych przy wykorzystaniu możliwości wewnętrznych języków Oracle.

Page 17: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 17

Wypełnianie hurtowni danych

Uwaga! - W celu możliwości poznania metod wprowadzania danych do systemu Oracle9i wymienionych w poprzednim slajdzie odsyłam Was do książki pt: „Oracle9i przewodnik dla początkujących” wydawnictwa Oracle Press.

Poniżej zamieszczam tylko prosty przykład dla wprowadzenia danych z pliku tekstowego (ASCII) do bazy danych (tabeli) przy pomocy programu SQL*Loader.Najpierw tworzymy plik pomocniczy dla programu SQL*Loader.

LOAD DATA INFILE ‘scieżka_do_pliku/plik’ INTO TABLE nazwa_tabeli REPLACE FIELDS TERMINATED BY '|'( imie char, nazwisko char, email char )

A następnie wydajemy polecenie:

C:> sqlldr nazwa_użytkownika/hasło control=‘ścieżka_do_powyższego_pliku’

Page 18: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 18

Funkcje związane z przetwarzaniem danych w hurtowniach danych Oracle

Oracle9i udostępnia użytkownikom cały zestaw metod pomocnych w analizie danych. Ich wykorzystanie nie jest co prawda ograniczone wyłącznie do hurtowni danych, ale właśnie w tego typu systemach są wykorzystywane częściej niż w standardowych bazach danych. Sojusznikiem każdego projektanta hurtowni danych jest podsumowanie. Dzięki niemu projektant może zwiększyć wydajność, zmniejszając rozmiary zbiorów danych.Oracle można nazwać wręcz systemem zbiorczym; dysponującym całym arsenałem perspektyw, migawek (ang. snapshot) (inaczej perspektyw zmaterializowanych) pozwalających na tworzenie logicznych i fizycznych podsumowań danych. Ale to nie wszystko. Oracle9i oferuje również wiele funkcji analitycznych, pozwalających na tworzenie szerokiego spektrum raportów analitycznych.

Page 19: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 19

Funkcje związane z przetwarzaniem danych w hurtowniach danych Oracle

Perspektywy zmaterializowane stanowią środek wybiórczy prezentacji różnych danych przechowywanych w tabelach danych; umożliwiają między innymi regulowanie zakresu prezentowanych danych, w zależności od rodzaju użytkownika. Perspektywy są często jednym ze środków zabezpieczających dane, regulując sposób dostępu do ustalonego zestawu wierszy i kolumn tabeli. Perspektywy stanowią jedynie definicję dostępu do tabel i jako takie nie przechowują fizycznie danych w bazie danych. Są one tworzone na bieżąco, co spowalnia dostęp do danych. Aby wyeliminować problem zmniejszonej wydajności perspektyw, korporacja Oracle udostępnia migawki (ang. snapshots) i perspektywy zmaterializowane.Dzięki tym środkom hurtownie danych Oracle mogą obsługiwać nowe funkcje, takie jak przypisywanie zapytań. Technika ta polega na podejmowaniu przez mechanizm bazy danych decyzji o tym, czy zapytanie powinno zostać zrealizowane na podstawie danych przechowywanych w tabelach bazy danych, czy też wygenerować zbiór wynikowy na podstawie utworzonego wcześniej zbiorczego podsumowania danych.

Page 20: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 20

Funkcje związane z przetwarzaniem danych w hurtowniach danych Oracle

W świecie hurtowni danych perspektywy zmaterializowane są najczęściej używane do przechowywania podsumowań i zbiorów wynikowych funkcji zbiorczych. Takie zastosowanie perspektyw zmaterializowanych może znacząco zwiększyć szybkość przetwarzania zapytań odwołujących się do hurtowni danych.Czas niezbędny do przeliczenia zbiorów podsumowań jest skrócony o czas niezbędny do wykonania samego podsumowania.

Page 21: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 21

Funkcje związane z przetwarzaniem danych w hurtowniach danych Oracle

Rysunek - Architektura perspektyw zmaterializowanych.

Page 22: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 22

Funkcje związane z przetwarzaniem danych w hurtowniach danych Oracle

Na rysunku w poprzednim slajdzie wyróżniono pięć elementów:

1. Stanowisko główne – stanowisko, gdzie jest przechowywana tabela źródłowa migawki i ewentualnie dziennik migawki;

2. Tabela źródłowa – w tej tabeli są przechowywane dane źródłowe dla migawki;

3. Dziennik migawki tabeli źródłowej – rejestr transakcji odwołujących się do tabel źródłowych, przechowywane lokalnie, w pliku dziennika tychże tabel;

4. Kolejka zadań Oracle9i – zadania te propagują zawartość dziennika migawki do stanowiska zdalnego;

5. Stanowisko zdalne – transakcje w stanowisku zdalnym są przetwarzane w miarę napływania do stanowiska i powodują wstawienie, usunięcie i modyfikację wierszy przechowywanych w migawce.

Page 23: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 23

Funkcje związane z przetwarzaniem danych w hurtowniach danych Oracle

„Zapewne powyższe sformułowania brzmią nieco obco.”

Uwaga! - W celu możliwości lepszego ich poznania odsyłam Was do książki pt: „Oracle9i przewodnik dla początkujących” wydawnictwa Oracle Press.

Znajdziecie tam m.in. :

-Konfiguracja stanowiska głównego (migawki proste i złożone);-Konfiguracja stanowiska zdalnego;-Tworzenie migawki (migawki proste i złożone);-Zastosowanie migawek;-Odzwierciedlenie migawek na słownik danych;-Zarządzanie migawkami.

Page 24: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 24

Rozszerzone operacje agregujące

Obsługa hurtowni danych wydaje się być zagadnieniem, któremu projektanci Oracle poświęcili dużo uwagi, udostępniając użytkownikom obszerny zestaw narzędzi. Omówiliśmy już jedno z takich narzędzi: perspektywy zmaterializowane (migawki). Oracle9i oferuje również rozszerzenia języka SQL, charakterystyczne dla tej wersji bazy danych i znakomicie zwiększające funkcjonalność hurtowni danych.Oracle8, a później oczywiście Oracle9i, wyposażono w zestaw znakomitych i efektywnych funkcji, pozwalających na przeprowadzanie złożonej analizy danych bez konieczności dokonywania zakupu produktów firm trzecich (np. Cognos Imprompt).Wszystkie zaawansowane narzędzia analityczne są więc wliczone w cenę bazy danych!Oracle9i dysponuje rozszerzeniami, umożliwiającymi użytkownikom konstruowanie zapytań SQL, które realizują funkcje o działaniu zbliżonym do działania klauzuli group by standardowego zapytania select.

Page 25: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 25

Rozszerzone operacje agregujące

Rozszerzenia te (mowa o zapytaniach rollup i cube) mają jednak nieporównanie większe możliwości. Otóż rollup tworzy sumy częściowe na dowolnym poziomie agregacji, od sum szczegółowych po pełne podsumowanie danych. Funkcja cube jest funkcją podobną do rollup, z tym, że umożliwia obliczanie w pojedynczym zapytaniu wszelkich możliwych kombinacji sum częściowych. Funkcje te są szeroko wykorzystywane w hurtowniach danych, stanowiąc znakomita pomoc podczas analizy czasowej zgromadzonych danych.Podsumowując, Oracle9i umożliwia realizację analiz z wykorzystaniem:- analizy macierzowej;- funkcji szeregującej;- ram czasowych;- funkcji przyspieszeń-opóźnień;- dodatkowych funkcji statystycznych.

Page 26: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 26

Rozszerzone operacje agregujące

Jedną z podstawowych koncepcji leżących u podstaw hurtowni danych jest idea analizy wielowymiarowej. Wymiary w kontekście tej analizy są kategoriami, takimi jak czas, produkt, sprzedaż, punkty sprzedaży itp.. Przez jednoczesną analizę kilku wymiarów można poznać tendencje ukryte w liczbach i pewne, w inny sposób nie widoczne, relacje pomiędzy kategoriami.

Analiza macierzowa pozwala użytkownikom na generowanie raportów przekrojowych.Funkcje szeregujące umożliwiają tworzenie i analizę percentyli zbiorów wartości.Funkcje wykorzystujące ramy pozwalają na obliczenie średnich kumulowanych i średnich ogólnych. Dzięki tym funkcją jest możliwa analiza trendów w zmiennych ramach czasowych. Ponadto dostępne są funkcje obliczające sumy, wariancje, odchylenia standardowe i tym podobne.

Page 27: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 27

Rozszerzone operacje agregujące

Funkcje opóźnień-przyspieszeń pozwalają na dokonywanie porównań wartości z różnych przedziałów czasu.Wreszcie, Oracle udostępnia analitykom dodatkowy zestaw funkcji statystycznych, będących ukoronowaniem zbioru rozszerzeń związanych z obsługą hurtowni danych.

Page 28: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 28

Rozszerzone operacje agregujące

Funkcja rollup

Funkcje rollup i cube są rozszerzeniami składni standardowej klauzuli grupującej (group by) zapytania select. Funkcja rollup tworzy sumy częściowe na dowolnym poziomie agregacji.

Przykład!

select d.rok, d.mmiesiąc, s.nr_firmy, sum(s.sprzedaz_brutto) as sprzedarz_brutto, sum(s.sprzedaz_brutto-s.potroncenia-s.podatek) as sprzedarz_nettofrom sprzedarz_dzienna s, data_raportu dwhere s.data_transakcji = d.data_kalendarzowagroup by ROLLUP (d.rok, d.miesiac, s.nr_firmy);

Wyniku działania polecenia nie zamieszczam, zachęcam za to do własnych eksperymentów.

Page 29: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 29

Rozszerzone operacje agregujące

Funkcja cube

Najprostszym dostępnym w Oracle9i sposobem wygenerowania pełnego zbioru sum częściowych potrzebnych do analizy macierzowej jest zastosowanie funkcji cube. Funkcja ta umożliwia konstruowanie zapytań select obliczających sumy częściowe dla wszystkich możliwych kombinacji grup wymiarów.

Przykład!

select d.rok, d.mmiesiąc, s.nr_firmy, sum(s.sprzedaz_brutto) as sprzedarz_brutto, sum(s.sprzedaz_brutto-s.potroncenia-s.podatek) as sprzedarz_nettofrom sprzedarz_dzienna s, data_raportu dwhere s.data_transakcji = d.data_kalendarzowagroup by CUBE (d.rok, d.miesiac, s.nr_firmy);

Wyniku działania tego polecenia również nie zamieszczam, zachęcam po raz drugi do własnych eksperymentów. Praktyka czyni mistrza.

Page 30: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 30

Rozszerzone operacje agregujące

Uwaga! - W celu zapoznania się z możliwościami funkcji szeregujących, funkcji ramy i funkcji statystycznych odsyłam Was do ksiązki pt: „Oracle9i przewodnik dla początkujących” wydawnictwa Oracle Press.

Page 31: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 31

Metadane

„Metadane to dane o danych. Jest to cała informacja, której użytkownik lub administrator potrzebuje, by w pełni wykorzystać dane. Metadane obejmują takie informacje jak: lokalizację danych, jakie dane są dostępne dla danego tematu, kto stworzył dane, skąd pochodzą oraz kto może z nich korzystać.”

Metadane to jedna z najbardziej zaniedbanych części hurtowni danych.Jest to podobne do problemu dokumentacji, o której wartości praktycznie każdy jest przekonany, ale mało kto znajduje czas, by ją prawidłowo opracować.

W hurtowni danych istnieją trzy rodzaje metadanych: systemowe, administracyjne oraz biznesowe.

Metadane systemowe nie są obsługiwane przez zespół hurtowni danych, są one zawsze używane przez system lub administratora bazy danych.

Page 32: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 32

Metadane

Metadane administracyjne opisują wszystkie szczegóły zarządzania danymi. Oto przykłady metadanych administracyjnych:

- źródło danych;- harmonogram aktualizacji danych;- obliczenia przeprowadzane na podstawie danych;- podział lub złączenia tabel;- wiedza zgromadzona przez zespół hurtowni danych.

Przykładem medadanych administracyjnych jest aktywność użytkownika. To obejmuje rejestrowanie wykorzystania CPU i obciążenia operacji we/wy przy wykonywaniu zapytań użytkownika. Ten rodzaj metadanych pozwala zespołowi hurtowni danych właściwie rozliczać poszczególne działy za wykorzystanie hurtowni danych. Pozwala to także lepiej zrozumieć rodzaje zapytań używanych przez użytkowników. Te informację pozwolą: określić potrzeby w zakresie strojenia; określić potrzebę wprowadzania dodatkowych danych; określić, jakie dane nie są wykorzystywane.

Page 33: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 33

Metadane

Zespół hurtowni danych musi zdecydować, czy dane nie są używane z powodu braku zainteresowania, czy może braku metadanych, co umożliwia ich odnalezienie lub zrozumienie. Jeśli dane nie są potrzebne, to mogą zostać przeniesione na mniej kosztowne medium lub usunięte.

Metadane biznesowe są bezpośrednio skierowane do użytkowników. Pozwalają użytkownikom znaleźć i zrozumieć dane zawarte w hurtowni danych.Chociaż pojęcie metadanych jest łatwe do wytłumaczenia, to może być trudne do implementacji. Jedną z przyczyn jest brak standardów dla metadanych. Zespół o nazwie Metadata Coalition próbuje stworzyć standardy dla tej dziedziny. Jest to grupa producentów, która próbuje zwiększyć sprzedaż swoich produktów poprzez uwypuklenie znaczenia metadanych. Coalition opracowuje standardy dla metadanych, ale czeka ich jeszcze długa droga.

Page 34: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 34

Systemy informacyjne dla zarządu

Systemy informacyjne dla zarządu EIS (Executive Information Systems) to moduły hurtowni danych, które są specjalnie zaprojektowane dla zarządów firm. Systemy EIS muszą spełniać następujące kryteria:

1. Muszą być łatwe w użyciu – zarząd firmy nie ma czasu ani cierpliwości aby uczyć się obsługi skomplikowanych produktów. Musi mieć możliwość intuicyjnej nauki funkcji systemu EIS;2. Muszą zapewniać łatwy dostęp – zarząd musi mieć dostęp do systemu EIS z biura, sali narad czy nawet z samolotu. Rozwiązania oparte na WWW mogą być opracowane dla sieci Internet, co pozwoli członkom zarządu na korzystanie z EIS z dowolnego komputera połączonego do Sieci;3. Muszą być szybkie – zarząd nie będzie czekał na wyniki zapytania trzy dni. By uniknąć tego problemu, systemy informacyjne muszą wykazywać się inicjatywą przy wykonywaniu zapytań. Jednym ze sposobów zmniejszania czasu odpowiedzi na pytanie jest tworzenie tabel sumarycznych (więcej czytaj w literaturze).

Page 35: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 35

Systemy informacyjne dla zarządu

Kilku dostawców OLAP oferuje produkty eliminujące konieczność tworzenia tabel sumarycznych. Ich aplikacje pobierają dane do plików o specyficznym formacie i optymalizują je pod kątem szybkości. „Polecam wybór jednego z tych produktów zamiast tworzenia tabel sumarycznych.” Drugim sposobem uzyskania odpowiedniej szybkości zapytań w systemie EIS jest denormalizacja tabel (mam nadzieję, że tego nie trzeba wyjaśniać).

Uwaga! – Zespół projektujący system EIS musi zdecydować, czy EIS będzie oparty na kliencie, czy też na serwerze.Jeżeli interesują Ciebie szczegóły tych rozwiązań do odsyłam do książkipt: „Oracle 8 Server. Księga eksperta” wydawnictwa Helion.

Page 36: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 36

Przeszukiwanie danych (eksploracja danych)

Wstęp

Jest to dziedzina, której twórca tej prezentacji czyli JA poświęca dużą uwagę, zahaczając tutaj o dział nauki związany ze sztuczną inteligencję.W przyszłości zamierzam sporządzić prezentację poświęconą tylko temu zagadnieniu.

Jako ciekawostkę podam fakt, że banki Polskie i nie tylko bazują właśnie na tych rozwiązaniach, do podejmowania decyzji czy przydzielić nam kredyt czy też nie.

Page 37: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 37

Przeszukiwanie danych (eksploracja danych)

Przeszukiwanie danych (eksploracja danych [ang data mining]) jest procesem pozwalającym na wyszukiwanie związków między różnymi zestawami danych. Jeśli znaleziony związek jest poprawny, to narzędzi zawiadamia zespół o jego znaczeniu. Przeszukiwanie danych odbywa się z wykorzystaniem złożonych modeli statystycznych pozwalających określić związki między danymi. Związki mogą być między tabelowe lub wewnątrztabelowe. Związek wewnątrztabelowy łatwo można zobrazować poprzez związek między miastem i stanem. Narzędzie przeszukiwania danych wykaże duży współczynnik ufności dla związku miasta Nowy Jork i stanu Nowy Jork. Jeśli współczynnik ufności wynosi 100% to użytkownik może założyć, że taki związek istnieje. Jednak użytkownik nie dowiaduje się niczego cennego z tego odkrycia. Taki związek jest oczywisty i nieprzydatny w normalnej pracy. Innym rodzajem związków są związki międzytabelowe. Przykładem takiego związku jest relacja między sprzedawcami zarabiającymi powyżej $30 000 na rok a sprzedażą produktu X.

Page 38: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 38

Przeszukiwanie danych (eksploracja danych)

Ten rodzaj przeszukiwania danych korzysta ze złączenia tabeli sprzedawców z tabelą sprzedaży, by określić związek.

Związek międzytabelowy:

IF wynagrodzenie sprzedawcy > $30 000THEN o 10% jest bardziej prawdopodobne, że sprzedają produkt XWspółczynnik ufności = 78%

Page 39: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 39

Przeszukiwanie danych (eksploracja danych)

Modele przeszukiwania danych

Narzędzie do przeszukiwania danych musi zwykle opracować model pozwalający na określenie istniejących związków.

Rodzaje modeli związków:

1. if/then;2. klasyfikacja – analityk określi grupy i użyje narzędzia do przeszukiwania danych do rozmieszczenia elementów w poszczególnych grupach;3. klastry – klastry są podobne do modelu klasyfikacji, z tym że grupy są określane przez narzędzie do przeszukiwania danych, a nie przez analityka;4. sekwencje – pokazują wzorzec zdarzeń zachodzących w czasie, które prawdopodobnie się powtórzą;

Page 40: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 40

Przeszukiwanie danych (eksploracja danych)

5. analizy koszyka – szukają związków między produktami i określają, jakie produkty są kupowane wspólnie. Na przykład, narzędzie do przeszukiwania danych może określić, że mleko i chleb są kupowane razem. Opierając się na tej informacji, można zdecydować, że w sklepie spożywczym warto mieć mleko i chleb w tym samym obszarze. Można się spodziewać, że klient chcący kupić mleko, gdy zobaczy chleb, to również go kupi.

Narzędzia do przeszukiwania danych używają szeregu matematycznych technik do wykonywania analiz. Oto krótka lista przykładowych technik:

- sieci neuronowe;- drzewa decyzyjne;- standardowe techniki statystyczne;- algorytmy genetyczne;- analiza powiązań.

Page 41: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 41

Przeszukiwanie danych (eksploracja danych)

Wszystkie te techniki mogą prowadzić do wykrycia ważnych związków między danymi. Każda spełnia inną funkcję i wykrywa inne rodzaje związków. Ważne jest, by nie opierać się tylko na jednym narzędziu korzystającym z jednej czy dwóch technik, lecz wykorzystać kilka narzędzi zapewniających wykorzystanie całego spektrum technik przeszukiwania danych.Zwykle techniki wyszukiwania danych wymagają trzech zestawów danych do opracowania modelu. Pierwszy zestaw jest zestaw treningowy. Pozwala on opracować wstępne modele. Drugim jest zestaw testowy, który służy do testowania modeli stworzonych na podstawie zestawu treningowego. Jeśli model spełnia założenia dla danych testowych, to można przyjąć, że będzie poprawny dla rzeczywistych danych. Ostatnim zestawem danych jest zestaw określany jako dane aplikacyjne. Są to dane, do których w rzeczywistości model będzie wykorzystywany. W miarę upływu czasu model będzie podlegał zmianom na skutek sprzężenia zwrotnego wpływającego na jego dokładność.

Page 42: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 42

Przeszukiwanie danych (eksploracja danych)

Po opracowaniu i przetestowaniu modelu może zostać przedstawiony zarządowi i udostępniony do użytku. Nim określone związki zostaną przedstawione zarządowi, analityk danych powinien wykonać kilka rzeczy:

- Eliminacja błędnych związków;- Eliminacja nieważnych związków;- Eliminacja większości związków o małym współczynniku ufności;- Propozycja określonych zaleceń opartych na wyznaczonych związkach.

I to by było na tyle jeżeli chodzi o hurtownie danych. Mam na dzieję, że przybliżyłem wam to szeroki zagadnienie.

Page 43: Kurs Oracle, SQL - HURTOWNIE DANYCH, prezentacja ppt, pdf, bazy danych - tworzenie stron www, porady, trening, kurs internetowy online

Autor: KatMPB 43

Ciastka, kawa i pytania.

Pytania można składać mailem: [email protected]

KatMPBWWW: http://katmpbsoft.blogspot.com