Politechnika Łódzka, ul. Żeromskiego 116, Łódź, tel. (042) Projekt współfinansowany przez Unię Europejską

Wielkość: px
Rozpocząć pokaz od strony:

Download "Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83. Projekt współfinansowany przez Unię Europejską"

Transkrypt

1 Oracle i DB2 zadanie współfinansowane przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Politechnika Łódzka, ul. Żeromskiego 116, Łódź, tel. (042) w ramach Europejskiego Funduszu Społecznego Wstęp 2 -Dlaczego Chaos zawsze wygrywa z Porządkiem? - Ponieważ jest lepiej zorganizowany. Terry Pratchett Nagromadzenie danych to nie jest jeszcze nauka Galileusz 1

2 Schemat bazy danych 3 Dlaczego? 4 Człowiek, który potrafi czytać ale nie ma książek, nie ma przewagi nad tymi, którzy w ogóle nie umieją czytać Mark Twain Człowiek który posiada dane ale nie potrafi ich zobaczyć, nie ma przewagi nad tymi, którzy w ogóle nie mają danych Bob Lokken (CEO Knosys Inc.)

3 Dlaczego? 5 Szybsze podejmowanie lepszych decyzji Zwiększenie przewagi konkurencyjnej Usprawnienie procesów biznesowych Poprawa obsługi klientów Rozwiązania e-business Wnioski z danych 6 Celem działania nie jest raport lecz decyzja, a złe decyzje są kosztowne. Dane nie są informacją! Aby dostrzec znaczenie danych, należy najpierw zobaczyć te dane. Jeden obraz z właściwą informacją jest więcej wart niż dowolna ilość wierszy i kolumn danych. 3

4 Terminologia 7 ETL (extraction, transformation, loading) Ekstrakcja danych Transformacja danych Ładowanie danych Hurtownia danych Wydzielona baza danych Zawiera dane historyczne i bieżące Data Mart - Składnica danych Ściśle związana z mniejszą grupą użytkowników Tematycznie dostosowana, zoptymalizowana dla ich potrzeb OLAP (On-Line Analytical Processing) Przetwarzanie danych wielowymiarowych Krótki czas odpowiedzi na dowolne zapytanie Waga podejmowanych decyzji 8 Zarząd Koszt podjęcia złej decyzji Zysk z podjęcia dobrej dezyzji Kierownicy Pracownicy operacyjni Ilość podejmowanych decyzji 4

5 9 Wprowadzenie Modelem przetwarzania nazywamy sposób w jaki użytkownik korzysta z bazy danych. Modele przetwarzania: - przetwarzanie operacyjne (transakcyjne) - przetwarzanie analityczne Przetwarzanie operacyjne 10 OLTP - OnLine Transaction Processing - przetwarzanie transakcji w trybie on-line Celem jest wspomaganie bieżącej obsługi działalności danej firmy, dla dobrze zdefiniowanych procesów (np.: obsługa sprzedaży) Oparty na transakcjach, które operują na niewielkiej części danych przechowywanych w bazie danych 5

6 Przetwarzanie operacyjne 11 Dostarcza rozwiązań dla problemów: efektywnego i bezpiecznego przechowywania danych, optymalizacji dostępu do danych, dostępności danych, zarządzania współbieżnością Podstawowym kryterium oceny efektywności działania systemu OLTP jest liczba transakcji na sekundę Przetwarzanie analityczne 12 OLAP - OnLine Analytical Processing - przetwarzanie analityczne w trybie on-line Celem jest przeprowadzanie analizy danych i wspomaganie decyzji. Posiadanie danych opisujących działanie przedsiębiorstwa w dłuższym przedziale czasu pozwala na analizę trendów, anomalii, poszukiwanie wzorców zachowań klientów, itp. 6

7 Zalety przeprowadzania analizy danych 13 Zrozumienie zachowania się klientów i zapotrzebowania na produkt, pozwala efektywnie kierować kampaniami reklamowymi Zarządzanie zapasami umożliwia producentom posiadanie właściwych produktów we właściwym miejscu i czasie Analiza rentowności pokazuje firmom, którzy klienci są dochodowi, a którzy nie Przetwarzanie operacyjne a analityczne 14 Dlaczego potrzebnych informacji nie da się uzyskiwać bezpośrednio z transakcyjnych systemów przetwarzania danych? Dane w aplikacjach operacyjnych są: - ukierunkowane na aplikacje operacyjne, a nie analityczne - rozproszone po wielu aplikacjach operacyjnych - przechowywane w mało czytelnej postaci 7

8 15 Definicja hurtowni danych są bardzo dużymi bazami danych, w których gromadzi się dane pochodzące z wielu heterogenicznych źródeł: scentralizowanych lub rozproszonych baz relacyjnych, relacyjno-obiektowych, obiektowych oraz ze źródeł innych niż bazy danych (np.: pliki tekstowe). Jest to zbiór technologii, których celem jest wspieranie menadżerów i umożliwienie podejmowania im szybszych i lepszych decyzji. Cechy hurtowni danych Hurtownia danych powinna być: - zorientowana tematycznie - nieulotna (trwała) - wielowersyjna czasowo - zintegrowana 16 8

9 Zapytania wybierające Grupowanie SELECT IdOsoby, SUM(Brutto) AS Razem FROM Zarobki GROUP BY IdOsoby; SELECT SUM(Brutto) AS Razem FROM Zarobki; 17 Wyznaczenie funkcji agregującej dla grupy (dla każdej osoby) Wyznaczenie funkcji agregującej dla całej tabeli (wszystkie osoby) Zapytania wybierające Funkcje agregujące AVG SUM MAX MIN wartość średnia suma maksimum minimum STDDEV odchylenie standardowe VARIANCE wariacja COUNT zlicz 18 n n ( x) 2 x n( n 1) ( x) 2 x n( n 1) 2 2 9

