MECHANIZM PERSPEKTYW MATERIALIZOWANYCH W EKSPLORACJI DANYCH

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

Download "MECHANIZM PERSPEKTYW MATERIALIZOWANYCH W EKSPLORACJI DANYCH"

Transkrypt

1 MECHANIZM PERSPEKTYW MATERIALIZOWANYCH W EKSPLORACJI DANYCH Mikołaj MORZY, Marek WOJCIECHOWSKI Streszczenie: Eksploracja danych to proces interaktywny i iteracyjny. Użytkownik definiuje zbiór interesujących go wzorców określając eksplorowany zbiór danych i wybierając konkretne wartości parametrów eksploracji. Jest bardzo prawdopodobne, że w celu uzyskania satysfakcjonujących go wyników użytkownik wielokrotnie dokona eksploracji, za każdym razem nieznacznie zmieniając eksplorowany zbiór danych lub modyfikując parametry algorytmu. Aktualnie dostępne algorytmy eksploracji danych charakteryzują się długim czasem przetwarzania, wprost proporcjonalnym do rozmiaru analizowanych danych. Ponieważ eksploracja odbywa się najczęściej w środowisku magazynu danych, długie czasy przetwarzania są nie do przyjęcia z punktu widzenia interaktywnej eksploracji. Z drugiej strony wyniki kolejnych, następujących po sobie zapytań użytkownika są bardzo zbliżone. Jednym z rozwiązań problemu długich czasów przetwarzania zapytań eksploracyjnych jest wykorzystanie zmaterializowanych wyników wcześniejszych zapytań. W tym artykule przedstawiamy koncepcję materializowanych perspektyw eksploracyjnych i sposoby wykorzystania takich perspektyw w przetwarzaniu zapytań eksploracyjnych. Pokazujemy, w jaki sposób mechanizm ten może wydatnie przyśpieszyć proces odkrywania reguł asocjacyjnych lub wzorców sekwencji. Wskazujemy też dalsze kierunki badań w tym zakresie. 1. Wstęp Eksploracja danych, zwana także odkrywaniem wiedzy w bazach danych (ang. data mining, knowledge discovery in databases) to proces odkrywania nowych, nieznanych, pożytecznych i zrozumiałych wzorców w dużych wolumenach danych [12]. W ostatnich latach obserwujemy wyraźne odchodzenie od dedykowanych i wyspecjalizowanych systemów eksploracyjnych i dążenie do integracji tych systemów z istniejącymi systemami zarządzania bazami danych. Integracja ta przebiega przede wszystkim w ramach magazynów danych (ang. data warehouses), które stanowią doskonałe źródło danych dla różnych technik eksploracyjnych. Z punktu widzenia użytkownika wykonanie algorytmu i odkrycie zbioru wzorców to rodzaj odpowiedzi na zaawansowane zapytanie do bazy danych. Użytkownik określa zbiór eksplorowanych danych (np. za pomocą standardowego zapytania wyrażonego w języku SQL) oraz wyznacza wartości współczynników sterujących danym algorytmem odkrywania wzorców. W odpowiedzi system wykonuje odpowiedni algorytm i prezentuje użytkownikowi uzyskany zbiór wzorców. Użytkownik z reguły nie zna dokładnego celu eksploracji, lecz dochodzi do 1

2 interesujących i satysfakcjonujących go wyników w wielu następujących po sobie krokach. W każdym kroku użytkownik weryfikuje zbiór uzyskanych wzorców i stosownie do swych potrzeb i oczekiwań zmienia zbiór eksplorowanych danych (modyfikując odpowiednie polecenie języka SQL), lub dostraja algorytm odkrywania wzorców przez zmiany wartości parametrów. Praktyka wykazuje, że w typowym procesie odkrywania wzorców użytkownik wykonuje wiele razy ten sam algorytm z nieznacznie zmienionymi parametrami. Z drugiej strony często zdarza się, że użytkownik wydaje dane zapytanie eksploracyjne okresowo, np. raz w tygodniu, w celu znalezienia najbardziej aktualnych wzorców. W takim wypadku system powinien móc przechować wyniki poprzedniej eksploracji i spróbować udzielić odpowiedzi w sposób przyrostowy, bazując na wcześniejszych wynikach i uwzględniając zmiany, jakie zaszły w bazie danych od czasu ostatniej eksploracji. W przypadku magazynu danych wolumen zmian stanowi zazwyczaj znikomą część oryginalnej bazy danych. Podstawowym problemem, jaki napotyka się podczas eksploracji danych, jest czas przetwarzania typowego zapytania eksploracyjnego. Algorytmy odkrywania reguł potrzebują minut i godzin aby odpowiedzieć na stosunkowo proste zapytanie. Często też rozmiar odpowiedzi przekracza rozmiar eksplorowanej bazy danych. Taka charakterystyka procesu odkrywania wiedzy czyni go zupełnie niezdatnym do zastosowań interaktywnych i iteracyjnych. Jednym z rozwiązań powyższego problemu jest zastosowanie perspektyw materializowanych. Materializacja wyników zapytań eksploracyjnych może się odbywać automatycznie, lub na żądanie użytkowników. System eksploracyjny powinien umożliwiać wykorzystanie tych wyników i włączenie ich do algorytmu odkrywania wzorców. Mechanizm perspektyw materializowanych został dokładnie zbadany i z powodzeniem wykorzystany w tradycyjnych systemach relacyjnych baz danych. Proponujemy, aby podobne rozwiązanie zastosować w przypadku systemów odkrywania wiedzy. W artykule pokazujemy, w jaki sposób można wykorzystać wyniki wcześniejszych zapytań eksploracyjnych do skrócenia czasu przetwarzania w przypadku odkrywania zbiorów częstych, reguł asocjacyjnych i wzorców sekwencyjnych. Eksperymenty dowodzą, że wykorzystanie wcześniejszych wyników wielokrotnie skraca czas wykonania zapytania. Jednakże, w przypadku zapytań eksploracyjnych określenie perspektyw materializowanych, które mogą być wykorzystane do odpowiedzi na dane zapytanie, nie jest proste. Perspektywa eksploracyjna może się różnić od danego zapytania nie tylko wartościami współczynników wykonania algorytmu, ale również schematem eksplorowanej bazy danych. Poniżej pokazujemy, w jakich przypadkach można wykorzystać perspektywę materializowaną do odpowiedzi na zapytanie eksploracyjne i jakie dodatkowe czynności są konieczne, aby zwrócona odpowiedź była poprawna. Przykłady przedstawione w artykule zostały wyrażone za pomocą języka MineSQL, deklaratywnego języka do eksploracji danych opartego na języku SQL i rozwijanego od kilku lat w Instytucie Informatyki Politechniki Poznańskiej [14]. 2

