INTEGRACJA I EKSPLORACJA DANYCH mgr inż. Anna Pankowska aniap@amu.edu.pl Anna Pankowska - I&E 1 Plan wykładu Integracja danych - Dane semistrukturalne i język XML jako standard składowania i wymiany danych - Systemy zapytań danych heterogenicznych - Magazyny danych i technologia OLAP Anna Pankowska - I&E 2
Plan wykładu Eksploracja danych - klasyfikacja - regresja - klastrowanie - odkrywanie charakterystyk - odkrywanie asocjacji - wykrywanie zmian i odchyleń - odkrywanie sekwencji - dyskryminacja Anna Pankowska - I&E 3 XML Dane semistrukturalne i język XML jako standard składowania i wymiany heterogenicznych danych
Strukturalna różnorodność danych Dane niestrukturalne - np. tekst, strony internetowe Dane strukturalne - np. relacyjne bazy danych Dane semistrukturalne -np.xml Anna Pankowska - I&E 5 Przykład Chcemy przechowywać informacje na temat filmów ich tytułu, reżysera, aktorów, daty produkcji, rodzaju, itp. Anna Pankowska - I&E 6
Przykład Jako tekst (dane niestrukturalne) Anna Pankowska - I&E 7 Przykład Jako tabela w bazie (dane strukturalne) Id_filmu 10... Tytuł Anioł w Krakowie Reżyser Włęcek Film 10 Rodzaj komedia Imie Ewa FILMY Nazwisko Kalm AKTORZY 10 Krzysztof Globisz Anna Pankowska - I&E 8
Przykład Jako dokument XML (dane semistrukturalne) <film rodzaj = komedia > Anioł Giordano za skandaliczne prowadzenie się zostaje zesłany na Ziemie... <tytuł> Anioł w Krakowie </tytuł> <aktorzy> <aktor> <imie> Ewa </imie> <nazwisko> Kalm </nazwisko></aktor> <aktor> Krzysztof Globisz </aktor> </aktorzy> <rezyser> Węcławek </rezyser> </film> Anna Pankowska - I&E 9 Dane semistrukturalne model danych semistrukturalnych osłabia ograniczenia strukturalnych baz danych dane semistrukturalne - samoopisujące się (struktura ukryta wewnątrz danych) struktura danych nie jest sztywna Anna Pankowska - I&E 10
Dane semistrukturalne ssd-wyrażenie składnia <ssd-wyrażenie> ::= <wartość> oid <wartość> oid <wartość> ::= wartość_atomowa <wartość_złożona> <wartość_złożona>::= {etykieta: <ssd-wyrażenie>,..., etykieta: <ssd-wyrażenie>} Anna Pankowska - I&E 11 Dane semistrukturalne jakossd-wyrażenie ssd-wyrażenie przykład {książka: &o1 {autor: {imie: Simon, nazwisko: North}, tytuł: XML dla każdego, cena: 60}, książka: &o2 {autor: Serge Abiteboul tytuł: Quering data rok: 1997 ref: &o1} } Anna Pankowska - I&E 12
Dane semistrukturalne - reprezentacja grafowa księgarnia książka autor tytuł cena ref Simon North XML dla każdego 60 książka autor tytuł rok Serge Abiteboul Quering data 1997 Anna Pankowska - I&E 13 Dane semistrukturalne jakodokumentxml <księgarnia> <książka id= &o1 > <autor> <imie> Simon </imie> <nazwisko> North </nazwisko> </autor> <tytuł> XML dla każdego </tytuł> <cena> 60 </cena> </książka> <książka id= &o2 > <autor> Serge Abiteboul </autor> <tytuł> Quering data </tytuł> <rok> 1997 </rok> <ref idref= &o1 /> </książka> </księgarnia> Anna Pankowska - I&E 14
XML XML - extensible Markup Language (rozszerzony język znaczników) podzbiór SGML rozwiązanie polecane przez grupę informatyczną World Wide Web Consortium (W3C) Anna Pankowska - I&E 15 XML a HTML HTML <h1> Studenci </h1> <p> <b> Agata</b>, 5 rok, <i>102548</i> </p> <p> <b> Tomasz</b>, 5 rok, <i>102742</i> </p> <p> <b> Zenon</ b>, 5 rok, <i>102661</i> </p> XML <studenci> <student><imie>agata</><rok> 5 </><indeks>102584</></> <student><imie> Tomasz</><rok> 5 </><indeks>102742</></> <student><imie> Zenon</><rok> 5 </><indeks>102584</></> </studenci> Anna Pankowska - I&E 16
XML a HTML język znaczników, podobnie jak HTML wodróżnieniu do HTML zaprojektowany do opisu zawartości, a nie prezentacji, do przechowywania danych, a nie ich wyświetlania może zawierać dowolnie zagłębione struktury i opcjonalny opis gramatyki Anna Pankowska - I&E 17 XML a dane relacyjne tabela R1 a1 a2 a b1 b2 b c c1 c2 XML <r1> <row> <a> a1 </a> <b> b1 </b> <c> c1 </c> </row> <row> <a> a2 </a> <b> b2 </b> <c> c2 </c> </row> </r1> Anna Pankowska - I&E 18
XML - zastosowania pomost między danymi strukturalnymi a niestrukturalnymi powszechny standard składowania i wymiany dużej ilości różnorodnych danych w sieci pośrednictwo w wymianie danych pomiędzy heterogenicznymi bazami danych niezależność danych od platformy programowej i sprzętowej Anna Pankowska - I&E 19 XML - podstawy składni języka element - fragment ograniczony znacznikami - znaczniki definiowane przez programistę -może zawierać tekst i/lub inne elementy <autor> Autor mieszka w Kanadzie <imie> Simon </imie> <nazwisko> North </nazwisko> </autor> <ref idref= &o1 /> - element pusty Anna Pankowska - I&E 20
XML - podstawy składni języka atrybut - para: nazwa, własność <książka id= &o1 rodzaj= naukowa > <autor> <imie> Simon </imie> <nazwisko> North </nazwisko> </autor> <tytuł> XML dla każdego </tytuł> <cena waluta= euro > 20 </cena> </książka> Anna Pankowska - I&E 21 XML - podstawy składni języka referencje <księgarnia> <książka id= o1 > <tytuł> XML dla każdego </tytuł> </książka> <książka id= o2 > <tytuł> RDBS </tytuł> </książka> <książka id= o3 > <tytuł> Quering data </tytuł> <ref idref= o1 o2 /> </książka> </księgarnia> Anna Pankowska - I&E 22
XML - podstawy składni języka komentarz <!-- komentarz --> CDATA <![CDATA[... ]]> wystąpienia (entities) < (oznacza > ) Anna Pankowska - I&E 23 Właściwa budowa danych XML Mówimy, żedanexmlmajawłaściwą budowę ( well-formed ), jeżeli: - znaczniki są zagnieżdżone w odpowiedni sposób - atrybuty są unikalne Anna Pankowska - I&E 24
Definicja typu dokumentu DTD DTD służy jakogramatyka odpowiadającego mu dokumentu XML, jest częścią języka XML może służyć jako opis schematu danych reprezentowanych przez dokument XML Anna Pankowska - I&E 25 DTD - przykład <!DOCTYPE księgarnia [ <!ELEMENT księgarnia (książka*)> <!ELEMENT książka (autor+, tytuł, cena?, rok?, ref?)> <!ATTLIST książka rodzaj #IMPLIED id ID #REQUIRED> <!ELEMENT autor (#PCDATA (imię, nazwisko))> <!ELEMENT tytuł (#PCDATA)> <!ELEMENT cena (#PCDATA)> <!ELEMENT rok (#PCDATA)> <!ELEMENT ref EMPTY> <!ATTLIST ref idref IDREFS #REQUIRED> <!ELEMENT imię (#PCDATA)> <!ELEMENT nazwisko (#PCDATA)> ]> Anna Pankowska - I&E 26
DTD c.d. wyrażenie regularne - wyr*-zerolubwięcej wystąpień - wyr+-jednolubwięcej wystąpień - wyr? zero lub jedno wystąpienie - wyr1 wyr2 - alternatywa - wyr1, wyr2 - konkatenacja Anna Pankowska - I&E 27 Prawidłowość dokumentu XML Dokument XML jest prawidłowy ( valid ), jeżeli: - posiada właściwą budowę - posiada DTD - jego budowa jest zgodna z DTD - wartości atrybutów typu ID muszą być unikalne - referencje typu IDREF lub IDREFS muszą odnosić się do istniejących identyfikatorów Anna Pankowska - I&E 28
DTD -ćwiczenie stwórz schemat DTD dla następującego dokumentu XML <bd> <osoba id= i1 plec = K > <imie> Anna </imie> <imie> Teresa </imie> <nazwisko> Kowalska </nazwisko> <data_ur> 06.09.1987 </data_ur> </osoba> <osoba id= i2 plec = M > <nazwisko> Kowalski </nazwisko> <data_ur><dzien>05</dzien><miesiac>03</miesiac><rok>1953</rok></data_ur> <dziecko idref= i1 > </osoba> </bd> Anna Pankowska - I&E 29 DTD -ćwiczenie <!DOCTYPE bd [ <!ELEMENT bd (osoba*)> <!ELEMENT osoba (imie*, nazwisko, data_ur, dziecko?)> <!ATTLIST osoba plec #IMPLIED id ID #REQUIRED> <!ELEMENT imie (#PCDATA)> <!ELEMENT nazwisko (#PCDATA)> <!ELEMENT data_ur (#PCDATA (dzien,miesiac,rok))> <!ELEMENT dziecko EMPTY> <!ATTLIST dziecko idref IDREFS #REQUIRED> <!ELEMENT dzien (#PCDATA)> <!ELEMENT miesiac (#PCDATA)> <!ELEMENT rok (#PCDATA)> ]> Anna Pankowska - I&E 30
Nawigacja po dokumencie XML XPath - wyszukiwanie i wskazywanie na fragmenty (węzły) dokumentu Xlink - hipertekstowe, zewnętrzne odsyłacze łączące wiele zasobów XPointer - rozwinięcie XPath, umożliwia wskazywanie na konkretne punkty, zakresy w dokumencie XML Anna Pankowska - I&E 31 Prezentacja dokumentu XML wprzeglądarce Internet Explorer Anna Pankowska - I&E 32
Prezentacja dokumentu XML XSL (extensible Stylesheet Language) arkusz stylu XSL jest jednym ze sposobów przekształcania dokumentu XML do HTML i prezentacji tego dokumentu Anna Pankowska - I&E 33 DOM i SAX dwa różne API dla dokumentów XML umożliwiają aplikacjom operowanie dokumentami XML SAX - czyta strumień danych, analizuje i podczas interpretacji znaczników generuje zdarzenia przesyłane z powrotem do aplikacji DOM tworzy obiektowy model dokumentu (drzewo obiektów) Anna Pankowska - I&E 34
Języki zapytań dla danych semistrukturalnych Języki zapytań wyrażenia ścieżkowe XML-QL UNQL LOREL XQL XQUERY QUILT Anna Pankowska - I&E 36
Wyrażenia ścieżkowe - przykłady księgarnia.(książka album).autor księgarnia._*.((s S)ekcja paragraf) Anna Pankowska - I&E 37 XML-QL XML-QL łączy składnię XML z technikami języków zapytań. Przy wydobywaniu danych wykorzystuje wyrażenia ścieżkowe i wzorce, posiada zmienne, do których dane są przypisywane, oraz szablony, które definiują postać w jakiej mają być prezentowane dane wyjściowe. XML-QL przyjmuje model danych semistrukturalnych, w którym dane są reprezentowane jako graf z etykietowanymi krawędziami. XML-QL jest oparty na szkielecie where/construct Anna Pankowska - I&E 38
XML-QL - przykład pytanie o wszystkie pozycje z 1997 roku, których Abiteboul był autorem lub wydawcą where <$P> <$E> Abiteboul </> <rok> 1997 </> <tytuł> $T </> </> $E in {autor, wydawca} construct <$P> <tytuł> $T </> <$E> Abiteboul </> </> Anna Pankowska - I&E 39 XML-QL - przykład Poniższe zapytanie znajduje wszystkich autorów, którzy opublikowali co najmniej dwie książki: where <book><author> $A </></> content_as $B1 in ksiegarnia.xml <book><author> $A </></> content_as $B2 in ksiegarnia.xml B1!= B2 construct <result> $A </> Anna Pankowska - I&E 40