10 Grupowanie i numerowanie rekordów w grupie 19 SELECT DECODE(ROWNUM-min_sno,0,a.iddzialu,NULL) iddzialu, DECODE(ROWNUM-min_sno,0,1,rownum+1-min_sno) sno, a.idosoby, nazwisko FROM (SELECT * FROM osoby ORDER BY iddzialu, idosoby ) a, ( SELECT iddzialu, MIN(ROWNUM) min_sno FROM ( SELECT * FROM osoby ORDER BY iddzialu, idosoby ) GROUP BY iddzialu ) b WHERE a.iddzialu = b.iddzialu; IDDZIALU SNO IDOSOBY NAZWISKO KOWALSKI 2 2 NOWAK 3 10 NOWIK NOWACKI 2 6 KOW 3 7 JAKOW KOWALIK 2 8 ADAMIAK 3 9 KOWALSKI 4 11 XXX WILK 2 12 YY GROUP BY ROLLUP/CUBE 20 Dodatkowe podsumowania dla działów SELECT IdDzialu, Osoby.IdOsoby, SUM(Brutto) AS Razem FROM Osoby JOIN Zarobki ON Osoby.IdOsoby=Zarobki.IdOsoby GROUP BY ROLLUP (IdDzialu, Osoby.IdOsoby); Dodatkowe podsumowania dla działów po sumach pracowników SELECT IdDzialu, Osoby.IdOsoby, SUM(Brutto) AS Razem FROM Osoby JOIN Zarobki ON Osoby.IdOsoby=Zarobki.IdOsoby GROUP BY CUBE (IdDzialu, Osoby.IdOsoby); 10

11 SUM(BRUTTO)... GROUP BY ROLLUP 21 NAZWA Dyrekcja Dyrekcja Handlowy Handlowy Techniczny Techniczny Techniczny Administracja Administracja Administracja NAZWISKO Kowalski Nowicki Kow Kowalczyk Janik Nowak RAZEM NAZWA Dyrekcja Dyrekcja Handlowy Handlowy Techniczny Techniczny Techniczny Administracja Administracja Administracja NAZWISKO RAZEM Janik Kow 222 Janik 555 Nowak Nowicki SUM(BRUTTO)... GROUP BY CUBE Kowalski 2109 Kowalczyk Kowalski Nowicki Kow 222 Kowalczyk Nowak

12 23 GROUP BY GROUPING SETS Dodatkowe podsumowania dla działów po sumach pracowników (nie są powtarzane podsumowania dla wewnętrznej grupy) SELECT IdDzialu, Osoby.IdOsoby, SUM(Brutto) AS Razem FROM Osoby JOIN Zarobki ON Osoby.IdOsoby=Zarobki.IdOsoby GROUP BY GROUPING SETS (IdDzialu, Osoby.IdOsoby); SUM(BRUTTO)... GROUP BY GROUPING SETS 24 NAZWA Administracja Dyrekcja Handlowy Techniczny NAZWISKO Janik Kow Kowalczyk Kowalski Nowak Nowicki RAZEM

13 25 GROUP BY GROUPING SETS Dodatkowe podsumowania dla działów po sumach pracowników (nie są powtarzane podsumowania dla wewnętrznej grupy) SELECT Nazwa, Nazwisko, SUM(Brutto) FROM Dzialy JOIN Osoby USING(IdDzialu) JOIN Zarobki USING(IdOsoby) GROUP BY GROUPING SETS (Nazwa, Nazwisko, IdOsoby); RANK () 26 oblicza ranking każdego wiersza zwracanego przez zapytanie zgodnie z klauzulą ORDER BY(jeśli dwie pozycje mają taką samą wartość następny rank jest o zwiększany o liczbę powtórzeń pozycje równe traktowane są tak samo) SELECT IdDzialu, Nazwisko, Brutto, RANK() OVER (PARTITION BY IdDzialu ORDER BY Brutto DESC ) "Rank" FROM Osoby JOIN Zarobki ON Osoby.IdOsoby=Zarobki.IdOsoby; SELECT RANK(250) WITHIN GROUP (ORDER BY Brutto DESC) "Powyżej 250" FROM Zarobki; NULLS LAST NULLS FIRST Sposób umieszczenia wartości NULL na liście SELECT RANK(250) WITHIN GROUP (ORDER BY Brutto ASC) "Poniżej 250" FROM Zarobki; Liczba wypłat powyżej/poniżej progu 13

14 DENSE_RANK () 27 oblicza ranking każdego wiersza zwracanego przez zapytanie zgodnie z klauzulą ORDER BY (jeśli dwie pozycje mają taką samą wartość następny rank jest o 1 większy pozycje równe traktowane są tak samo) SELECT IdDzialu, Nazwisko, Brutto, DENSE_RANK() OVER (PARTITION BY IdDzialu ORDER BY Brutto DESC ) "Rank" FROM Osoby JOIN Zarobki ON Osoby.IdOsoby=Zarobki.IdOsoby; SELECT DENSE_RANK(250) WITHIN GROUP (ORDER BY Brutto DESC) "Powyżej 250" FROM Zarobki; NULLS LAST NULLS FIRST Sposób umieszczenia wartości NULL na liście Okienkowanie funkcji agregujących SELECT IdOsoby, Brutto FROM Zarobki ORDER BY IdOsoby; IDOSOBY AGREGATE IDOSOBY BRUTTO SELECT IdOsoby, SUM(Brutto) OVER (ORDER BY IdOsoby ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) Agregate FROM Zarobki; 14

15 Okienkowanie funkcji agregujących 29 SELECT IdOsoby, Brutto FROM Zarobki ORDER BY IdOsoby; IDOSOBY AGREGATE IDOSOBY BRUTTO SELECT IdOsoby, SUM(Brutto) OVER (PARTITION BY IdOsoby ORDER BY IdOsoby ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) Agregate FROM Zarobki; Okienkowanie funkcji agregujących 30 SELECT IdDzialu, Nazwisko, SUM(Brutto), AVG(SUM(Brutto)) OVER () "Srednia wszystkich", AVG(SUM(Brutto)) OVER (PARTITION BY IdDzialu) "Srednia sumy dla Dzialu", RATIO_TO_REPORT(SUM(Brutto)) OVER () "Procent z całosci", RATIO_TO_REPORT(SUM(Brutto)) OVER (PARTITION BY IdDzialu) "Procent w Dziale" FROM Osoby JOIN Zarobki USING (IdOsoby) GROUP BY iddzialu, Nazwisko, IdOsoby; IdDzialu Nazwisko SUM (Brutto) Srednia wszystkich Srednia sumy dla Dzialu Procent z całosci Procent w dziale 1 Kowalski , , Janik , ,123 0,372 2 Nowak , ,138 0,418 2 Zieliński , ,069 0,209 3 Kow , ,1 0,382 3 Kowalczyk , ,153 0,588 3 Pawlak , ,007 0,029 4 Nowicki , , Kowal , ,