3 2. Podstawowe definicje 2.1. Perspektywy zwykłe i materializowane Perspektywa to wywiedziona tabela, zdefiniowana w oparciu o tabele bazowe. Perspektywa definiuje funkcję ze zbioru tabel bazowych do tabeli wywiedzionej. Funkcja ta jest zazwyczaj obliczana przy każdym odwołaniu do perspektywy. Perspektywa może zostać zmaterializowana poprzez składowanie krotek perspektywy w bazie danych. Na materializowanej perspektywie można zakładać indeksy, przez co dostęp do tak zapisanych danych może być dużo szybszy niż ponowne wyliczenie perspektywy. Perspektywa materializowana w pewnym sensie przypomina pamięć podręczną - jest kopią danych którą można szybko odczytać. Materializacja perspektywy eliminuje potrzebę ponownego obliczania i rozwijania perspektywy przy każdym dostępie do niej. Zawartość materializowanej perspektywy staje się nieaktualna w momencie modyfikacji tabel bazowych, z których wywiedziono perspektywę. Proces modyfikowania perspektywy materializowanej w odpowiedzi na zmiany zachodzące w tabelach bazowych nazywamy pielęgnacją perspektywy. Często zmiany w tabelach bazowych powodują zmianę tylko w części perspektywy. Pielęgnacja perspektywy przez wyliczanie całej jej zawartości byłaby w takiej sytuacji marnotrawstwem. Znacznie prościej i szybciej jest wyznaczyć zmianę zachodzącą w perspektywie materializowanej tylko na podstawie zmian jakie zaszły w tabelach bazowych. Taką pielęgnację nazywamy pielęgnacją przyrostową (inkrementalną). Należy jednak pamiętać, że w przypadku wielu typów perspektyw materializowanych pielęgnacja przyrostowa jest niemożliwa Zbiory częste Niech L={l 1,l 2,...,l n } będzie zbiorem literałów zwanych elementami. Niech D będzie kolekcją transakcji, gdzie każda transakcja jest dowolnej długości i T D T L. Mówimy, że transakcja T wspiera element x jeśli x T. Mówimy, że transakcja T wspiera zbiór X, jeśli T wspiera każdy element x X. Wsparciem (ang. support) zbioru X nazywamy stosunek liczby transakcji wspierających X do liczby wszystkich transakcji. { T D : T wspiera X} support( X, D) = D Problem odkrywania zbiorów częstych polega na znalezieniu w danej bazie danych D wszystkich zbiorów, których wsparcie jest wyższe od zdefiniowanej przez użytkownika wartości, zwanej minimalnym wsparciem (minsup). Zbiór, którego wsparcie jest wyższe niż minsup nazywamy zbiorem częstym (ang. frequent itemset). 3

4 Reguły asocjacyjne Reguła asocjacyjna to implikacja postaci X Y, gdzie X L, Y L i X Y=. Zbiór X nazywamy głową reguły a zbiór Y ciałem reguły. Z każdą regułą asocjacyjną związane są dwie miary wyznaczające statystyczne znaczenie i siłę reguły. Wsparciem (ang. support) reguły X Y w bazie danych D nazywamy stosunek liczby transakcji wspierających regułę do liczby wszystkich transakcji. Innymi słowy reguła X Y ma w bazie danych D wsparcie s, jeśli s% transakcji w bazie danych wspiera X Y. { T D : T wspiera X Y} support( X Y, D) = D Ufnością (ang. confidence) reguły X Y w bazie danych D nazywamy stosunek liczby transakcji wspierających regułę do liczby transakcji wspierających głowę reguły. Innymi słowy reguła X Y ma w bazie danych D ufność c, jeśli c% transakcji wspierających X wspiera również Y. { T D : T wspiera X Y} confidence( X Y, D) = { T D : T wspiera X} Problem odkrywania reguł asocjacyjnych polega na znalezieniu w danej bazie danych D wszystkich reguł asocjacyjnych, których wsparcie i ufność są wyższe od zdefiniowanych przez użytkownika wartości minimalnego wsparcia i minimalnej ufności (minsup i minconf) Wzorce sekwencyjne Niech L={l 1,l 2,...,l n } będzie zbiorem literałów zwanych elementami. Sekwencją nazywamy uporządkowaną listę zbiorów elementów. Sekwencję oznaczamy przez <X 1,X 2,...,X n >, gdzie X i jest zbiorem elementów, X i L. Zbiory X i nazywamy wyrazami sekwencji. Rozmiarem sekwencji nazywamy liczbę występujących w niej elementów. Długością sekwencji nazywamy liczbę występujących w niej wyrazów. Z każdym wyrazem sekwencji związany jest znacznik czasowy. Pomijając ograniczenia czasowe mówimy, że sekwencja <X 1,X 2,...,X n > zawiera się w sekwencji <Y 1,Y 2,...,Y m >, jeśli istnieją liczby całkowite i 1 <i 2 <...<i n takie, że X 1 <Y i1,x 2 <Y i2,...,x n <Y in. Sekwencję <Y i1,y i2,...,y in > nazywamy wystąpieniem sekwencji X w sekwencji Y. Odkrywając wzorce sekwencyjne posługujemy się następującymi ograniczeniami czasowymi: minimalnym i maksymalnym przedziałem pomiędzy kolejnymi elementami wystąpienia sekwencji (odpowiednio min-gap i max-gap), oraz rozmiarem okna czasowego, które pozwala na łączenie tych samych pozycji sekwencji w jedną pozycję (o ile znaczniki czasowe tych pozycji mieszczą się w określonym oknie). Wsparciem sekwencji <X 1,X 2,...,X n > w bazie danych D nazywamy stosunek liczby sekwencji zawierających X do liczby wszystkich sekwencji. Problem odkrywania wzorców sekwencyjnych polega na znalezieniu w danej bazie danych D wszystkich sekwencji, których wsparcie jest wyższe od zdefiniowanej

5 przez użytkownika wartości minimalnego wsparcia (minsup). Sekwencję, której wsparcie jest wyższe niż minsup, nazywamy wzorcem sekwencyjnym. 3. Aktualny stan badań Prace nad perspektywami materializowanymi rozpoczęły się w latach 80-tych. Początkowo były one narzędziem do przyspieszenia wykonywania zapytań i udostępnienia starszych kopii danych. Opracowano wiele algorytmów pielęgnacji perspektyw materializowanych. Dalsze badania dotyczyły między innymi tworzenia modeli szacowania kosztów pielęgnacji perspektyw materializowanych oraz określania wpływu obecności perspektyw na efektywność przetwarzania zapytań. Kolejne prace dotyczyły zastosowania perspektyw do narzucania ograniczeń integralnościowych. W pracy [8] można znaleźć podsumowanie i klasyfikację różnych technik pielęgnacji perspektyw. Obszerne przedstawienie tematu znajduje się w [9]. Problem odkrywania reguł asocjacyjnych po raz pierwszy sformułowano w [1]. W [2] wprowadzono pojęcie zbioru częstego i zaproponowano algorytm Apriori, który stał się podstawą bardzo wielu różnych metod odkrywania wzorców. Działanie algorytmu opiera się na następującej obserwacji: zbiór elementów może być częsty wtedy i tylko wtedy, gdy wszystkie jego podzbiory są częste. Apriori generuje zbiory potencjalnie częste (zwane zbiorami kandydującymi) tylko na podstawie dotychczas znalezionych zbiorów częstych. W pierwszym kroku znajdowane są wszystkie zbiory częste o rozmiarze 1, następnie wszystkie zbiory częste o rozmiarze 2. We wszystkich kolejnych krokach tworzone są zbiory n- elementowe na podstawie (n-1)-elementowych zbiorów częstych. Wsparcie zbiorów kandydujących o danym rozmiarze określa się podczas pełnego odczytu bazy danych. Podstawową wadą algorytmu Apriori jest właśnie fakt, że potrzebuje on (k+1) pełnych odczytów bazy danych aby znaleźć wszystkie k-elementowe zbiory częste. W [6] zaproponowano algorytm FUP, który odkrywał zbiory częste w oparciu o wcześniej znalezione wyniki. Algorytm ten skracał wydatnie czas działania algorytmu Apriori poprzez przetwarzanie tylko zmodyfikowanej części bazy danych. Kolejną propozycją był algorytm zaprezentowany w [17], który minimalizował czas odkrywania zbiorów częstych w zarówno zwiększonej, jak i zmniejszonej bazie danych. Algorytm ten odkrywał zbiory częste korzystając z pojęcia negatywnej granicy, wprowadzonego w [18]. Idea odkrywania wzorców sekwencyjnych została po raz pierwszy przedstawiona w [3] i [4]. Zaproponowano wówczas algorytm GSP odkrywający szeroką klasę wzorców sekwencyjnych (tzw. uogólnione wzorce sekwencyjne) i wykorzystujący ograniczenia czasowe. W [16] zaproponowano materializację wzorców o obniżonych kryteriach wsparcia i wykorzystanie kolekcji zmaterializowanych wzorców do znalezienia odpowiedzi na dane zapytanie eksploracyjne. Większość prac dotyczących wzorców sekwencyjnych koncentrowała się jednak na ulepszaniu algorytmu odkrywania wzorców [10,11]. 5

