Systemy baz danych - Instytut Informatyki Teoretycznej i Stosowanej
Transkrypt
Systemy baz danych - Instytut Informatyki Teoretycznej i Stosowanej
Systemy baz danych wykład IX dr inż. Robert Perliński Systemy baz danych - wykład XI Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML dr inż. Robert Perliński Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Natywne bazy XML Źródła Systemy baz danych - wykład IX 22 stycznia 2017 1/47 Plan wykładu Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML 1 Model semistrukturalny 2 XML 3 XPath XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML 4 Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła 5 Źródła Systemy baz danych - wykład IX 2/47 Uporządkowanie Systemy baz danych wykład IX dr inż. Robert Perliński Dane nieuporządkowane (dźwięk, obraz, filmy, tekst) dowolnego typu, formatu kolejność nie ma znaczenia brak reguł nieprzewidywalne Model semistrukturalny XML XPath Bazy danych a XML Dane uporządkowane Bazy przechowywujące XML Natywne bazy XML Źródła Systemy baz danych - wykład IX zorganizowane w encje, pogrupowane, ułożone w kolejności encje posiadają te same atrybuty atrybuty dla danego schematu mają ten sam format i rozmiar, są ułożone w jednakowym porządku 3/47 “Choroby i lekarstwo” Systemy baz danych wykład IX dr inż. Robert Perliński “Choroby” dane dotyczące tych samych obiektów z różnych źródeł złożona struktura zależności wielokrotne zagnieżdżenia encje z tej samej grupy mogą mieć różne atrybuty jakie znaczenie ma porządek atrybutów? rozbudowujące się metadane Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML “Lek” - model semistrukturalny Źródła Systemy baz danych - wykład IX 4/47 Model semistrukturalny Systemy baz danych wykład IX dr inż. Robert Perliński standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności Model semistrukturalny wielokrotne zagnieżdżenia XML zobrazowane przez grafy skierowane XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła encje z tej samej grupy mogą mieć różne atrybuty jakie znaczenie ma porządek atrybutów - nie musi mieć model samoopisujący się wielkości i typy atrybutów encji z tej samej grupy mogą się różnić Systemy baz danych - wykład IX 5/47 Przykład Systemy baz danych wykład IX dr inż. Robert Perliński osoba: Adam Adamowski email: [email protected] Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML osoba: imie: Bartosz nazwisko: Bartoszewski email: [email protected] Natywne bazy XML Źródła osoba: Cezary Cezar siedziba: Cesarzewo Systemy baz danych - wykład IX 6/47 Graf Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła Systemy baz danych - wykład IX 7/47 Cechy grafu Systemy baz danych wykład IX dr inż. Robert Perliński graf skierowany, etykietowany Model semistrukturalny XML wierzchołki to obiekty etykiety krawędzi to atrybuty obiektów XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML wartości atomowe zawarte w liściach drzewa brak ograniczeń na etykiety i liczbę następników brak porządku wychodzących krawędzi Źródła Systemy baz danych - wykład IX 8/47 Dalsze cechy modelu Systemy baz danych wykład IX dr inż. Robert Perliński wykorzystywany do wymiany i integracji danych z źródeł heterogenicznych Model semistrukturalny struktury danych nie muszą być regularne XML duże schematy, szybko rozrastające się XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła łatwość wstawiania danych łatwość wyszukiwania, bez wiedzy o typach atrybutów gubienie informacji o typach trudniejsza optymalizacja Systemy baz danych - wykład IX 9/47 Języki opisu i przechowywania danych Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny SGML XML XML XPath Bazy danych a XML Bazy przechowywujące XML YAML JSON Natywne bazy XML Źródła Systemy baz danych - wykład IX 10/47 Zapytania Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła Języki zapytań oparte na pojęciu ścieżki (np. Lorel, XQuery, XPath) Ścieżka = wyrażenie regularne opisujące drogę od korzenia do poszukiwanego wierzchołka/wierzchołków Przykłady ścieżek: biblio.ksiazka|artykul.autor biblio._*.autor Zapytanie “Wszyscy autorzy książek”: Query z1 select autor: x from biblio.ksiazka.autor x; Systemy baz danych - wykład IX SELECT extract(VALUE(k),'//autor') FROM ksiazki_xml k; 11/47 XML Systemy baz danych wykład IX dr inż. Robert Perliński XML (ang. Extensible Markup Language - Rozszerzalny Język Znaczników) - uniwersalny język formalny przeznaczony do reprezentowania danych w sposób strukturalny. Model semistrukturalny XML nie jest językiem programowania XPath dokumenty zawierają znaczniki definiowane przez programistę Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła niezależny od platformy otwarty, elastyczny, bezpłatny, modularny standard rekomendowany oraz specyfikowany przez W3C uproszczenie SGML’a nadmiarowy Systemy baz danych - wykład IX 12/47 XML a model semistrukturalny Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła Różnice: W modelu danych semistrukturalnych można wyrazić dowolny graf skierowany, w XML - wyłącznie drzewa. W dokumentach XML kolejność występowania elementów w ramach elementu nadrzędnego jest ważna. W modelu semistrukturalnym krawędzie nie są porządkowane. W dokumencie XML istnieje kilka typów składników struktury, spośród których podstawowe to elementy i atrybuty. W modelu danych semistrukturalnych nie istnieje takie rozróżnienie. Systemy baz danych - wykład IX 13/47 Przykład I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła <biblioteka> <ksiazka> <autor> <imiona> <imie>Philip</imie> <imie>Kindred</imie> <imiona> <nazwisko>Dick</nazwisko> </autor> <tytul>Ubik</tytul> <rok>1966</rok> </ksiazka> Systemy baz danych - wykład IX 14/47 Przykład II Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML <ksiazka> <autor> <imie>George</imie> <nazwisko>Orwell</nazwisko> </autor> <tytul>Rok 1984</tytul> <rok>1953</rok> </ksiazka> Natywne bazy XML Źródła </biblioteka> Systemy baz danych - wykład IX 15/47 DOM Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła Obiektowy model dokumentu (ang. Document Object Model) - sposób reprezentacji złożonych dokumentów XML i HTML w postaci modelu obiektowego. Model ten jest niezależny od platformy i języka programowania. Standard W3C DOM definiuje zespół klas i interfejsów, pozwalających na dostęp do struktury dokumentów oraz jej modyfikację poprzez tworzenie, usuwanie i modyfikację tzw. węzłów. Systemy baz danych - wykład IX 16/47 struktura drzewa DOM Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła Systemy baz danych - wykład IX 17/47 Poziomy poprawności dokumentów XML Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML Poprawność składniowa (ang. well-formed) - zgodność z regułami składni XML. Reguły te obejmują m.in. konieczność domykania wszystkich znaczników. Dokument niepoprawny składniowo nie może być przetworzony przez parser XML. XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła Poprawność strukturalna (ang. valid) - zgodność z definicją dokumentu, tzn. dodatkowymi regułami określonymi przez użytkownika. Do precyzowania tych reguł służą specjalne języki. Najpopularniejszymi są DTD, XML Schema oraz RELAX NG. Systemy baz danych - wykład IX 18/47 Dokument XML well-formed I Systemy baz danych wykład IX dr inż. Robert Perliński zawiera deklarację XML z numerem wersji, umieszczoną na początku pliku <?xml version="1.0"?> Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła zawiera dokładnie jeden element główny (ang. root element) każdy element zaczyna się znacznikiem początku elementu np. <data> - kończy identycznym znacznikiem końca elementu np. </data> elementy puste kończymy wewnątrz znacznika np.: <element-pusty /> elementy puste mogą zawierać atrybuty Systemy baz danych - wykład IX 19/47 Dokument XML well-formed II Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła nazwy elementów mogą zawierać znaki alfanumeryczne (litery a-z, A-Z oraz cyfry 0-9), znaki diakrytyczne (nie zalecane) oraz 3 znaki interpunkcyjne (podkreślenie _, myślnik -, kropka .) dwukropek zarezerwowany dla przestrzeni nazw np. <przestrzen1:element> nazwy elementów nie mogą zaczynać się od znaków interpunkcyjnych, cyfr, słów: xml, XML, xML itp. elementy mogą posiadać dzieci i atrybuty (wartość atrybutu w cudzysłowie): Systemy baz danych - wykład IX 20/47 Dokument XML well-formed III Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath <?xml version="1.0" standalone="yes"?> <przykład> <typ>niezwykle oryginalny</typ> Witaj świecie! </przykład> <?xml version="1.0" standalone="yes"?> <przykład typ="niezwykle oryginalny"> Witaj świecie! </przykład> Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła komentarze zaczynają się znakami: <!--, a kończą: --> instrukcje przetwarzania (wykorzystywane do przeniesienia informacji do aplikacji) rozpoczynają się znakami: <?, a kończą: ?> przeznaczony do wyświetlania Systemy baz danych - wykład IX 21/47 Dokument XML - valid Systemy baz danych wykład IX dr inż. Robert Perliński jest well-formed opisany schematem: Model semistrukturalny <?xml version="1.0" standalone="no" ?> <!DOCTYPE Student SYSTEM "student.dtd"> <Student> ... </Student> XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła jest w pełni zgodny ze schematem przeznaczony do wyświetlania i przetwarzania Systemy baz danych - wykład IX 22/47 Znaczniki DTD Systemy baz danych wykład IX dr inż. Robert Perliński <!DOCTYPE znacznik-główny [ element ... ]> <!ELEMENT znacznik (składnik,...)> Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła <!DOCTYPE Studenci [ <!ELEMENT Studenci (Student*)> <!ELEMENT Student (imie,nazwisko,adres,rok)> <!ELEMENT imie (#PCDATA)> <!ELEMENT nazwisko (#PCDATA)> ... ]> Systemy baz danych - wykład IX 23/47 Znaczniki DTD - użycie Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła <?xml version="1.0" standalone="no" ?> <!DOCTYPE Studenci SYSTEM "student.dtd"> <Studenci> <Student> <imie>Onufry</imie> <nazwisko>Zagłoba</nazwisko> <adres>Dzikie Pola</adres> <rok>1648</rok> </Student> <Student> ... </Student> ... ]> </Studenci> Systemy baz danych - wykład IX 24/47 Atrybuty DTD Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła umieszczane w znaczniku otwierającym postać: atrybut=”wartość” mogą służyć do łączenia elementów (links) deklaracja: <!ATTLIST element atrybut typ ... > Systemy baz danych - wykład IX 25/47 Atrybuty DTD - definicja Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła <!DOCTYPE Studenci [ <!ELEMENT Studenci (Student*)> <!ELEMENT Student (imie,nazwisko,adres,rok)> <!ATTLIST Student studentID ID chodziNa IDREFS> <!ELEMENT nazwisko (#PCDATA)> ... ]> Systemy baz danych - wykład IX 26/47 Atrybuty DTD - użycie Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła <?xml version="1.0" standalone="no" ?> <!DOCTYPE Studenci SYSTEM "student.dtd"> <Studenci> <Student studentID="OZ" chodziNa="ms,gpp"> <imie>Onufry</imie> <nazwisko>Zagłoba</nazwisko> <adres>Dzikie Pola</adres> <rok>1648</rok> </Student> <Student> ... </Student> ... ]> </Studenci> Systemy baz danych - wykład IX 27/47 Atrybuty łączące Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML ID to atrybut identyfikujący - do użycia w innych elementach IDREF to referencja do wartości atrybutu ID w innym elemencie brak kontroli typów powiązań!!! bogatsze mechanizmy: XLink i XPointer. Natywne bazy XML Źródła Systemy baz danych - wykład IX 28/47 XPath Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła XPath (ang. XML Path Language, w wolnym tłumaczeniu Język ścieżek XML) - język służący do adresowania części dokumentu XML. XPath: wykorzystuje ścieżki do nawigowania po dokumencie XML; zawiera bibliotekę standardowych funkcji; stanowi główny element XSLT; jest rekomendowany przez W3C. Systemy baz danych - wykład IX 29/47 Ścieżka lokalizacji Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Wskazanie węzła lub zbioru węzłów - ścieżka lokalizacji. Ścieżka składa się z jednego lub więcej kroków lokalizacji oddzielanych od siebie znakami / lub //. Jeśli ścieżka zaczyna się od /, nazywamy ją ścieżką bezwzględną. W przeciwnym wypadku ścieżkę nazywamy względną, zaczyna się ona od bieżącego węzła nazywanego węzłem kontekstowym. Źródła Systemy baz danych - wykład IX 30/47 Budowa wyrażeń Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML Krok lokalizacji składa się z osi, badania węzła oraz zera lub więcej predykatów. Jeśli np. wyrażenie ma postać: child::n:Kontakt[position()=2] nazwą osi jest child, badanie węzła to wyrażenie: n:Kontakt XPath Bazy danych a XML Bazy przechowywujące XML natomiast zapis: [position()=2] Natywne bazy XML Źródła to predykat. Ścieżki lokalizacji składać się mogą z jednego lub więcej kroków lokalizacji, np. /descendant::n:Adresy/child::n:Adres wybiera elementy n:Adres mające rodzica n:Adresy. Systemy baz danych - wykład IX 31/47 Osie Xpath I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML Oś to kolekcja węzłów lub atrybutów o określonym pokrewieństwie wobec węzła kontekstowego. Oś ancestor XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła ancestor-or-self attribute child descendant descendant-or-self Systemy baz danych - wykład IX Znaczenie dotyczy przodków węzła kontekstowego. Przodkami są rodzice węzła kontekstowego, rodzice tych rodziców itd., aż po węzeł główny włącznie dotyczy węzła kontekstowego i jego przodków dotyczy atrybutów węzła kontekstowego dotyczy dzieci węzła kontekstowego dotyczy potomków węzła kontekstowego. Potomek to dziecko, dziecko dziecka itd. dotyczy węzła kontekstowego i jego potomków 32/47 Osie Xpath II Systemy baz danych wykład IX Oś following dr inż. Robert Perliński Model semistrukturalny following-sibling XML XPath Bazy danych a XML Bazy przechowywujące XML namespace parent preceding Natywne bazy XML Źródła precending-sibling self Systemy baz danych - wykład IX Znaczenie dotyczy wszystkich węzłów z dokumentu, do którego należy węzeł kontekstu, które znajdują się po nim dotyczy wszystkich węzłów znajdujących się na tym samym poziomie co węzeł kontekstu, za tym węzłem dotyczy węzłów przestrzeni nazw węzła kontekstu dotyczy węzła rodzica węzła kontekstowego dotyczy wszystkich węzłów z dokumentu, do którego należy węzeł kontekstu, które znajdują się przed nim dotyczy wszystkich węzłów znajdujących się na tym samym poziomie co węzeł kontekstu, przed tym węzłem zawiera węzeł kontekstowy 33/47 Predykaty XPath Systemy baz danych wykład IX dr inż. Robert Perliński Predykaty XPath zawarte są w nawiasach kwadratowych [], przykładowe testy: wartości atrybutu w danym łańcuchu, wartości elementu, Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML czy element zawiera określone “dziecko”, atrybut lub inny element, pozycji węzła w drzewie. W predykatach można użyć dowolnego rodzaju typu wyrażeń: zbioru węzłów, Natywne bazy XML Źródła logicznego, liczbowego, tekstowego, wynikowego fragmentu drzew. Systemy baz danych - wykład IX 34/47 Funkcje Xpath I Systemy baz danych wykład IX dr inż. Robert Perliński Funkcja last() position() count(zbiór-węzłów) Model semistrukturalny XML XPath Bazy danych a XML namespace-uri(zbiórwęzłów) Bazy przechowywujące XML Natywne bazy XML Źródła name(zbiór-węzłów) local-name(zbiórwęzłów) Systemy baz danych - wykład IX Znaczenie zwraca liczbę węzłów w zbiorze zwraca położenie węzła kontekstowego w zbiorze węzła kontekstowego zwraca liczbę węzłów w przekazanym zbiorze. Jeśli argument nie zostanie podany, zliczone zostaną węzły zbioru węzła kontekstowego zwraca adres URI przestrzeni nazw pierwszego węzła ze zbioru. Pominięcie parametru powoduje uruchomienie funkcji na węźle kontekstowym zwraca pełną kwalifikowaną nazwę pierwszego węzła ze zbioru. Pominięcie parametru powoduje uruchomienie funkcji na węźle kontekstowym zwraca nazwę lokalną pierwszego węzła ze zbioru węzłów. Pominięcie parametru po- 35/47 Skróty I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Wyrażenie self::node() parent::node() child::dziecko attribute::dziecko /descendant::* dziecko[position() = 3] dziecko[position() = last()] Skrót . .. dziecko @dziecko //* dziecko[3] dziecko[last()] Źródła Systemy baz danych - wykład IX 36/47 Przykłady I Systemy baz danych wykład IX dr inż. Robert Perliński Wyrażenie ksiegarnia Model semistrukturalny /ksiegarnia XML ksiegarnia/ksiazka XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła //ksiazka ksiegarnia//ksiazka //@jezyk Systemy baz danych - wykład IX Objaśnienie Wybiera wszystkie dzieci węzła księgarnia Wybiera korzeń struktury księgarnia Wybiera dzieci ksiegarni, które sa typu ksiazka Wybiera elementy typu ksiazka bez względu na położenie Wybiera wszystkich potomków ksiegarni typu ksiazka Wybiera wszystkie atrybuty o nazwie jezyk 37/47 Przykłady - predykaty I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła /ksiegarnia/ksiazka[1] - Pierwsza ksiazka będąca dzieckiem ksiegarni /ksiegarnia/ksiazka[last()] - Ostatnia ksiazka będąca dzieckiem ksiegarni /ksiegarnia/ksiazka[last()-1] - Przedostatnia ksiazka będąca dzieckiem ksiegarni /ksiegarnia/ksiazka[position()<3] - Pierwsze dwie ksiazki będąca dziećmi ksiegarni //tytul[@jezyk] - Wybiera wszystkie tytuly posiadajace atrybut jezyk //tytul[@jezyk=’pl’] - Wybiera wszystkie polskie tytuły Systemy baz danych - wykład IX 38/47 Przykłady - predykaty II Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła /ksiegarnia/ksiazka[cena>35.00] - Wybiera ksiazki, których dziecko - cena ma wartość większą niż 35 /ksiegarnia/ksiazka[cena>35.00]/tytul - Pokazuje tytuły książek droższych niż 35 //ksiazka[@isbn="83-729-149-X"] - ksiazka o atrybucie isbn równym podanej wartości //ksiazka[count(autorzy/autor)>2] - książka, posiadająca więcej niż dwóch autorów //ksiazka[contains(tytul,"XML")] - książka zawierająca w tytule słowo XML Systemy baz danych - wykład IX 39/47 Bazy danych a XML Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła Bazy danych umożliwiające przechowanie danych w formacie XML (ang. XML-enabled database systems) postrelacyjne, obiektowo-relacyjne systemy zarządzania bazą danych, które na wejściu i na wyjściu akceptują i generują dane w postaci XML. Bazy danych dokumentów XML - natywne bazy danych XML (ang. native XML database systems)- zorientowane na przetwarzanie dokumentów XML, używają dokumentów XML jako podstawowego typu przechowywania. Systemy baz danych - wykład IX 40/47 Przechowywanie danych XML Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML XPath w systemie plików w atrybutach typu, BLOB, CLOB, XMLType w bazach danych w postaci zdekomponowanej Bazy danych a XML Bazy przechowywujące XML mapowanie schematów XML na schematy baz danych generowanie schematów XML ze schematów baz danych i odwrotnie Natywne bazy XML Źródła Systemy baz danych - wykład IX 41/47 Obsługa XMLType I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML CREATE TABLE cv OF XMLType; CREATE TABLE produkty_XML ( kod Number(5) PRIMARY KEY, opis XMLType ); XPath Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Źródła INSERT INTO produkty_XML VALUES ( 125, XMLType('<produkt> <nazwa>Britax Evolva 123</nazwa> <cena>699</cena> </produkt>') ); SELECT opis FROM produkty_XML; Systemy baz danych - wykład IX 42/47 Obsługa XMLType II Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML SELECT * FROM cv; SELECT Extractvalue(Value(k),'//ksiazka[cena=31]/tytul') FROM ksiazki_XML k; XPath Bazy danych a XML Bazy przechowywujące XML SELECT k.Existsnode('//ksiazka[@isbn="83-729-149-X"]') FROM ksiazki_XML k; Natywne bazy XML Źródła Systemy baz danych - wykład IX 43/47 Natywne bazy XML I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny Baza danych dokumentów XML: XML definiuje model dla dokumentów XML-owych; XPath dokumenty XML podstawową jednostką składowania; Bazy danych a XML wykorzystuje dowolny sposób fizycznego składowania. Bazy przechowywujące XML Natywne bazy XML Źródła Systemy baz danych - wykład IX 44/47 Funkcjonalność bazy danych dokumentów XML I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny XML Bazy dokumentów XML zapewniają: składowanie dokumentów XML, definiowanie i przechowywanie schematów (DTD, XMLSchema), XPath obsługa zapytań (XPath, XQuery, XML-QL, Quilt), Bazy danych a XML obsługa modyfikacji, wstawiania i usuwania dokumentów, Bazy przechowywujące XML Natywne bazy XML obsługa interfejsów programistycznych (XML:DB API, XQuery API for Java - XQJ, SAX, DOM, JDOM), Źródła funkcjonalność tradycyjnych SZBD. Systemy baz danych - wykład IX 45/47 Źródła I Systemy baz danych wykład IX dr inż. Robert Perliński Model semistrukturalny W wykładzie wykorzystano materiały: BUNEMAN P., Semistructured data, W: Proceedings of PODS, 1997, 117-121. ABITEBOUL S., Querying semi-structured data, W: Proceedings of ICDT, 1997, 1-18. XML XPath Bazy danych a XML Bazy przechowywujące XML http: //www.dcs.bbk.ac.uk/~ptw/teaching/ssd/toc.html http://edu.pjwstk.edu.pl/wyklady/rbd/scb/ wyklad4/obrelb.htm Natywne bazy XML Źródła Zbigniew Jurkiewicz, Semistrukturalne bazy danych wprowadzenie, materiały do wykładów, Instytut Informatyki UW Materiały do wykładów Pani mgr Wandy Kik Systemy baz danych - wykład IX 46/47 Źródła II Systemy baz danych wykład IX dr inż. Robert Perliński http://www.pabloware.com/xml/ Model semistrukturalny XML http://wazniak.mimuw.edu.pl/index.php?title= Zaawansowane_systemy_baz_danych XPath Bazy danych a XML Bazy przechowywujące XML Wikipedia http://www.w3schools.com/xpath/ Natywne bazy XML Źródła Systemy baz danych - wykład IX 47/47