16 ROW_NUMBER(), NTILE() 31 SELECT IdDzialu, Nazwisko, Brutto, ROW_NUMBER() OVER (PARTITION BY IdDzialu ORDER BY Brutto DESC) "NUMER", NTILE(4) OVER (PARTITION BY IdDzialu ORDER BY Brutto DESC) "Zakresowy rozkład " FROM Osoby JOIN Zarobki ON Osoby.IdOsoby=Zarobki.IdOsoby; IDDZIALU NAZWISKO BRUTTO NUMER Zakresowy rozkład 1 Kowalski Kowalski Kowalski Kowalski Kowalski Zieliński Janik Nowak Nowak Janik Nowak Janik Kow w ramach Europejskiego 3 Funduszu Społecznego Kowalczyk Kowalczyk Raportowanie 32 SET PAGES 33 TTITLE 'Tytuł Druga Linia' BTITLE 'STOPKA DRUGA LINIA' BREAK ON Osoba SKIP 1 ON REPORT PAGE COMPUTE SUM AVG OF Brutto ON Osoba COMPUTE SUM OF Brutto ON REPORT COLUMN Osoba format A25 heading 'Nazwisko Imię' justify left COLUMN Wzrost format heading 'Wysokość' justify right COLUMN BRUTTO format heading 'Zarobki' justify center SELECT Nazwisko ' ' Imie AS Osoba, Wzrost, Brutto FROM Osoby JOIN Zarobki ON Osoby.Idosoby=Zarobki.IdOsoby; CLEAR BREAKS CLEAR COMPUTES CLEAR COLUMNS 16

17 Hierarchia (nie obsługuje grafów cyklicznych) 33 BREAK ON LEVEL SKIP 1 SELECT LEVEL, Idosoby, Stanowisko, IdSzefa FROM Osoby CONNECT BY PRIOR IdOsoby=IdSzefa START WITH IdSzefa IS NULL ORDER BY LEVEL; Przy odwrotnym połączeniu zwrócony zostanie tylko jeden rekord IdSzefa= PRIOR IdOsoby SELECT LEVEL, Idosoby, Stanowisko, IdSzefa FROM Osoby CONNECT BY PRIOR IdSzefa=IdOsoby START WITH IdSzefa IS NULL ORDER BY LEVEL; równoważne!! Hierarchia z formatowaniem 34 SELECT LEVEL, ' ' SUBSTR(' ',1,2* LEVEL) Nazwisko AS Kto FROM Osoby START WITH IdSzefa IS NULL CONNECT BY PRIOR IdOsoby = IdSzefa; 17

18 Hierarchia z formatowaniem 35 Uzupełnij do długości znakami SELECT LEVEL, RPAD(' ', 2*LEVEL, '-') Nazwisko AS Kto,IdSzefa FROM Osoby START WITH IdSzefa IS NULL CONNECT BY PRIOR IdOsoby = IdSzefa; Hierarchia z sumowaniem 36 SELECT LEVEL, SUM (Brutto) FROM Osoby JOIN Zarobki ON Zarobki.IdOsoby=Osoby.IdOsoby START WITH IdSzefa IS NULL CONNECT BY PRIOR Osoby.IdOsoby = IdSzefa GROUP BY LEVEL; LEVEL SUM(BRUTTO)

19 Hierarchia z poziomem wyższym 37 SELECT LEVEL, Nazwisko, IdSzefa, PRIOR Nazwisko AS Szef FROM Osoby START WITH IdSzefa IS NULL CONNECT BY PRIOR IdOsoby = IdSzefa; LEVEL NAZWISKO IDSZEFA SZEF 1 Kowalski 2 Nowak 1 Kowalski 3 Janik 2 Nowak 4 Kowalski 4 Janik 4 Kowal 4 Janik 4 Jasiński 4 Janik 4 Bury 4 Janik 4 Wilk 4 Janik 4 Raczyński 4 Janik 4 Lew 4 Janik 3 Pawlak 2 Nowak 3 Gawlik 2 Nowak 2 Kow 1 Kowalski Hierarchia z poziomem wyższym 38 SELECT Poziom, Prac, Osoby.IdSzefa, Osoby.Nazwisko AS Szef FROM Osoby RIGHT JOIN (SELECT LEVEL AS Poziom, Nazwisko AS Prac, IdSzefa FROM Osoby START WITH IdSzefa IS NULL CONNECT BY PRIOR IdOsoby = IdSzefa) xxx ON Osoby.IdOsoby=xxx.IdSzefa; LEVEL NAZWISKO IDSZEFA SZEF 1 Kowalski 2 Nowak 1 Kowalski 3 Janik 2 Nowak 4 Kowalski 4 Janik 4 Kowal 4 Janik 4 Jasiński 4 Janik 4 Bury 4 Janik 4 Wilk 4 Janik 4 Raczyński 4 Janik 4 Lew 4 Janik 19

20 Hierarchia liczba podwładnych 39 SELECT RPAD(' ',2*LEVEL,'*') Nazwisko ' ' Imie as Szef, ( SELECT COUNT(o2.idosoby) FROM Osoby o2 START WITH o2.idszefa = o1.idosoby CONNECT BY PRIOR o2.idosoby = o2.idszefa ) ilu Szef FROM Osoby o1 START WITH o1.idszefa IS NULL CONNECT BY PRIOR o1.idosoby = o1.idszefa; To musi być zapytanie jednowierszowe ILU *Kowalski Jan 35 ***Nowak Karol 19 *****Janik Paweł 13 *******Kowalski Piotr *****Gawlik Paweł 0 ***Kow Piotr 12 *****Kowalczyk Jarosław 4 *******Adamczyk Konrad Hierarchia liczba podwładnych razem z szefem 40 SELECT RPAD(' ',2*LEVEL,'*') Nazwisko ' ' Imie as Szef, ( SELECT COUNT(o2.idosoby) FROM Osoby o2 START WITH o2. IdOsoby = o1.idosoby CONNECT BY PRIOR o2.idosoby = o2.idszefa SZEF ) ilu FROM Osoby o1 START WITH o1.idszefa IS NULL CONNECT BY PRIOR o1.idosoby = o1.idszefa; ILU *Kowalski Jan 36 ***Nowak Karol 20 *****Janik Paweł 14 *******Kowalski Piotr *****Gawlik Paweł 1 ***Kow Piotr 13 *****Kowalczyk Jarosław 5 *******Adamczyk Konrad