6 W pracy [15] po raz pierwszy rozważano koncepcję interaktywnego i iteracyjnego odkrywania zbiorów częstych. Autorzy zaproponowali stworzenie podręcznej pamięci wiedzy (ang. knowledge cache), która przechowywałaby ostatnio odkryte zbiory częste wraz z ich wsparciem. Taka pamięć podręczna może być współdzielona przez wielu użytkowników i wiele aplikacji, dzięki czemu użytkownicy mogą nawzajem wykorzystywać wyniki swoich zapytań eksploracyjnych. Poza opracowaniem samej koncepcji autorzy zaproponowali kilka różnych schematów zarządzania zawartością pamięci podręcznej. Idea wcześniejszego obliczania wsparcia zbiorów częstych w partycjach bazy danych pojawiła się po raz pierwszy w [19]. Zaproponowana metoda wykorzystywała fakt, że dany zbiór może być częsty wtedy i tylko wtedy, gdy jest częsty w którejkolwiek z partycji. Algorytm dokonywał wcześniejszego odkrywania zbiorów częstych w małych, mieszczących się w całości w dostępnej pamięci operacyjnej partycjach bazy danych i wykorzystywał te zbiory do znajdowania zbiorów, które były częste w całej bazie danych. W [12] przedstawiono ideę Systemu Zarządzania Wiedzą i Danymi (ang. Knowledge Data Management System), który powinien być następcą współczesnych systemów zarządzania bazami danych. Autorzy po raz pierwszy zdefiniowali pojęcie zapytań eksploracyjnych oraz podkreślili potrzebę ścisłej integracji systemów odkrywania wiedzy z istniejącą infrastrukturą informatyczną, przede wszystkim z bazami danych i magazynami danych Streszczenie artykułu Artykuł zorganizowany jest następująco. W rozdziale 4 przedstawiono koncepcję zapytań eksploracyjnych i zaprezentowano przykłady takich zapytań. Rozważono związki zachodzące między wynikami różnych zapytań i zdefiniowano pojęcie perspektywy eksploracyjnej. Rozdział 5 dotyczy optymalizacji zapytań eksploracyjnych z wykorzystaniem perspektyw materializowanych. W rozdziale 6 przedstawiono nierozwiązane problemy i naszkicowano zarys dalszych kierunków badań. 4. Zapytania eksploracyjne i relacje między zapytaniami 4.1. Zapytania eksploracyjne W [14] przedstawiono deklaratywny język eksploracyjny MineSQL. Służy on do wyrażania problemów odkrywania wiedzy za pomocą zapytań eksploracyjnych (ang. data mining queries). Język ten oddziela aplikację użytkownika od używanego algorytmu odkrywania wiedzy. Składnia MineSQL przypomina składnię języka SQL i pozwala na ścisłą integrację zapytań eksploracyjnych z tradycyjnymi zapytaniami do bazy danych. Język MineSQL pozwala aktualnie na wyrażanie poleceń służących do odkrywania zarówno zbiorów częstych, jak i reguł asocjacyjnych i wzorców sekwencyjnych. MineSQL definiuje zbiór dodatkowych 6

7 typów danych (SET, ITEMSET, RULE) oraz zbiór operatorów i funkcji operujących na tych typach danych (np. CONTAINS, BODY(x), HEAD(x)). Poniżej przedstawiono przykładowe zapytanie eksploracyjne, odkrywające w podanym zbiorze danych zbiory częste o wsparciu powyżej 20% i zawierające element 'mleko'. MINE ITEMSET, SUPPORT(ITEMSET) FOR ITEMS FROM ( SELECT SET(PURCHASED_ITEM) AS ITEMS FROM PURCHASES WHERE DATE_OF_PURCHASE > AND DATE_OF_PURCHASE < GROUP BY TRANSACTION_ID ) WHERE SUPPORT(ITEMSET) > 0.2 AND ITEMSET CONTAINS TO_SET( mleko ); Analogicznie można w języku MineSQL wyrazić polecenie odkrywania reguł asocjacyjnych, których wsparcie jest większe niż 10%, ufność większa niż 30% i których głowa zawiera element 'masło'. MINE RULE r, BODY(r), HEAD(r) FOR ITEMS FROM ( SELECT SET(PURCHASED_ITEM) AS ITEMS FROM PURCHASES GROUP BY TRANSACTION_ID ) WHERE SUPPORT(r) > 0.1 AND CONFIDENCE(r) > 0.3 AND HEAD(r) CONTAINS TO_SET( masło ); 4.2. Relacje zachodzące między wynikami zapytań eksploracyjnych W [5] określono trzy rodzaje relacji, jakie zachodzą między dwoma zapytaniami eksploracyjnymi Q 1 i Q 2 odkrywającymi wzorce w tej samej bazie danych. Są to równoważność, zawieranie się oraz dominacja. Dwa zapytania eksploracyjne są równoważne, jeśli dla każdego zbioru danych zwracają ten sam zbiór odkrytych wzorców i dla każdej pary wzorców wartości współczynników statystycznych (np. wsparcia i ufności) są identyczne. Zapytanie eksploracyjne Q 2 zawiera zapytanie Q 1 jeżeli dla każdego zbioru danych każdy wzorzec odkryty przez zapytanie Q 1 jest też odkryty przez Q 2 i wartości współczynników statystycznych są identyczne w obu przypadkach. Zapytanie eksploracyjne Q 2 dominuje zapytanie Q 1 jeżeli dla każdego zbioru danych każdy wzorzec odkryty przez zapytanie Q 1 jest też odkryty 7

