1 / 61

XML

XML. XML w bazach danych. Plan wykładów. Wprowadzenie do XML Struktura dokumentów XML Języki zapytań dla XML XML a bazy danych. Plan wykładu. Podział dokumentów XML ze względu na ich strukturę Przechowywanie danych z dokumentów XML a przechowywanie dokumentów XML

elpida
Download Presentation

XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML XML w bazach danych

  2. Plan wykładów • Wprowadzenie do XML • Struktura dokumentów XML • Języki zapytań dla XML • XML a bazy danych

  3. Plan wykładu • Podział dokumentów XML ze względu na ich strukturę • Przechowywanie danych z dokumentów XML a przechowywanie dokumentów XML • Bazy danych wspierające XML • Bazy danych dedykowane dla XML

  4. Plan wykładu • Podział dokumentów XML ze względu na ich strukturę • Przechowywanie danych z dokumentów XML a przechowywanie dokumentów XML • Bazy danych wspierające składowanie XML • Bazy danych dedykowane dla XML

  5. Rodzaje dokumentów XML Podział dokumentów XML ze względu na ich strukturę: • dokumenty bazujące na danych (ang. data-centric documents) • dokumenty bazujące na dokumencie (ang. document-centric documents)

  6. Rodzaje dokumentów XML Dokumenty bazujące na danych (ang. data-centric documents) <Pracownicy> <Pracownik> <Nazwisko> Jaworek </Nazwisko> <PESEL> 56022812345 </PESEL> <Data_ur> 28.02.1956 </Data_ur> <Data_przyjecia> 01.10.1980</Data_przyjecia> <Dzieci> Brak </Dzieci> <Zespol> Piece </Zespol> </Pracownik> </Pracownicy> <Pracownicy> <Pracownik> <Nazwisko> Jaworek </Nazwisko> <PESEL> 56022812345 </PESEL> <Data_ur> 28.02.1956 </Data_ur> <Data_przyjecia> 01.10.1980 </Data_przyjecia> <Dzieci> Brak </Dzieci> <Zespol> ProjektZEUS </Zespol> </Pracownik> <Pracownik> <Nazwisko> Grabski </Nazwisko> <PESEL> 56063112345 </PESEL> <Data_ur> 31.06.1956 </Data_ur> <Data_przyjecia> 01.10.1980 </Data_przyjecia> <Dzieci> Brak </Dzieci> <Zespól> ProjektHERA </Zespól> </Pracownik> </Pracownicy>

  7. Rodzaje dokumentów XML Dokumenty bazujące na danych (ang. data-centric documents) • Regularna struktura • Równomierna granulacja • Jednorodna zawartość • Kolejność elementów nie ma znaczenia

  8. Rodzaje dokumentów XML Dokumenty bazujące na dokumencie (ang. document-centric documents) <Intro>The <ProductName>Turkey Wrench</ProductName> from <Developer>Full Fabrication Labs, Inc.</Developer> is <Summary>like a monkey wrench,but not as big.</Summary> </Intro>

  9. Rodzaje dokumentów XML Dokumenty bazujące na dokumencie (ang. document-centric documents) • Nieregularna struktura • Zróżnicowana granulacja • Niejednorodna zawartość • Kolejność elementów ma znaczenie

  10. Plan wykładu • Podział dokumentów XML ze względu na ich strukturę • Przechowywanie danych z dokumentów XML a przechowywanie dokumentów XML • Bazy danych wspierające XML • Bazy danych dedykowane dla XML

  11. Przechowywanie danych z dokumentów XML Przechowywanie danych z dokumentów XML • XML służy jedynie jako format wymiany danych • Znaczenie mają tylko dane zawarte w dokumencie, a nie sam dokument (DTD, komentarze, instrukcje przetwarzania, kolejność elementów nie mają znaczenia) – przetwarzanie jest zorientowane na dane • Dokument XML bazuje na danych (ang. data-centric XML document), nie na dokumencie

  12. Przechowywanie danych z dokumentów XML

  13. Przechowywanie danych z dokumentów XML <? xml version=“1.0” ?> <purchaseOrder id=‘12345” secretKey=‘4x%$^’> <customer id=“A6789”> <name>John Smith Co</name> <address> <street>1234 W. Main St</street> <city>Toledo</city> <state>OH</state> <zip>95141</zip> </address> </customer> <itemList> <item> <partNo>A54</partNo> <quantity>12</quantity> </item> <item> <partNo>985</partno> <quantity>1</quantity> </item> </itemList> </purchaseOrder>

  14. Przechowywanie danych z dokumentów XML Zalety przechowywania danych z dokumentów XML • Możliwość skorzystania z dojrzałej technologii relacyjnych SZBD • Możliwość szybkiego wyszukiwania

  15. Przechowywanie danych z dokumentów XML Problemy towarzyszące przechowywaniu danych z dokumentów XML • Utrata informacji jakie niesie ze sobą dokument XML • Dla dużej część dokumentów utrata DTD, komentarzy, instrukcji przetwarzania oraz zmiana kolejność elementów jest niedopuszczalna • Zapisanie samych danych w bazie, a następnie stworzenie na ich podstawie dokumentu XML nie musi dać w rezultacie dokumentu identycznego z początkowym (ang. round tripping, document equivalence)

  16. Przechowywanie danych z dokumentów XML Problemy towarzyszące przechowywaniu danych z dokumentów XML • Złożona struktura dokumentów XML może powodować: • złożone i czasochłonne mapowanie struktury dokumentu XML na strukturę relacyjnej bazy danych • nieefektywny rezultat mapowania – duża ilość rzadko wypełnionych tablic wymagających złączeń podczas zapytań • Konieczność utrzymywania sztywnego schematu dokumentów XML odzwierciedlonego w strukturze tablic

  17. Przechowywanie dokumentów XML Przechowywanie dokumentów XML • Ważne informacje niosą nie tylko dane zapisane w dokumencie XML ale również sam dokument • Konieczne jest zapewnienie niezmienionego stanu dokumentu • Dokument XML bazuje na dokumencie (ang. document-centric XML document)

  18. Przechowywanie dokumentów XML

  19. Przechowywanie dokumentów XML Przechowywanie dokumentów XML w postaci dużych obiektów tekstowych Zalety: • Szybkie wstawianie i pobieranie całych dokumentów XML • Brak ograniczeń co do schematu składowanych dokumentów

  20. Przechowywanie dokumentów XML Przechowywanie dokumentów XML w postaci dużych obiektów tekstowych Wady: • Konieczność parsowania całego dokumentu przy realizacji zapytań • Niska wydajność realizacji zapytań

  21. Przechowywanie dokumentów XML Bazy dokumentów XML (ang. XML document databases)

  22. Przechowywanie dokumentów XML Bazy dokumentów XML (ang. XML document databases) Kolekcja dokumentów XML i ich części zarządzana przez system mający możliwość przetwarzania i kontroli zarówno kolekcji jak i informacji reprezentowanych przez kolekcje [Salminen, Tompa]

  23. Przechowywanie dokumentów XML Bazy dokumentów XML • Model danych • Logiczny model danych zgodny z XML • Zapewnienie zgodności dokumentu ładowanego do bazy danych z dokumentem wyeksportowanym z bazy

  24. Przechowywanie dokumentów XML Logiczny model danych

  25. Przechowywanie dokumentów XML Bazy dokumentów XML – wymagania dotyczące systemu • Definiowanie danych • Wsparcie dla typów danych • Składowanie kolekcji dokumentów i typów dokumentów • Wsparcie dla przestrzeni nazw • Umożliwienie indeksowania składowanych dokumentów

  26. Przechowywanie dokumentów XML Bazy dokumentów XML – wymagania dotyczące systemu • Przetwarzanie danych • Język zapytań umożliwiający poruszanie się po drzewiastej strukturze dokumentu XML • Umożliwienie transformacji • Update i zarządzanie transakcjami

  27. Przechowywanie dokumentów XML Bazy dokumentów XML Zalety: • Składowanie dokumentów XML w repozytorium o logicznej strukturze dedykowanej dla XML • Przetwarzanie bezpośrednio dokumentów XML bez potrzeby transformacji struktury danych do postaci relacyjnej

  28. Przechowywanie dokumentów XML Bazy dokumentów XML Zalety: • Szybkie wyszukiwanie • Elastyczność obsługi schematów

  29. Przechowywanie dokumentów XML Bazy dokumentów XML Wady: • Konieczność integracji z danymi relacyjnymi • Problem skalowalności

  30. Bazy danych umożliwiające korzystanie z XML Bazy danych umożliwiające korzystanie z XML (ang. XML enabled databases) • Microsoft SQL Server 2000 • Oracle 8i

  31. Bazy danych umożliwiające korzystanie z XML Microsoft SQL Server 2000 • Możliwość zwracania rezultatów zapytań SQL w postaci XML • Możliwość wczytywania dokumentów XML do bazy danych • Możliwość definiowania schematów dokumentów XML w języku XDR (XML Data Reduced)

  32. Bazy danych umożliwiające korzystanie z XML Zwracanie rezultatów zapytań SQL w postaci XML FOR XML mode [, XMLDATA] [, ELEMENTS] [, BINARY BASE 64] mode • AUTO • RAW • EXPLICIT

  33. Bazy danych umożliwiające korzystanie z XML select * from pracownicy for xml auto <pracownicy nrp="1" nazwisko="Jaworek" dataur="1956-02-28T00:00:00" pesel="56022812345"/> <pracownicy nrp="2" nazwisko="Grabski" dataur="1960-06-30T00:00:00" pesel="56063012345"/>

  34. Bazy danych umożliwiające korzystanie z XML select * from pracownicy where nazwisko='Jaworek' for xml auto, elements <pracownicy> <nrp>1</nrp> <nazwisko>Jaworek</nazwisko> <dataur>1956-02-28T00:00:00</dataur> <pesel>56022812345</pesel> </pracownicy>

  35. Bazy danych umożliwiające korzystanie z XML select * from pracownicy for xml raw <row nrp="1" nazwisko="Jaworek" dataur="1956-02-28T00:00:00" pesel="56022812345"/> <row nrp="2" nazwisko="Grabski" dataur="1960-06-30T00:00:00" pesel="56063012345"/>

  36. Bazy danych umożliwiające korzystanie z XML Opcja EXPLICIT • Pozwala na zdefiniowanie formatu tworzonego dokumentu XML • Przy tworzeniu dokumentu wykorzystywana jest tymczasowa tablica pomocnicza Universal Table • Universal Table zawiera dwie kolumny określające hierarchię rodzic-dziecko dla wyznaczanych elementów

  37. Bazy danych umożliwiające korzystanie z XML

  38. Bazy danych umożliwiające korzystanie z XML <Customer cid="C1" name="Janine"> <Order id="O1" date="1/20/1996"> <OrderDetail id="OD1" pid="P1"/> <OrderDetail id="OD2" pid="P2"/> </Order> <Order id="O2" date="3/29/1997"> ... </Customer>

  39. Bazy danych umożliwiające korzystanie z XML select 1 as Tag, 0 as Parent, nazwisko as [Pracownicy!1!nazwisko] from pracownicy for xml explicit <Pracownicy nazwisko="Jaworek"/> <Pracownicy nazwisko="Grabski"/>

  40. Bazy danych umożliwiające korzystanie z XML Kodowanie nazw kolumn w Universal Table [NazwaElementu!NumerZnacznika!NazwaAtrybutu!Dyrektywa] Dyrektywa • Typ atrybutu – ID, IDREF, IDREFS • hide • element Przykład [Pracownicy!1!nazwisko] [Pracownicy!1!nazwisko!element]

  41. Bazy danych umożliwiające korzystanie z XML

  42. Bazy danych umożliwiające korzystanie z XML Wczytanie dokumentów XML do bazy danych OPENXML(iDoc, RowPattern, [Flags], [WITH (SchemaDeclaration | TableName)] • iDoc – uchwyt do reprezentacji dokumentu w pamięci • RowPattern – ścieżka XPath wskazująca jaka część dokumentu ma być przetwarzana

  43. Bazy danych umożliwiające korzystanie z XML Wczytanie dokumentów XML do bazy danych OPENXML(iDoc, RowPattern, [Flags], [WITH (SchemaDeclaration | TableName)] • Flags • 0 –odwzorowanie atrybutów – wartość domyślna • 1 – odwzorowanie atrybutów • 2 – odwzorowanie elementów • 8 – odwzorowanie atrybutów lub elementów • WITH – docelowe miejsce składowania danych

  44. Bazy danych umożliwiające korzystanie z XML EXEC sp_xml_preparedocument @rDoc OUTPUT, @sDoc INSERT Team (Sponsor) SELECT DISTINCT Sponsor FROM OPENXML (@rDoc, ‘ROOT/Team’, 1) WITH (Sponsor varchar(50) ‘@Sponsor’) EXEC sp_xml_removedocument @rDoc

  45. Bazy danych dedykowane dla XML • Baza danych dedykowana dla XML (ang. Native XML database) • System o dedykowanym dla XML drzewiastym modelu danych, w którym podstawową składowaną jednostką logiczną jest dokument XML, a fizyczna implementacja systemu jest nieistotna • Baza dokumentów XML (ang. ΧΜL document database ) • Kolekcja dokumentów XML wraz z systemem zarządzającym kolekcją oraz informacją w niej zawartą

  46. Bazy danych dedykowane dla XML Przykłady baz danych dedykowanych dla XML • Tamino • X-Hive • eXist • i inne

  47. Bazy danych dedykowane dla XML - Tamino Model danych • „Natywny model XML” – pozwala na zarządzanie kolekcjami dokumentów oraz informacją w nich zawartą • Zapewnia równoważność dokumentów

  48. Bazy danych dedykowane dla XML - Tamino Definicja danych • Dokument XML podstawową składowaną jednostką logiczną • Składowanie dokumentów w kolekcjach • Definiowanie struktury dokumentów przy pomocy schematów TSD • Indeksowanie dokumentów • Kontrola dostępu do danych z wykorzystaniem list uprawnień i grup użytkowników

  49. Bazy danych dedykowane dla XML - Tamino Przetwarzanie danych • Wykorzystanie języka XQuery oraz X-Query • Transakcyjne przetwarzanie danych • Nakładanie blokad na poziomie całego dokumentu • Wykorzystanie transformacji XSLT

  50. Bazy danych dedykowane dla XML –relacyjne bazy danych • Intensywny rozwój funkcjonalności pozwalającej na składowanie XML systemów zarządzania relacyjnymi bazami danych • Przykłady baz danych • Oracle 8i => Oracle 9i/10g • MS SQL Server 2000 => MS SQL Server 2005 • DB2 => DB2 Viper

More Related