21 41 Hierarchia suma zarobków podwładnych razem z szefem SELECT RPAD(' ',2*LEVEL,'*') Nazwisko ' ' Imie as Szef, ( SELECT SUM(Brutto) FROM Osoby o2 JOIN Zarobki ON o2.idosoby = zarobki.idosoby START WITH o2.idszefa = o1.idosoby CONNECT BY PRIOR o2.idosoby = o2.idszefa ) Razem SZEF FROM Osoby o1 START WITH o1.idszefa IS NULL CONNECT BY PRIOR o1.idosoby = o1.idszefa; ILU *Kowalski Jan ***Nowak Karol *****Janik Paweł *******Kowalski Piotr *****Gawlik Paweł (null) ***Kow Piotr *****Kowalczyk Jarosław 3108 *******Adamczyk Konrad Dlaczego? 42 Człowiek, który potrafi czytać ale nie ma książek, nie ma przewagi nad tymi, którzy w ogóle nie umieją czytać Mark Twain Człowiek który posiada dane ale nie potrafi ich zobaczyć, nie ma przewagi nad tymi, którzy w ogóle nie mają danych Bob Lokken (CEO Knosys Inc.)

22 43 Dlaczego? Szybsze podejmowanie lepszych decyzji Zwiększenie przewagi konkurencyjnej Usprawnienie procesów biznesowych Poprawa obsługi klientów Rozwiązania e-business Wnioski z danych 44 Celem działania nie jest raport lecz decyzja, a złe decyzje są kosztowne. Dane nie są informacją! Aby dostrzec znaczenie danych, należy najpierw zobaczyć te dane. Jeden obraz z właściwą informacją jest więcej wart niż dowolna ilość wierszy i kolumn danych. 22

23 45 Business Intelligence (BI) BI klucz do uwolnienia wiedzy h Dostęp i Łatwy dostęp do różnych źródeł danych h Analiza i Narzędzia do eksploracji danych h Dystrybucja i Aktywny i bierny dostęp do informacji h W ramach organizacji i poza nią i Pracownicy, dostawcy, klienci, partnerzy,... Terminologia 46 ETL (extraction, transformation, loading) Ekstrakcja danych Transformacja danych Ładowanie danych Hurtownia danych Wydzielona baza danych Zawiera dane historyczne i bieżące Data Mart - Składnica danych Ściśle związana z mniejszą grupą użytkowników Tematycznie dostosowana, zoptymalizowana dla ich potrzeb OLAP (On-Line Analytical Processing) Przetwarzanie danych wielowymiarowych Krótki czas odpowiedzi na dowolne zapytanie 23

24 47 Czym jest Business Intelligence? Narzędzia i techniki wspomagające proces podejmowania decyzji Business Intelligence pozwala zrozumieć dane Co się wydarzyło? Co się aktualnie dzieje? Dlaczego? Co się stanie? Co chciałbym, aby się stało? ERP CRM SCM TPP inne 48 Potencjał BI Zarząd Poziom strategiczny Kierownicy Pracownicy operacyjni Ilość podejmowanych decyzji 24

25 49 Wprowadzenie Modelem przetwarzania nazywamy sposób w jaki użytkownik korzysta z bazy danych. Modele przetwarzania: - przetwarzanie operacyjne - przetwarzanie analityczne 50 Przetwarzanie operacyjne (1) OLTP - OnLine Transaction Processing - przetwarzanie transakcji w trybie on-line Celem jest wspomaganie bieżącej obsługi działalności danej firmy, dla dobrze zdefiniowanych procesów (np.: obsługa sprzedaży) Oparty na transakcjach, które operują na niewielkiej części danych przechowywanych w bazie danych 25

26 51 Przetwarzanie operacyjne (2) Dostarcza rozwiązań dla problemów: efektywnego i bezpiecznego przechowywania danych, optymalizacji dostępu do danych, dostępności danych, zarządzania współbieżnością Podstawowym kryterium oceny efektywności działania systemu OLTP jest liczba transakcji na sekundę 52 Przetwarzanie analityczne OLAP - OnLine Analytical Processing - przetwarzanie analityczne w trybie on-line Celem jest przeprowadzanie analizy danych i wspomaganie decyzji. Posiadanie danych opisujących działanie przedsiębiorstwa w dłuższym przedziale czasu pozwala na analizę trendów, anomalii, poszukiwanie wzorców zachowań klientów, itp. 26

27 53 Zalety przeprowadzania analizy danych Zrozumienie zachowania się klientów i zapotrzebowania na produkt, pozwala efektywnie kierować kampaniami reklamowymi Zarządzanie zapasami umożliwia producentom posiadanie właściwych produktów we właściwym miejscu i czasie Analiza rentowności pokazuje firmom, którzy klienci są dochodowi, a którzy nie 54 Przetwarzanie operacyjne a analityczne Dlaczego potrzebnych informacji nie da się uzyskiwać bezpośrednio z operacyjnych systemów przetwarzania danych? Dane w aplikacjach operacyjnych są: - ukierunkowane na aplikacje operacyjne a nie analityczne - rozproszone po wielu aplikacjach operacyjnych - przechowywane w mało czytelnej postaci 27

28 55 Definicja hurtowni danych są bardzo dużymi bazami danych, w których gromadzi się dane pochodzące z wielu heterogenicznych źródeł: scentralizowanych lub rozproszonych baz relacyjnych, relacyjno-obiektowych, obiektowych oraz ze źródeł innych niż bazy danych (np.: pliki tekstowe). Jest to zbiór technologii, których celem jest wspieranie menadżerów i umożliwienie podejmowania im szybszych i lepszych decyzji. 56 Cechy hurtowni danych Hurtownia danych powinna być: - zorientowana tematycznie - nieulotna (trwała) - wielowersyjna czasowo - zintegrowana 28

29 57 Architektura logiczna hurtowni danych 58 Konwerter Zadaniem konwertera jest transformowanie danych z formatu wykorzystywanego w źródle, do formatu wykorzystywanego w hurtowni danych. Etapy konwersji danych: - ekstrakcja danych - czyszczenie danych - ładowanie danych -odświeżanie danych 29

30 59 Etapy konwersji danych (1) Ekstrakcja danych odbywa się przez bramki (gateways) lub standardowe interfejsy (ODBC, JDBC, Oracle Open Connect, Informix Enterprise Gateway, itd.) Czyszczenie danych ma na celu zapewnienie jakości i poprawności danych. Metody czyszczenia: konwersja i normalizacja, czyszczenie specjalne, czyszczenie oparte na regułach. 60 Etapy konwersji danych (2) Ładowanie danych tym procesem zarządza moduł integratora. Najczęściej odbywa się to w trybie wsadowym. Dodatkowe przetwarzanie, np.: sortowanie danych, budowanie indeksów Odświeżanie danych proces propagowania zmian zachodzących w źródłach danych do hurtowni. 30