8 przez Q 2 i wartości współczynników statystycznych wyznaczone przez Q 1 są nie mniejsze niż wartości współczynników wyznaczone przez Q 1. Równoważność zapytań eksploracyjnych jest więc szczególnym przypadkiem relacji zawierania, zaś relacja zawierania jest szczególnym przypadkiem relacji dominacji. Relacje te zachodzą między wynikami zapytań i mogą być wykorzystane do zidentyfikowania sytuacji, w których można efektywnie udzielić odpowiedzi na zapytanie eksploracyjne Q 1 wykorzystując wynik innego zapytania Q 2. Relacje te mają charakter ogólny i można je zastosować do wielu typów wzorców (zbiorów częstych, reguł asocjacyjnych) oraz wielu modeli ograniczeń. Jeżeli dla danego zapytania eksploracyjnego Q 1 istnieją zmaterializowane wyniki równoważnego mu zapytania Q 2, wówczas żadne przetwarzanie nie jest konieczne (ponieważ zapytania mają ten sam wynik). Jeśli dostępne są wyniki zapytania Q 2 zawierającego oryginalne zapytanie, konieczny jest jeden pełny odczyt zmaterializowanych wyników i odrzucenie wzorców nie spełniających ograniczeń nałożonych na Q 1. Jeśli dostępne są wyniki zapytania Q 2 dominującego oryginalne zapytanie, konieczny jest jeden pełny odczyt bazy danych i określenie statystycznych współczynników wzorców zmaterializowanych w Q 2. Dodatkowo trzeba z Q 2 odfiltrować te wzorce, które nie spełniają ograniczeń nałożonych na Q Perspektywy eksploracyjne Tradycyjne użycie perspektyw ma na celu przede wszystkim ukrycie przed użytkownikiem skomplikowanych konstrukcji zapytań i uproszczenie dostępu do często odczytywanych danych. Dodatkowo perspektywa zapewnia uniezależnienie aplikacji od bieżącej struktury bazy danych. Wszelkie zmiany zachodzące w bazie danych muszą zostać uwzględnione tylko w definicji perspektywy. Każdy odczyt danych z perspektywy powoduje ponowne wykonanie zapytania definiującego tę perspektywę. Ponieważ eksploracja danych jest czynnością iteracyjną i powtarzalną, zaś zapytania eksploracyjne mogą być skomplikowane, w [14] wprowadzono pojęcie perspektyw eksploracyjnych. Poniżej przedstawiono polecenie tworzące perspektywę eksploracyjną V_ASSOC_RULES. CREATE VIEW V_ASSOC_RULES AS MINE RULE, BODY(RULE), SUPPORT(RULE) FOR ITEMS FROM ( SELECT SET(PURCHASED_ITEM) AS ITEMS FROM PURCHASES WHERE TRANS_DATE BETWEEN AND GROUP BY TRANSACTION_ID HAVING COUNT(*) >= 3) WHERE SUPPORT(RULE) > 0.2 AND HEAD(RULE) CONTAINS TO_SET( chleb );

9 W powyższej definicji można wyróżnić dwie klasy ograniczeń: ograniczenia bazodanowe (klauzula WHERE w zapytaniu SELECT) oraz ograniczenia eksploracyjne (klauzula WHERE w zapytaniu MINE). Ograniczenia bazodanowe definiują zbiór danych, w którym następuje odkrywanie wzorców. Ograniczenia eksploracyjne definiują warunki, jakie muszą spełnić odkrywane wzorce. Dzięki zastosowaniu perspektyw eksploracyjnych aplikacje nie muszą być ściśle powiązane z algorytmem odkrywania wzorców. Zmiany parametrów algorytmu lub zmiany zbioru, w którym odbywa się eksploracja, mogą być wprowadzane do definicji perspektywy, separując tym samym aplikację od szczegółów implementacji algorytmu. Podobnie jak w przypadku tradycyjnych perspektyw, każde odwołanie do perspektywy eksploracyjnej powoduje wykonanie odpowiedniego zapytania, czyli wykonanie algorytmu odkrywania wzorców. Ponieważ algorytmy odkrywania wzorców są bardzo czasochłonne, wykonanie zapytania do perspektywy eksploracyjnej mogłoby trwać zbyt długo z punktu widzenia interaktywnego procesu odkrywania wiedzy. Rozwiązaniem tego problemu jest materializacja wyników uzyskanych we wcześniejszych zapytaniach eksploracyjnych. Pomysł materializowanych perspektyw eksploracyjnych został po raz pierwszy sformułowany w [14]. Materializowana perspektywa eksploracyjna to obiekt w bazie danych, który przechowuje wzorce (zbiory częste, reguły asocjacyjne, wzorce sekwencyjne) odkryte podczas wykonywania zapytania eksploracyjnego. Wzorce przechowywane w takiej perspektywie mają związany z sobą znacznik czasowy, określający moment ich odkrycia (i ważności). Z każdą perspektywą materializowaną może też być związany przedział czasowy, po którym następuje automatyczne odświeżenie zawartości perspektywy. Poniżej przedstawiono polecenie tworzące perspektywę materializowaną MV_ASSOC_RULES. CREATE MATERIALIZED VIEW MV_ASSOC_RULES REFRESH 7 AS MINE RULE, SUPPORT(RULE), CONFIDENCE(RULE) FOR ITEMS FROM ( SELECT SET(PURCHASED_ITEM) AS ITEMS FROM PURCHASES WHERE ITEM_GROUP = nabiał GROUP BY TRANSACTION_ID ) WHERE SUPPORT(RULE) > 0.3 AND CONFIDENCE(RULE) > 0.5; Odświeżanie perspektywy materializowanej może odbywać się automatycznie lub na żądanie użytkownika. W większości przypadków perspektywy takie można odświeżać za pomocą jednego z efektywnych algorytmów odświeżania przyrostowego [6,7,17], zamiast wykonywać kosztowny algorytm od podstaw. Na korzyść perspektyw materializowanych przemawia dodatkowo fakt, że eksploracja odbywa się najczęściej w środowisku magazynu danych, w którym zmiany w relacjach bazowych nie mają ciągłego charakteru, lecz następują wszystkie w 9

10 jednym momencie, podczas ładowania lub odświeżania zawartości magazynu. Tak więc reguły odkryte i przechowywane w perspektywie materializowanej przez długi czas pozostają poprawne, zaś ich weryfikacja powinna się odbyć podczas odświeżania całego magazynu. 5. Optymalizacja zapytań eksploracyjnych za pomocą perspektyw materializowanych Zbiory częste i reguły asocjacyjne W wielu przypadkach zawartość perspektywy materializowanej może posłużyć do odpowiedzi na zapytanie eksploracyjne, które jest podobne do zapytania definiującego perspektywę. Jeśli np. zapytanie definiujące perspektywę Q v dominuje lub zawiera dane zapytanie eksploracyjne Q, to w celu udzielenia odpowiedzi na zapytanie Q wystarczy odczytać zawartość perspektywy i odfiltrować te wzorce, które nie spełniają warunków sformułowanych w Q. W celu wykorzystania perspektyw materializowanych do optymalizacji zapytań eksploracyjnych trzeba jednak najpierw określić warunki, jakie muszą być spełnione, aby można było udzielić poprawnej odpowiedzi na zapytanie Q przy użyciu zawartości perspektywy. W tym celu należy najpierw zdefiniować relacje, jakie mogą wystąpić między dwoma zapytaniami eksploracyjnymi. Zapytanie Q rozszerza ograniczenia bazodanowe zapytania Q v jeżeli: o dodaje do ograniczeń bazodanowych zapytania Q v dodatkowe klauzule WHERE lub HAVING o dodaje koniunkcję nowego warunku do warunków bazodanowych w klauzulach WHERE lub HAVING o usuwa warunek z alternatywy warunków bazodanowych w klauzulach WHERE lub HAVING Zapytanie Q redukuje ograniczenia bazodanowe zapytania Q v jeżeli: o usuwa z ograniczeń bazodanowych zapytania Q v klauzule WHERE lub HAVING o usuwa warunek z koniunkcji warunków bazodanowych w klauzulach WHERE lub HAVING o dodaje alternatywę nowego warunku do warunków bazodanowych w klauzulach WHERE lub HAVING Zapytanie Q rozszerza ograniczenia eksploracyjne zapytania Q v jeżeli: o dodaje do ograniczeń eksploracyjnych zapytania Q v dodatkowe klauzule WHERE lub HAVING o dodaje koniunkcję nowego warunku do warunków eksploracyjnych w klauzulach WHERE lub HAVING o usuwa warunek z alternatywy warunków eksploracyjnych w klauzulach WHERE lub HAVING o zastępuje ograniczenie eksploracyjne występujące w Q v ograniczeniem bardziej restryktywnym (np. wyższy próg

11 minimalnego wsparcia) Zapytanie Q redukuje ograniczenia eksploracyjne zapytania Q v jeżeli: o redukuje ograniczenia eksploracyjne zapytania Q v o klauzule WHERE lub HAVING o usuwa warunek z koniunkcji warunków eksploracyjnych w klauzulach WHERE lub HAVING o dodaje alternatywę nowego warunku do warunków eksploracyjnych w klauzulach WHERE lub HAVING o zastępuje ograniczenie eksploracyjne występujące w Q v ograniczeniem mniej restryktywnym (np. niższy próg minimalnego wsparcia) Rozszerzenie ograniczeń bazodanowych oznacza zawężenie zbioru danych, w którym ma przebiegać eksploracja. Redukcja ograniczeń bazodanowych oznacza rozszerzenie eksplorowanego zbioru. Rozszerzenie ograniczeń eksploracyjnych oznacza zawężenie zbioru wzorców zaś redukcja ograniczeń eksploracyjnych oznacza rozszerzenie wynikowego zbioru wzorców. W zależności od okoliczności można wykorzystać jeden z czterech sposobów eksploracji. Pełna eksploracja (ang. full mining) polega na wykonaniu całego algorytmu odkrywania wzorców, bez wykorzystania zawartości perspektywy. Ta sytuacja następuje wówczas, gdy dane zapytanie Q rozszerza ograniczenia bazodanowe zapytania definiującego perspektywę Q v. Eksploracja przyrostowa (ang. incremental mining) polega na wykonaniu któregoś z algorytmów przyrostowego odkrywania wzorców (np. [6]) w rozszerzonym zbiorze danych. Tę metodę można zastosować w przypadku redukcji ograniczeń bazowych względem zapytania Q v. Eksploracja uzupełniająca (ang. complementary mining) polega na odkrywaniu wzorców na podstawie wcześniej znalezionych wzorców. Eksploracja uzupełniająca znajduje zastosowanie w przypadku, gdy zapytanie Q redukuje ograniczenia eksploracyjne zawarte w perspektywie (wszystkie wzorce zawarte w perspektywie znajdują się również w odpowiedzi na zapytanie Q). Wreszcie eksploracja weryfikująca (ang. verifying mining) polega na odfiltrowaniu tych wzorców przechowywanych w perspektywie, które nie spełniają rozszerzonych ograniczeń eksploracyjnych. Poniżej zamieszczono przykład ilustrujący zastosowanie zawartości materializowanej perspektywy eksploracyjnej do udzielenia odpowiedzi na zapytanie eksploracyjne. Dana jest następująca definicja perspektywy Q v : MINE ITEMSET, SUPPORT(ITEMSET) FOR ITEMS FROM ( SELECT SET(PURCHASED_ITEM) AS ITEMS FROM PURCHASES GROUP BY TRANSACTION_ID HAVING COUNT(*) > 5 ) WHERE SUPPORT(ITEMSET) > 0.3; 11