31 61 Repozytorium metadanych Jest to składnik hurtowni danych, w którym przechowywane są informacje wspomagające zarządzanie hurtownią. (Przykład narzędzia do zarządzania metadanymi: IBM DataGuide) Zawiera ono zazwyczaj metadane: fizyczne; logiczne; operacyjne; historyczne; administracyjne; personalizacyjne 62 Wielowymiarowy model danych Podstawowym modelem logicznym dla OLAP jest wielowymiarowy model danych (MDD model - multidimensional data model). Dane są postrzegane przez użytkowników w postaci wielowymiarowej perspektywy. Obiektem analizy w modelu MDD jest zbiór miar numerycznych (faktów). Wartość każdej miary zależy od zbioru wymiarów. 31

32 63 Schemat przetwarzania w technologii OLAP (ONLINE ANALYTICAL PROCESSING) Oczyszczanie Synchronizacja Baza A Ekstrakcja Przesyłanie Baza B Integracja Hurtownia Danych Baza X 64 OLAP Analizy wspierające proces podejmowania decyzji biznesowych Oddział Poznań Kraków Gdańsk ROR Kredyt Produkt 69,059,440 PLN 8,755 szt. 7,888 PLN Depozyt Rach. Inwest. Inne Q1 Q2 Q3 Czas Q4 32

33 Analiza przekrojów 65 Analiza przekrojów 66 33

34 67 Analysis Services - Wymiary Wspólne/prywatne Regularne/nieregularne Hierarchia drzewiasta (relacja rodzic potomek) Dane w węzłach O dużej liczbie elementów (grupowanie) Wymiary o liczbie potomków większej niż 64k Atrybuty Wiele hierarchii Własne formuły podsumowujące Struktura hurtowni danych Problem wielowymiarowości Dwie podstawowe struktury 68 Model gwiazdy Model płatka śniegu - tablica faktów - hierarchia wymiaru 34

35 69 Schemat pojęciowy hurtowni - schemat gwiazdy 70 Schemat pojęciowy hurtowni - schemat płatka śniegu 35

36 71 Modele przechowywania dla hurtowni danych ROLAP - Relational OLAP - hurtownie wykorzystujące model relacyjny MOLAP - Multidimensional OLAP - hurtownie wykorzystujące wielowymiarowy model danych HOLAP - Hybrid OLAP - hurtownie łączące w sobie cechy MOLAP i ROLAP 72 Efektywność hurtowni danych W celu poprawy efektywności działania hurtowni danych stosuje się wiele technik: - materializowanie agregatów - przetwarzanie równoległe - partycjonowanie danych - indeksowanie danych 36

37 Oracle i DB2 zadanie współfinansowane przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Politechnika Łódzka, ul. Żeromskiego 116, Łódź, tel. (042) w ramach Europejskiego Funduszu Społecznego 37

Nauczycielem wszystkiego jest praktyka Juliusz Cezar. Nauka to wiara w ignorancję ekspertów Richard Feynman

Nauczycielem wszystkiego jest praktyka Juliusz Cezar. Nauka to wiara w ignorancję ekspertów Richard Feynman Oracle i DB2 zadanie współfinansowane przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej

Bardziej szczegółowo

Hurtownie danych. 31 stycznia 2017

Hurtownie danych. 31 stycznia 2017 31 stycznia 2017 Definicja hurtowni danych Hurtownia danych wg Williama Inmona zbiór danych wyróżniający się następującymi cechami uporządkowany tematycznie zintegrowany zawierający wymiar czasowy nieulotny

Bardziej szczegółowo

OLAP i hurtownie danych c.d.

OLAP i hurtownie danych c.d. OLAP i hurtownie danych c.d. Przypomnienie OLAP -narzędzia analizy danych Hurtownie danych -duże bazy danych zorientowane tematycznie, nieulotne, zmienne w czasie, wspierjące procesy podejmowania decyzji

Bardziej szczegółowo

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Raportowanie z wykorzystaniem fraz rollup, cube Frazy cube, rollup, grouping sets umożliwiają rozszerzoną

Bardziej szczegółowo

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Wprowadzenie do technologii Business Intelligence i hurtowni danych Wprowadzenie do technologii Business Intelligence i hurtowni danych 1 Plan rozdziału 2 Wprowadzenie do Business Intelligence Hurtownie danych Produkty Oracle dla Business Intelligence Business Intelligence

Bardziej szczegółowo

Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach. http://zajecia.jakubw.

Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach. http://zajecia.jakubw. Hurtownie danych Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach. http://zajecia.jakubw.pl/hur UZASADNIENIE BIZNESOWE Po co nam hurtownia danych? Jakie mogą

Bardziej szczegółowo

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Plan wykładów Wprowadzenie - integracja

Bardziej szczegółowo

Wstęp do Business Intelligence

Wstęp do Business Intelligence Wstęp do Business Intelligence Co to jest Buisness Intelligence Business Intelligence (analityka biznesowa) - proces przekształcania danych w informacje, a informacji w wiedzę, która może być wykorzystana

Bardziej szczegółowo

Hurtownie danych a transakcyjne bazy danych

Hurtownie danych a transakcyjne bazy danych Hurtownie danych a transakcyjne bazy danych Materiały źródłowe do wykładu: [1] Jerzy Surma, Business Intelligence. Systemy wspomagania decyzji, Wydawnictwo Naukowe PWN, Warszawa 2009 [2] Arkadiusz Januszewski,

Bardziej szczegółowo

Hurtownie danych - przegląd technologii

Hurtownie danych - przegląd technologii Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Plan wykład adów Wprowadzenie - integracja

Bardziej szczegółowo

HURTOWNIE DANYCH Dzięki uprzejmości Dr. Jakuba Wróblewskiego

HURTOWNIE DANYCH Dzięki uprzejmości Dr. Jakuba Wróblewskiego HURTOWNIE DANYCH Dzięki uprzejmości Dr. Jakuba Wróblewskiego http://www.jakubw.pl/zajecia/hur/bi.pdf http://www.jakubw.pl/zajecia/hur/dw.pdf http://www.jakubw.pl/zajecia/hur/dm.pdf http://www.jakubw.pl/zajecia/hur/

Bardziej szczegółowo

Hurtownie danych. Hurtownie danych. dr hab. Maciej Zakrzewicz Politechnika Poznańska Instytut Informatyki. Maciej Zakrzewicz (1)