12 oraz następujące zapytanie Q: MINE ITEMSET FOR ITEMS FROM ( SELECT SET(PURCHASED_ITEM) AS ITEMS FROM PURCHASES GROUP BY TRANSACTION_ID ) WHERE SUPPORT(ITEMSET) > 0.5 AND ITEMSET CONTAINS TO_SET( mleko, masło ); Zapytanie Q rozszerza ograniczenia eksploracyjne Q v (większa wartość współczynnika minimalnego wsparcia oraz dodatkowa klauzula z ograniczeniami eksploracyjnymi) i jednocześnie redukuje ograniczenia bazodanowe Q v (usunięta klauzula HAVING z ograniczeń bazodanowych Q v, zatem wykonywana jest eksploracja weryfikująca (odrzucenie zbiorów częstych o wsparciu niższym niż 0.5 i nie zawierających zbioru {'mleko','masło'}), a następnie eksploracja przyrostowa, wyszukująca zbiory częste w transakcjach składających się z mniej niż 5 elementów Wzorce sekwencyjne Podobnie jak w przypadku odkrywania zbiorów częstych lub reguł asocjacyjnych, materializacja wyników wcześniejszych zapytań może wydatnie przyspieszyć odkrywanie wzorców sekwencyjnych. W celu wykorzystania zawartości perspektywy materializowanej do odpowiedzi na zapytanie o wzorce sekwencyjne Q należy najpierw określić rodzaj relacji pomiędzy oboma zapytaniami (zapytaniem eksploracyjnym i zapytaniem definiującym perspektywę). Relacja ta jest uzależniona od związków między poszczególnymi klasami ograniczeń zawartymi w obu zapytaniach. W podstawowym ujęciu problem odkrywania wzorców sekwencyjnych jest zdefiniowany za pomocą trzech klas ograniczeń: o ograniczenia bazodanowe: wykorzystywane do zawężenia eksplorowanej bazy danych do interesującego podzbioru o ograniczenia eksploracyjne: parametry algorytmu odkrywania wzorców sekwencyjnych, aktualnie stosuje się tylko współczynniki minimalnego wsparcia poszukiwanych wzorców (ang. minsup) o ograniczenia czasowe: wykorzystywane do określania rozmiaru okna przetwarzania sekwencji, aktualnie stosuje się współczynniki minimalnej i maksymalnej odległości między elementami oraz szerokości okna (ang. min-gap, max-gap, window-width) Dla dwóch zapytań eksploracyjnych Q 1 i Q 2 można określić następujące wzajemne relacje w odniesieniu do wyżej wymienionych ograniczeń: o zapytanie Q 2 rozszerza ograniczenia eksploracyjne zapytania Q 1 jeżeli ograniczenia eksploracyjne Q 1 mogą być uzyskane poprzez dodanie do

13 ograniczeń eksploracyjnych obecnych w Q 2 nowych predykatów elementarnych, lub przez zastąpienie predykatów Q 2 przez silniejsze (bardziej restrykcyjne) predykaty. o zapytanie Q 2 rozszerza ograniczenia czasowe zapytania Q 1 jeżeli zaostrza któryś z współczynników min-gap, max-gap lub window-width, jednocześnie nie łagodząc innych współczynników. Powyższe uwagi dotyczą składni zapytań eksploracyjnych. Wpływ różnic składniowych na występowanie jednej z ogólnych relacji między zapytaniami (równoważność, dominacja i zawieranie) został zbadany w [20]. Wykazano tam, że w przypadku zapytań eksploracyjnych dotyczących wzorców sekwencyjnych zachodzą następujące zależności: o Niech zapytania Q 1 i Q 2 operują na tym samym zbiorze danych (czyli posiadają te same ograniczenia bazodanowe) i posiadają te same ograniczenia czasowe. Jeżeli Q 2 rozszerza ograniczenia eksploracyjne Q 1, wówczas Q 1 zawiera Q 2. o Niech zapytania Q 1 i Q 2 operują na tym samym zbiorze danych i posiadają te same ograniczenia eksploracyjne. Jeżeli Q 2 rozszerza ograniczenia czasowe Q 1, wówczas Q 1 dominuje Q 2. o Niech zapytania Q 1 i Q 2 operują na tym samym zbiorze danych. Jeśli Q 2 rozszerza ograniczenia eksploracyjne i czasowe Q 1, wówczas Q 1 dominuje Q 2. Te zależności stanowią podstawę algorytmów wykorzystujących zmaterializowane wyniki wcześniejszych eksploracji do udzielenia odpowiedzi na dane zapytanie. Poniżej przedstawiono krótki opis możliwości wykorzystania poszczególnych technik eksploracji z wykorzystaniem perspektyw materializowanych. Pełny opis tych algorytmów i analiza kosztów ich wykonania znajduje się w [20]. We wszystkich przykładach Q oznacza zapytanie eksploracyjne odkrywające wzorce sekwencyjne, zaś Q v oznacza zapytanie stanowiące definicję perspektywy materializowanej MV. Jeżeli Q i Q v operują na tym samym zbiorze danych (ograniczenia bazodanowe są takie same) i posiadają te same ograniczenia czasowe i eksploracyjne, to między zapytaniami zachodzi równoważność. Wyniki obu zapytań są identyczne i żadne dodatkowe przetwarzanie nie jest konieczne, cały wynik znajduje się w perspektywie materializowanej MV. Jeżeli Q i Q v operują na tym samym zbiorze danych i mają te same ograniczenia czasowe, zaś Q rozszerza ograniczenia eksploracyjne Q v, wówczas można udzielić odpowiedzi przez odrzucenie z perspektywy tych wzorców, które nie spełniają ograniczeń Q (Q v zawiera Q). Algorytm dokonuje pojedynczego odczytu całej zawartości perspektywy materializowanej MV i dla każdego wzorca sprawdza, czy wzorzec ten spełnia dodatkowe ograniczenia eksploracyjne nałożone przez Q. Jeżeli Q i Q v operują na tym samym zbiorze danych i mają te same ograniczenia eksploracyjne, zaś Q rozszerza ograniczenia czasowe Q v, wówczas można udzielić odpowiedzi poprzez sprawdzenie wsparcia wzorców przechowywanych w perspektywie z użyciem ograniczeń czasowych Q (zgodnie z definicją Q v dominuje Q). Oczywiście w odpowiedzi znajdą się tylko te wzorce z perspektywy MV, które 13

14 posiadają odpowiednio wysoką wartość współczynnika wsparcia. Jeżeli Q i Q v operują na tym samym zbiorze danych i Q rozszerza zarówno ograniczenia eksploracyjne jak i czasowe Q v (czyli Q v dominuje Q), wówczas można udzielić odpowiedzi poprzez sprawdzenie wsparcia wzorców przechowywanych w perspektywie MV z użyciem ograniczeń czasowych Q i uwzględnieniem ograniczeń eksploracyjnych Q. Algorytm w pierwszym kroku odczytuje zawartość perspektywy MV i usuwa z niej wszystkie wzorce nie spełniające ograniczeń eksploracyjnych Q. Następnie podczas pełnego odczytu zbioru danych źródłowych określana jest wartość wsparcia pozostałych wzorców przy użyciu ograniczeń czasowych Q. W ostatnim kroku algorytm usuwa raz jeszcze te wzorce, których wartość wsparcia jest niższa niż ograniczenie eksploracyjne Q. Powyższe metody umożliwiają udzielenie odpowiedzi na zapytanie eksploracyjne dotyczące odkrywania wzorców sekwencyjnych bez konieczności wykonywania kosztownego algorytmu. Wykorzystują one wzorce odkryte w poprzednich sesjach i zmaterializowane w postaci perspektyw. Jak pokazują wyniki eksperymentów, czas odpowiedzi z wykorzystaniem wyników wcześniejszych jest wielokrotnie krótszy niż czas wykonania pełnego algorytmu odkrywania wzorców. 6. Podsumowanie W niniejszym artykule przedstawiono aktualny stan wiedzy dotyczący optymalizacji zapytań eksploracyjnych przy użyciu perspektyw materializowanych. Przeanalizowano możliwości wykorzystania rezultatów wcześniejszych eksploracji do odkrywania zarówno zbiorów częstych, jak i reguł asocjacyjnych i wzorców sekwencyjnych. W tej nowej i fascynującej dziedzinie pozostaje wciąż bardzo wiele otwartych kwestii. Większość przedstawionych algorytmów zakłada, że eksploracja odbywa się na tym samym zbiorze danych, z którego została wyprowadzona perspektywa. Dodatkowo zakłada się, że kształt analizowanych transakcji pozostaje stały. Nierozstrzygnięte pozostają pytania o efektywne metody pielęgnacji materializowanych perspektyw eksploracyjnych. Brakuje wreszcie modeli kosztów dla zapytań eksploracyjnych. Najbliższa praca autorów skupiać się będzie na rozszerzeniu zakresu stosowalności opisanych metod do zapytań, które różnią się od perspektywy schematem eksplorowanej bazy danych oraz na konstruowaniu modelu kosztów wykonania zapytań eksploracyjnych. Taki model jest konieczny do osiągnięcia ambitnego celu zbudowania optymalizatora szerokiej klasy zapytań eksploracyjnych. 7. Literatura Agrawal, R., Imielinski, T., Swami, A., Mining association rules between sets of items in large databases. In Proc. of the ACM SIGMOD International Conference on Management of Data, Washington, USA, May 1993

15 2. Agrawal, R., Srikant, R., Fast Algorithms for Mining Association Rules. In Proc. of the 20th International Conference on Very Large Data Bases (VLDB'94), Santiago, Chile, Agrawal, R., Srikant, R., Mining Sequential Patterns. In Proc. of the 11th International Conference on Data Engineering (IDCDE'95), Taipei, Taiwan, March Agrawal, R., Srikant, R., Mining Sequential Patterns: Generalizations and Performance Improvements. In Proc. of the 5th International Conference on Extending Database Technology (EDBT'96), Avignon, France, September Baralis, E., Psaila, G., Incremental refinement of mining queries. In Proc. of the 1st International Conference on Data Warehousing and Knowledge Discovery (DaWaK'99), Florence, Italy, September Cheung, D.W., Han, J., Ng, V., Wong, C.Y., Maintenance of discovered association rules in large databases: An incremental updating technique. In Proc. of the 12th International Conference on Data Engineering (ICDE'96), New Orleans, USA, February Cheung, D. W., Lee, S. D. and Kao, B., A General Incremental Technique for Maintaining Discovered Association Rules In Proc. of the 5th International Conference on Database Systems for Advanced Applications (DASFAA'97), Melbourne, Australia, April Gupta, A., Mumick, I.S., Maintenance of Materialized Views: Problems, Techniques, and Applications. IEEE Data Engineering Bulletin, Special Issue on Materilaized Views and Data Warehousing, 18(2), June Gupta, A., Mumick, I.S., Materialized Views: Techniques, Implementations, and Applications, The MIT Press, Han, J., Pei, J., Mortazavi-Asl, B., Chen, Q., Dayal, U., Hsu, M.-C., FreeSpan: frequent pattern-projected sequential pattern mining. In Proc. of the 6th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD'2000), Boston, USA, August Han, J., Pei, J., Mortazavi-Asl, B., Pinto, H., Chen, Q., Dayal, U., Hsu, M.- C., Prefixspan: Mining sequential patterns efficiently by prefix-projected pattern growth. In Proc. of the 17th International Conference on Data Engineering (ICDE'01), Heidelberg, Germany, April Imielinski, T., Mannila, H., A Database Perspective on Knowledge Discovery. Communications of the ACM, Vol.39, No.11, Morzy, T., Wojciechowski, M., Zakrzewicz, M., Data Mining Query Optimization Using Materialized Views 14. Morzy, T., Zakrzewicz, M., SQL-like Language for Database Mining. In Proc. of the 1st East European Symposium on Advances in Databases and Information Systems (ADBIS'97), St-Petersburg, Russia, September Nag, B., Deshpande, P., DeWitt, D.J., Using a Knowledge Cache for Interactive Discovery of Association Rules. In Proc. of the 5th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD'99), San Diego, USA, August

16 16. Parthasarathy, S., Zaki, M.J., Ogihara, M., Dwarkadas, S., Incremental and interactive sequence mining. In Proc. of the ACM International Conference on Information and Knowedge Management (CIKM'99), November Thomas, S., Bodagala, S., Alsabti, K., Ranka, S., An Ecient Algorithm for the Incremental Updation of Association Rules in Large Databases. In Proc. of the 3rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD'97), Newport Beach, USA, August Toivonen, H., Sampling large databases for association rules. In Proc. of the 22th International Conference on Very Large Data Bases (VLDB'96), Bombay, India, September Wojciechowski, M., Zakrzewicz, M., Itemset Materializing for Fast Mining of Association Rules. In Proc. of the 2nd East European Conference on Advances in Databases and Information Systems (ADBIS'98), Poznań, Poland, September Wojciechowski, M., Interactive Constraint-Based Sequential Pattern Mining. In Proc. of the 5th East European Conference on Advances in Databases and Information Systems (ADBIS'01), Vilnius, Lithuania, September 2001 Mgr inż. Mikołaj MORZY Instytut Informatyki Politechniki Poznańskiej ul. Piotrowo 3A tel.: (0-61) Dr inż. Marek WOJCIECHOWSKI Instytut Informatyki Politechniki Poznańskiej ul. Piotrowo 3A tel.: (0-61)

Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej

Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej Jerzy Brzeziński, Mikołaj Morzy, Tadeusz Morzy, Łukasz Rutkowski RB-006/02 1. Wstęp 1.1. Rozwój

Bardziej szczegółowo

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH 1. Czym jest eksploracja danych Eksploracja danych definiowana jest jako zbiór technik odkrywania nietrywialnych zależności i schematów w dużych

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING EKSPLORACJA DANYCH Ćwiczenia Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

Metody eksploracji danych. Reguły asocjacyjne

Metody eksploracji danych. Reguły asocjacyjne Metody eksploracji danych Reguły asocjacyjne Analiza podobieństw i koszyka sklepowego Analiza podobieństw jest badaniem atrybutów lub cech, które są powiązane ze sobą. Metody analizy podobieństw, znane

Bardziej szczegółowo

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu Data Mining Wykład 3 Algorytmy odkrywania binarnych reguł asocjacyjnych Plan wykładu Algorytm Apriori Funkcja apriori_gen(ck) Generacja zbiorów kandydujących Generacja reguł Efektywności działania Własności

Bardziej szczegółowo

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na Techniki indeksowania w eksploracji danych Maciej Zakrzewicz Instytut Informatyki Politechnika Poznańska Plan prezentacji Zastosowania indeksów w systemach baz danych Wprowadzenie do metod eksploracji

Bardziej szczegółowo

Ewelina Dziura Krzysztof Maryański

Ewelina Dziura Krzysztof Maryański Ewelina Dziura Krzysztof Maryański 1. Wstęp - eksploracja danych 2. Proces Eksploracji danych 3. Reguły asocjacyjne budowa, zastosowanie, pozyskiwanie 4. Algorytm Apriori i jego modyfikacje 5. Przykład

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

Ćwiczenie 5. Metody eksploracji danych

Ćwiczenie 5. Metody eksploracji danych Ćwiczenie 5. Metody eksploracji danych Reguły asocjacyjne (association rules) Badaniem atrybutów lub cech, które są powiązane ze sobą, zajmuje się analiza podobieństw (ang. affinity analysis). Metody analizy

Bardziej szczegółowo

Materializowane perspektywy eksploracyjne w praktyce: Wnioski z implementacji w Oracle 11g

Materializowane perspektywy eksploracyjne w praktyce: Wnioski z implementacji w Oracle 11g XVI Konferencja PLOUG Kościelisko Październik 2010 Materializowane perspektywy eksploracyjne w praktyce: Wnioski z implementacji w Oracle 11g Damian Mierzwiński, Marek Wojciechowski Politechnika Poznańska

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

Inżynieria biomedyczna

Inżynieria biomedyczna Inżynieria biomedyczna Projekt Przygotowanie i realizacja kierunku inżynieria biomedyczna studia międzywydziałowe współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.

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

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2 Data Mining Wykład 2 Odkrywanie asocjacji Plan wykładu Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych Geneza problemu Geneza problemu odkrywania reguł

Bardziej szczegółowo

Eksploracja danych: problemy i rozwiązania

Eksploracja danych: problemy i rozwiązania V Konferencja PLOUG Zakopane Październik 1999 Eksploracja danych: problemy i rozwiązania Tadeusz Morzy morzy@put.poznan.pl Instytut Informatyki Politechnika Poznańska Streszczenie Artykuł zawiera krótką

Bardziej szczegółowo

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną

Bardziej szczegółowo

Klasyfikacja materiałów dźwiękowych w oparciu o algorytm zbiorów domkniętych

Klasyfikacja materiałów dźwiękowych w oparciu o algorytm zbiorów domkniętych Klasyfikacja materiałów dźwiękowych w oparciu o algorytm zbiorów domkniętych Grzegorz Szulik Instytut Matematyki UJ PLAN REFERATU 1. Co to jest dźwięk? 2. Początki analizy i syntezy dźwięków 3. Koszyk

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

Systemy Wspomagania Decyzji

Systemy Wspomagania Decyzji Reguły Asocjacyjne Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności March 18, 2014 1 Wprowadzenie 2 Definicja 3 Szukanie reguł asocjacyjnych 4 Przykłady użycia 5 Podsumowanie Problem Lista

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

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

Kostki OLAP i język MDX

Kostki OLAP i język MDX Kostki OLAP i język MDX 24 kwietnia 2015 r. 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 różne rodzaje zadań,

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

Optymalizacja poleceń SQL Metody dostępu do danych

Optymalizacja poleceń SQL Metody dostępu do danych Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,

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

Zalew danych skąd się biorą dane? są generowane przez banki, ubezpieczalnie, sieci handlowe, dane eksperymentalne, Web, tekst, e_handel

Zalew danych skąd się biorą dane? są generowane przez banki, ubezpieczalnie, sieci handlowe, dane eksperymentalne, Web, tekst, e_handel według przewidywań internetowego magazynu ZDNET News z 8 lutego 2001 roku eksploracja danych (ang. data mining ) będzie jednym z najbardziej rewolucyjnych osiągnięć następnej dekady. Rzeczywiście MIT Technology

Bardziej szczegółowo

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych. mgr inż. Magdalena Deckert Poznań, 30.11.2010r. Metody przyrostowego uczenia się ze strumieni danych. Plan prezentacji Wstęp Concept drift i typy zmian Algorytmy przyrostowego uczenia się ze strumieni

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów

LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów Łukasz Piątek, Jerzy W. Grzymała-Busse Katedra Systemów Ekspertowych i Sztucznej Inteligencji, Wydział Informatyki

Bardziej szczegółowo

1. Odkrywanie asocjacji

1. Odkrywanie asocjacji 1. 2. Odkrywanie asocjacji...1 Algorytmy...1 1. A priori...1 2. Algorytm FP-Growth...2 3. Wykorzystanie narzędzi Oracle Data Miner i Rapid Miner do odkrywania reguł asocjacyjnych...2 3.1. Odkrywanie reguł

Bardziej szczegółowo

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek Algorytm DIC Dynamic Itemset Counting Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek Spis treści 1 2 3 4 Algorytm DIC jako rozszerzenie apriori DIC Algorytm znajdowania reguł asocjacyjnych

Bardziej szczegółowo

dmq 1 =(R 1,a 2, 5 a 1 < 20,, 3%), dmq 2 =(R 1,a 2, 0 a 1 < 15,, 5%),

dmq 1 =(R 1,a 2, 5 a 1 < 20,, 3%), dmq 2 =(R 1,a 2, 0 a 1 < 15,, 5%), Integracja drzew kandydatów w przetwarzaniu zbiorów zapyta eksploracyjnych algorytmem Apriori Przemys aw Grudzi ski 1, Marek Wojciechowski 2 Streszczenie: Artyku po wi cony jest problematyce przetwarzania

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

Reguły asocjacyjne w programie RapidMiner Michał Bereta

Reguły asocjacyjne w programie RapidMiner Michał Bereta Reguły asocjacyjne w programie RapidMiner Michał Bereta www.michalbereta.pl 1. Wstęp Reguły asocjacyjne mają na celu odkrycie związków współwystępowania pomiędzy atrybutami. Stosuje się je często do danych

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze

Bardziej szczegółowo

Procedury i funkcje składowane

Procedury i funkcje składowane Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe

Bardziej szczegółowo

Odkrywanie asocjacji

Odkrywanie asocjacji Odkrywanie asocjacji Cel odkrywania asocjacji Znalezienie interesujących zależności lub korelacji, tzw. asocjacji Analiza dużych zbiorów danych Wynik procesu: zbiór reguł asocjacyjnych Witold Andrzejewski,

Bardziej szczegółowo

Laboratorium 3. Odkrywanie reguł asocjacyjnych.

Laboratorium 3. Odkrywanie reguł asocjacyjnych. Laboratorium 3 Odkrywanie reguł asocjacyjnych. 1. Uruchom narzędzie Oracle Data Miner i połącz się z serwerem bazy danych. 2. Z menu głównego wybierz Tools SQL Worksheet. W górnym oknie wprowadź i wykonaj

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

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

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Odkrywanie wzorców sekwencji

Odkrywanie wzorców sekwencji Odkrywanie wzorców sekwencji Prefix Span Odkrywanie wzorców sekwencji z ograniczeniami Uogólnione wzorce sekwencji Eksploracja wzorców sekwencji wykład 2 Kontynuujemy nasze rozważania dotyczące odkrywania

Bardziej szczegółowo

Odkrywanie wzorców sekwencji

Odkrywanie wzorców sekwencji Odkrywanie wzorców sekwencji Sformułowanie problemu Algorytm GSP Eksploracja wzorców sekwencji wykład 1 Na wykładzie zapoznamy się z problemem odkrywania wzorców sekwencji. Rozpoczniemy od wprowadzenia

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium BAZY DANYCH Databases Forma studiów: Stacjonarne

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2) Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.