Hurtownie danych. Hurtownie danych. dr hab. Maciej Zakrzewicz Politechnika Poznańska Instytut Informatyki. Maciej Zakrzewicz (1) Hurtownie danych dr hab. Maciej Zakrzewicz Politechnika Poznańska Instytut Informatyki Maciej Zakrzewicz (1) Plan wykładu Wprowadzenie do Business Intelligence (BI) Hurtownia danych Zasilanie hurtowni

Bardziej szczegółowo

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie Hurtownie danych i business intelligence - wykład II Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2005-2012 Zagadnienia do omówienia 1. Miejsce i rola w firmie 2. Przegląd architektury

Bardziej szczegółowo

Hurtownie danych. Wstęp. Architektura hurtowni danych. http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH

Hurtownie danych. Wstęp. Architektura hurtowni danych. http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH Wstęp. Architektura hurtowni. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH B. Inmon, 1996: Hurtownia to zbiór zintegrowanych, nieulotnych, ukierunkowanych

Bardziej szczegółowo

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence Hurtownie danych Rola hurtowni danych w systemach typu Business Intelligence Krzysztof Goczyła Teresa Zawadzka Katedra Inżynierii Oprogramowania Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika

Bardziej szczegółowo

Spis tre±ci. Przedmowa... Cz ± I

Spis tre±ci. Przedmowa... Cz ± I Przedmowa.................................................... i Cz ± I 1 Czym s hurtownie danych?............................... 3 1.1 Wst p.................................................. 3 1.2 Denicja

Bardziej szczegółowo

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2007/08 Studia uzupełniajace magisterskie

Bardziej szczegółowo

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Systemy OLAP I Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2008/09 Studia

Bardziej szczegółowo

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE BAZY DANYCH HURTOWNIE DANYCH I BUSINESS INTELLIGENCE Akademia Górniczo-Hutnicza w Krakowie Adrian Horzyk horzyk@agh.edu.pl Google: Horzyk HURTOWNIE DANYCH Hurtownia danych (Data Warehouse) to najczęściej

Bardziej szczegółowo

BD2 BazyDanych2. dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego

BD2 BazyDanych2. dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego BD2 BazyDanych2 dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego ³ Copyright c Tomasz Traczyk Instytut Automatyki i Informatyki Stosowanej Politechniki Warszawskiej Materiały dydaktyczne

Bardziej szczegółowo

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

Bardziej szczegółowo

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence Hurtownie danych Wprowadzenie do systemów typu Business Intelligence Krzysztof Goczyła Teresa Zawadzka Katedra Inżynierii Oprogramowania Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika

Bardziej szczegółowo

Modele danych - wykład V

Modele danych - wykład V Modele danych - wykład V Paweł Skrobanek, C-3 pok. 323 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2006 Zagadnienia 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie

Bardziej szczegółowo

Hurtownie danych. Ładowanie, integracja i aktualizacja danych. http://zajecia.jakubw.pl/hur INTEGRACJA DANYCH ETL

Hurtownie danych. Ładowanie, integracja i aktualizacja danych. http://zajecia.jakubw.pl/hur INTEGRACJA DANYCH ETL Hurtownie danych Ładowanie, integracja i aktualizacja danych. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur INTEGRACJA DANYCH Źródła danych ETL Centralna hurtownia danych Do hurtowni

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie Hurtownie danych i business intelligence - wykład II Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2005-2008 Zagadnienia do omówienia 1. 2. Przegląd architektury HD 3. Warsztaty

Bardziej szczegółowo

Business Intelligence

Business Intelligence Business Intelligence Paweł Mielczarek Microsoft Certified Trainer (MCT) MCP,MCSA, MCTS, MCTS SQL 2005, MCTS SQL 2008, MCTS DYNAMICS, MBSS, MBSP, MCITP DYNAMICS. Geneza Prowadzenie firmy wymaga podejmowania

Bardziej szczegółowo

Paweł Gołębiewski. Softmaks.pl Sp. z o.o. ul. Kraszewskiego 1 85-240 Bydgoszcz www.softmaks.pl kontakt@softmaks.pl

Paweł Gołębiewski. Softmaks.pl Sp. z o.o. ul. Kraszewskiego 1 85-240 Bydgoszcz www.softmaks.pl kontakt@softmaks.pl Paweł Gołębiewski Softmaks.pl Sp. z o.o. ul. Kraszewskiego 1 85-240 Bydgoszcz www.softmaks.pl kontakt@softmaks.pl Droga na szczyt Narzędzie Business Intelligence. Czyli kiedy podjąć decyzję o wdrożeniu?

Bardziej szczegółowo

Informatyzacja przedsiębiorstw

Informatyzacja przedsiębiorstw Informatyzacja przedsiębiorstw Izabela Szczęch Politechnika Poznańska Plan wykładu Elementy Business Intelligence Przetwarzanie OLTP vs OLAP Hurtownie danych podstawowe pojęcia Proces ETL 2 Cele informatyzacji

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rodzaje baz. Rodzaje baz. Hurtownie danych. Cechy hurtowni danych. Wykład 14: Hurtownie danych

Bazy danych. Plan wykładu. Rodzaje baz. Rodzaje baz. Hurtownie danych. Cechy hurtowni danych. Wykład 14: Hurtownie danych Plan wykładu Bazy Wykład 14: Hurtownie Bazy operacyjne i analityczne Architektura hurtowni Projektowanie hurtowni Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy (studia dzienne) 2 Rodzaje

Bardziej szczegółowo

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji 6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation

Bardziej szczegółowo

Pierwsze wdrożenie SAP BW w firmie

Pierwsze wdrożenie SAP BW w firmie Pierwsze wdrożenie w firmie Mirosława Żurek, BCC Poznao, maj 2013 Zakres tematyczny wykładu Podstawowe założenia i pojęcia hurtowni danych ; Przykładowe pierwsze wdrożenie w firmie i jego etapy; Przykładowe

Bardziej szczegółowo

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE Modele danych - wykład V Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2006 Zagadnienia 1. Wprowadzenie 2. MOLAP modele danych 3. modele danych 4. Podsumowanie 5. Zadanie fajne

Bardziej szczegółowo

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017 dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017 KONTAKT Z PROWADZĄCYM dr inż. Paweł Morawski e-mail: pmorawski@spoleczna.pl www: http://pmorawski.spoleczna.pl

Bardziej szczegółowo

Co to jest Business Intelligence?