Bardziej szczegółowo

A C T A UNIVERSITATIS LODZIENSIS FOLIA OECONOMICA 183,2004. Sebastian Szamański, Ryszard Budziński

A C T A UNIVERSITATIS LODZIENSIS FOLIA OECONOMICA 183,2004. Sebastian Szamański, Ryszard Budziński A C T A UNIVERSITATIS LODZIENSIS FOLIA OECONOMICA 183,2004 Sebastian Szamański, Ryszard Budziński METODY EKSPLORACJI REGUŁ ASOCJACYJNYCH I ICH ZASTOSOWANIE Wprowadzenie Ogromny postęp technologiczny ostatnich

Bardziej szczegółowo

ODKRYWANIE WZORCÓW ZACHOWAŃ UŻYTKOWNIKÓW WWW. Marek Wojciechowski

ODKRYWANIE WZORCÓW ZACHOWAŃ UŻYTKOWNIKÓW WWW. Marek Wojciechowski ODKRYWANIE WZORCÓW ZACHOWAŃ UŻYTKOWNIKÓW WWW Marek Wojciechowski Instytut Informatyki Politechnika Poznańska ul. Piotrowo 3a, 60-965 Poznań Marek.Wojciechowski@cs.put.poznan.pl Streszczenie Niniejszy artykuł

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT 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

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Optymalizacja poleceń SQL Wprowadzenie