Co to jest Business Intelligence? Cykl: Cykl: Czwartki z Business Intelligence Sesja: Co Co to jest Business Intelligence? Bartłomiej Graczyk 2010-05-06 1 Prelegenci cyklu... mariusz@ssas.pl lukasz@ssas.pl grzegorz@ssas.pl bartek@ssas.pl

Bardziej szczegółowo

Bazy analityczne (hurtownie danych, bazy OLAP)

Bazy analityczne (hurtownie danych, bazy OLAP) Bazy analityczne (hurtownie danych, bazy OLAP) Materiały pomocnicze. Bazy produkcyjne (transakcyjne) i analityczne Większość systemów baz danych to systemy produkcyjne, inaczej nazywane transakcyjnymi,

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Wprowadzenie do Hurtowni Danych. Mariusz Rafało Wprowadzenie do Hurtowni Danych Mariusz Rafało mrafalo@sgh.waw.pl PROJEKTOWANIE WARSTWY DANYCH DETALICZNYCH - ZAGADNIENIA Partycjonowanie Partycja jest wydzielonym miejscem na dysku, w którym przechowywane

Bardziej szczegółowo

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Plan laboratorium Frazy SQL: group by, rollup, cube, grouping sets funkcje analityczne, budowa modeli

Bardziej szczegółowo

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 LITERATURA Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 Systemy baz danych. Pełny wykład H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom;WNT Warszawa 2006 Wprowadzenie do systemów

Bardziej szczegółowo

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Oczekiwania? 2 3 Bazy danych Jak przechowywać informacje? Jak opisać rzeczywistość?

Bardziej szczegółowo

HURTOWNIE DANYCH. Krzysztof Goczyła. Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska. kris@eti.pg.gda.pl. K.

HURTOWNIE DANYCH. Krzysztof Goczyła. Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska. kris@eti.pg.gda.pl. K. HURTOWNIE DANYCH Krzysztof Goczyła Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska kris@eti.pg.gda.pl # 1 Część I. Tworzenie hurtowni danych 1. Co to jest hurtownia danych? 2. Model

Bardziej szczegółowo

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł! Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania

Bardziej szczegółowo

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

SQL do zaawansowanych analiz danych część 1.

SQL do zaawansowanych analiz danych część 1. SQL do zaawansowanych analiz danych część 1. Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan

Bardziej szczegółowo

SQL do zaawansowanych analiz danych część 2.