Optymalizacja poleceń SQL Wprowadzenie Optymalizacja poleceń SQL Wprowadzenie 1 Fazy przetwarzania polecenia SQL 2 Faza parsingu (1) Krok 1. Test składniowy weryfikacja poprawności składniowej polecenia SQL. Krok 2. Test semantyczny m.in. weryfikacja

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

Projekt 4: Programowanie w logice

Projekt 4: Programowanie w logice Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu

Bardziej szczegółowo

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności

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

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów 5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów 1. W chwili obecnej formularz Edycja prowadzących utworzony w poprzednim zestawie ćwiczeń służy tylko i wyłącznie do edycji

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

Strumieniowe bazy danych

Strumieniowe bazy danych Strumieniowe bazy danych STREAM: The Stanford Data Stream Management System Michał Stochmiałek Michał Stochmiałek Strumieniowe bazy danych 1/23 Plan prezentacji Wprowadzenie Problem

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

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

PARTYCJONOWANIE GRAFÓW A OPTYMALIZACJA WYKONANIA ZBIORU ZAPYTAŃ EKSPLORACYJNYCH

PARTYCJONOWANIE GRAFÓW A OPTYMALIZACJA WYKONANIA ZBIORU ZAPYTAŃ EKSPLORACYJNYCH PARTYCJONOWANIE GRAFÓW A OPTYMALIZACJA WYKONANIA ZBIORU ZAPYTAŃ EKSPLORACYJNYCH Marek Wojciechowski, Maciej Zakrzewicz Politechnika Poznańska, Wydział Informatyki i Zarządzania {marek, mzakrz}@cs.put.poznan.pl

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Odkrywanie asocjacji

Odkrywanie asocjacji Odkrywanie asocjacji Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Odkrywanie asocjacji wykład 1 Wykład jest poświęcony wprowadzeniu i zaznajomieniu się z problemem odkrywania reguł asocjacyjnych.

Bardziej szczegółowo

EKSPLORACJA DANYCH METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza

EKSPLORACJA DANYCH METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING EKSPLORACJA DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

Tworzenie aplikacji bazodanowych

Tworzenie aplikacji bazodanowych Wydział Informatyki Politechnika Białostocka Studia stacjonarne Tworzenie aplikacji bazodanowych Prowadzący: pokój: E-mail: WWW: Małgorzata Krętowska, Agnieszka Oniśko 206 (Małgorzata Krętowska), 207 (Agnieszka

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

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

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne Architektury i technologie integracji danych Systemy Mediacyjne Multi-wyszukiwarki Wprowadzenie do Mediacyjnych Systemów Zapytań (MQS) Architektura MQS Cechy funkcjonalne MQS Cechy implementacyjne MQS

Bardziej szczegółowo

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

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

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Metody indeksowania dokumentów tekstowych

Metody indeksowania dokumentów tekstowych Metody indeksowania dokumentów tekstowych Paweł Szołtysek 21maja2009 Metody indeksowania dokumentów tekstowych 1/ 19 Metody indeksowania dokumentów tekstowych 2/ 19 Czym jest wyszukiwanie informacji? Wyszukiwanie

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

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

data mining machine learning data science

data mining machine learning data science data mining machine learning data science deep learning, AI, statistics, IoT, operations research, applied mathematics KISIM, WIMiIP, AGH 1 Machine Learning / Data mining / Data science Uczenie maszynowe

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX Aktualizowanie dokumentów XML ( Oracle ) do aktualizowania zawartości dokumentów XML służy między innymi funkcja updatexml. wynikiem jej działania jest oryginalny dokument ze zmodyfikowanym fragmentem,

Bardziej szczegółowo

Laboratorium 10. Odkrywanie cech i algorytm Non-Negative Matrix Factorization.

Laboratorium 10. Odkrywanie cech i algorytm Non-Negative Matrix Factorization. Laboratorium 10 Odkrywanie cech i algorytm Non-Negative Matrix Factorization. 1. Uruchom narzędzie Oracle Data Miner i połącz się z serwerem bazy danych. 2. Z menu głównego wybierz Activity Build. Na ekranie

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