SQL do zaawansowanych analiz danych część 2. SQL do zaawansowanych analiz danych część 2. Funkcje analityczne Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan wykładu 1. Podstawowe definicje. 2. Sposób działania

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Wprowadzenie do Hurtowni Danych. Mariusz Rafało Wprowadzenie do Hurtowni Danych Mariusz Rafało mrafalo@sgh.waw.pl WARSTWA PREZENTACJI HURTOWNI DANYCH Wykorzystanie hurtowni danych - aspekty Analityczne zbiory danych (ADS) Zbiór danych tematycznych (Data

Bardziej szczegółowo

188 Funkcje analityczne

188 Funkcje analityczne Funkcje analityczne 188 Plan rozdziału 189 Wprowadzenie do funkcji analitycznych Funkcje rankingu Funkcje okna Funkcje raportujące Funkcje LAG/LEAD Funkcje FIRST/LAST Odwrotne funkcje percentyli Funkcje

Bardziej szczegółowo

OnLine Analytical Processing (OLAP) Zapytania SQL

OnLine Analytical Processing (OLAP) Zapytania SQL OnLine Analytical Processing (OLAP) Zapytania SQL 17 kwietnia 2014 Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Konstruowanie Baz Danych DQL agregacja danych

Konstruowanie Baz Danych DQL agregacja danych Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

4. Znaczenie czasu w modelowaniu i strukturalizacji danych

4. Znaczenie czasu w modelowaniu i strukturalizacji danych Temat1- Geneza 1. Ewolucja systemów opartych na bazach danych Początki to np. ręczne spisy danych na papirusie w Egipcie. Ręczne zapisywanie danych trwało aż do końca XIX wieku. W XIX wieku stworzone zostały

Bardziej szczegółowo

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr letni 2006/07 Plan wykładu Systemy baz

Bardziej szczegółowo

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017 Informatyka I BAZY DANYCH dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Plan wykładu Definicja systemu baz danych Modele danych Relacyjne bazy danych Język SQL Hurtownie danych

Bardziej szczegółowo

Hurtownie danych - przegląd technologii

Hurtownie danych - przegląd technologii Hurtownie danych - przegląd technologii Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Biznesowe słowniki pojęć biznesowych odwzorowania pojęć

Bardziej szczegółowo

Budowa systemu wspomagającego podejmowanie decyzji. Metodyka projektowo wdrożeniowa

Budowa systemu wspomagającego podejmowanie decyzji. Metodyka projektowo wdrożeniowa Budowa systemu wspomagającego podejmowanie decyzji Metodyka projektowo wdrożeniowa Agenda Systemy wspomagające decyzje Business Intelligence (BI) Rodzaje systemów BI Korzyści z wdrożeń BI Zagrożenia dla

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Ćwiczenia z Zaawansowanych Systemów Baz Danych

Ćwiczenia z Zaawansowanych Systemów Baz Danych Ćwiczenia z Zaawansowanych Systemów Baz Danych Hurtownie danych Zad 1. Projekt schematu hurtowni danych W źródłach danych dostępne są następujące informacje dotyczące operacji bankowych: Klienci banku

Bardziej szczegółowo

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY Plan Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących Grupowanie danych - klauzula GROUP BY Generowanie wartości zagregowanych Użycie klauzul COMPUTE i COMPUTE BY Wyświetlanie początkowych

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. 1 Funkcje grupowe (agregujące) (1) Działają na zbiorach rekordów, nazywanych grupami. Rekordy

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Wprowadzenie do Hurtowni Danych. Mariusz Rafało Wprowadzenie do Hurtowni Danych Mariusz Rafało mariusz.rafalo@hotmail.com WPROWADZENIE DO HURTOWNI DANYCH Co to jest hurtownia danych? Hurtownia danych jest zbiorem danych zorientowanych tematycznie, zintegrowanych,

Bardziej szczegółowo

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych Łukasz Przywarty 171018 Wrocław, 05.12.2012 r. Grupa: CZW/N 10:00-13:00 Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych Część 1: OLAP Prowadzący: dr inż. Henryk Maciejewski

Bardziej szczegółowo

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING Agregacja w SQL 1 Bazy Danych Wykład p.t. Agregacja i Grupowanie Danych Funkcje Agregacji. Opcje GROUP BY oraz HAVING Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały:

Bardziej szczegółowo

Rola analityki danych w transformacji cyfrowej firmy

Rola analityki danych w transformacji cyfrowej firmy Rola analityki danych w transformacji cyfrowej firmy Piotr Czarnas Querona CEO Analityka biznesowa (ang. Business Intelligence) Proces przekształcania danych w informacje, a informacji w wiedzę, która

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Grupowanie i funkcje agregacji

Grupowanie i funkcje agregacji Grupowanie i funkcje agregacji Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula GROUP BY Grupowanie polega

Bardziej szczegółowo

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2018/2019

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2018/2019 dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2018/2019 KONTAKT Z PROWADZĄCYM dr inż. Paweł Morawski e-mail: pmorawski@spoleczna.pl www: http://pmorawski.spoleczna.pl

Bardziej szczegółowo

Funkcje analityczne SQL CUBE (1)

Funkcje analityczne SQL CUBE (1) Funkcje analityczne SQL CUBE (1) JOB DEPTNO SUM(SAL) --------- ---------- ---------- 29025 10 8750 20 10875 30 9400 CLERK 4150 CLERK 10 1300 CLERK 20 1900 CLERK 30 950 ANALYST 6000 ANALYST 20 6000 MANAGER

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Klasyczna Analiza Danych

Klasyczna Analiza Danych Klasyczna Analiza Danych Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Wyszukiwanie danych wg zadanego wzorca Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut

Bardziej szczegółowo

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup Grupowanie i funkcje agregacji Grupowanie z użyciem rollup Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula

Bardziej szczegółowo

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy

Bardziej szczegółowo

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services Spis treści Wstęp... ix Odkąd najlepiej rozpocząć lekturę?... ix Informacja dotycząca towarzyszącej ksiąŝce płyty CD-ROM... xi Wymagania systemowe... xi Instalowanie i uŝywanie plików przykładowych...

Bardziej szczegółowo

Hurtownie danych - przegląd technologii

Hurtownie danych - przegląd technologii Funkcje analityczne SQL CUBE (1) Hurtownie danych - przegląd technologii Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel JOB DEPTNO SUM(SAL) 8750

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje

Bardziej szczegółowo

Rozdział 14 Funkcje analityczne

Rozdział 14 Funkcje analityczne Rozdział 14 Funkcje analityczne Operatory ROLLUP i CUBE, funkcja GROUPING, funkcje porządkujące (ranking), okienkowe, raportujące, statystyczne, funkcje LAG/LAD (c) Instytut Informatyki Politechniki Poznańskiej

Bardziej szczegółowo

przygotował: pawel@kasprowski.pl Podstawy języka MDX Tworzenie zbiorów

przygotował: pawel@kasprowski.pl Podstawy języka MDX Tworzenie zbiorów Podstawy języka MDX Tworzenie zbiorów Używanie zbiorów Zbiór to: wynik działania funkcji (np. funkcji members) lista elementów otoczona {...} {[Store Sales], [Unit Sales]} on columns, [Product].[Prod].[Category].members

Bardziej szczegółowo

Wielowymiarowy model danych

Wielowymiarowy model danych Plan wykładu Wielowymiarowy model danych 1. Model danych 2. Analiza wielowymiarowa 3. Model wielowymiarowy: koncepcja wymiarów i faktów 4. Operacje modelu wielowymiarowego 5. Implementacje modelu wielowymiarowego:

Bardziej szczegółowo

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Ograniczanie rozmiaru zbioru wynikowego, klauzula WITH, zapytania hierarchiczne. 1 Ograniczanie liczności zbioru wynikowego (1) Element standardu

Bardziej szczegółowo

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

Bardziej szczegółowo

Schematy logiczne dla hurtowni danych

Schematy logiczne dla hurtowni danych Schematy logiczne dla hurtowni danych 26 Plan rozdziału 27 Model biznesowy, logiczny i fizyczny hurtowni danych Podstawowe pojęcia w modelu logicznym, logiczny model wielowymiarowy Implementacje ROLAP/MOLAP

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Plan wykładu. Hurtownie danych. Problematyka integracji danych. Cechy systemów informatycznych

Plan wykładu. Hurtownie danych. Problematyka integracji danych. Cechy systemów informatycznych 1 Plan wykładu 2 Hurtownie danych Integracja danych za pomocą hurtowni danych Przetwarzanie analityczne OLAP Model wielowymiarowy Implementacje modelu wielowymiarowego ROLAP MOLAP Odświeżanie hurtowni

Bardziej szczegółowo

Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot

Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot Alberto Ferrari i Marco Russo Przekład: Marek Włodarz APN Promise Warszawa 2014 Spis treści Wprowadzenie............................................................

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Problematyka hurtowni danych

Problematyka hurtowni danych Plan wykładu Problematyka hurtowni 1. Bibliografia 2. Systemy klasy Business Intelligence 3. Podejścia do integracji 4. Definicja hurtowni 5. Architektury hurtowni Hurtownie, wykład Bartosz Bębel E-mail:

Bardziej szczegółowo

Hurtownia danych praktyczne zastosowania

Hurtownia danych praktyczne zastosowania Hurtownia danych praktyczne zastosowania Dorota Olkowicz dorota.olkowicz@its.waw.pl Centrum Bezpieczeństwa Ruchu Drogowego ITS Plan prezentacji 1. Hurtownie danych 2. Hurtownia danych POBR 3. Narzędzia

Bardziej szczegółowo

Hurtownie danych i business intelligence. Plan na dziś : Wprowadzenie do przedmiotu

Hurtownie danych i business intelligence. Plan na dziś : Wprowadzenie do przedmiotu i business intelligence Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl Wrocław 2005-2012 Plan na dziś : 1. Wprowadzenie do przedmiotu (co będzie omawiane oraz jak będę weryfikował zdobytą wiedzę

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra Bazy danych 8. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych

Bardziej szczegółowo

Adam Cankudis IFP UAM

Adam Cankudis IFP UAM W s t ę p d o r e l a c y j n y c h b a z d a n y c h Adam Cankudis IFP UAM B i b l i o g r a f i a T. Morzy i in., Bazy danych, [w:] Studia Informatyczne, Pierwszy stopie ń, http://wazniak.mimuw.edu.pl/

Bardziej szczegółowo

SQL - Structured Query Language. strukturalny język zapytań

SQL - Structured Query Language. strukturalny język zapytań SQL - Structured Query Language strukturalny język zapytań SQL - Structured Query Language - strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo