WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Example XSLT View in XML Editor
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Alternative zu XML JSON – Alternative zu XML –siehe: oder Beispiel von:
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Alternative zu XML Schema Regular Language Description for XML New Generation (RELAX NG) –RELAX-NG-Schema selbst ein XML-Dokument, jedoch bietet es auch eine beliebte kompakte Nicht-XML-Syntax an –OASIS RELAX NG Tutorial Committee Spezification von 2001 (
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Bis jetzt … XML-Datei XML-Schema oder DTD Realität Modell (z.B. UML, ER) XML-Datei
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XML-Datei XML-Schema oder DTD XML-Datei … und … Validating XML Parser Application
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle … und … GIF, JPG, NSK- TIFF etc. AVI, AU, WAV, WMA, MP3 etc. MPG, WMV, RM, etc. DOC, HTML, PDF, etc. JPEG, GIF etc.
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Was fehlt noch? Semantik – wurde erwähnt, kommt in 2007 Anfragen an XML-Daten? Speicherung von XML-Daten / XML-Dateien? Erzeugung von XML-Dateien?
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Validating XML Parser Application XML-Datei XML-Schema oder DTD XML-Datei ?
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Anfragesprachen für XML Sprache Herkunft XML-QL AT&T/INRIA u.a. YATL INRIA Frankreich Lorel Stanford University XQL GMD/Fuji u.a. Quilt IBM/Software AG/INRIA XQuery W3C XML-GL Politechnikum Mailand XMAS Univ. of California XML Matching And Structuring (XMAS) query language
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
XQuery XQuery 1.0: An XML Query Language –W3C Proposed Recommendation 21 November 2006 Definition: XQuery operates on the abstract, logical structure of an XML document, rather than its surface syntax. This logical structure, known as the data model, is defined in [XQuery/XPath Data Model (XDM)]. [XQuery/XPath Data Model (XDM)]
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Anwendungsbeispiele XQuery kann genutzt werden um: –Informationen zur Nutzung in Web Services extrahieren –Reports zu generieren –Transformation von XML nach (X)HTML –Suche in XML Dokumenten (z.B. im Web) –…
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XQuery Prozessor XQuery Abfrage DB XML Dokumente Quellen Eingabe Ausgabe XML HTML z.B.
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Eingabe-Funktionen doc( )[path expression] –doc("books.xml")/bookstore/book/title –doc("books.xml")/bookstore/book[price<30] collection( )[path expression] –collection(" collection() – abhängig von der Impl.
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XQuery XQuery Sprachelemente: –Element Konstruktoren –FLWOR –Pfad Ausdrücke –Listen Ausdrücke –Datentyp Ausdrücke
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle FLWOR Eine zentrale Rolle in XQuery spielen die sogenannten FLWOR-Ausdrücke (ausgesprochen: flower). FLWOR ist eine Abkürzung für die Konstrukte for, let, where, order by und return, und kann als Analogie zu den (SELECT, FROM, WHERE) - Konstrukten in SQL betrachtet werden.
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XQuery Beispiel 1 Finde alle Diplomarbeiten, die nach 2002 erstellt wurden: FOR $x IN doc(“DA.xml") /bib/DA WHERE $x/Jahr > 2002 RETURN $x/Titel FOR $x IN doc(“DA.xml") /bib/DA WHERE $x/Jahr > 2002 RETURN $x/Titel Ergebnis: abc def ghi
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XQuery vs XSLT XSLT hat Stärken in –Formatierungen –Transformation –Dokumentorientiert XQuery hat Stärken in –Umgang mit großen Datenmengen (Optimierung) –Daten(struktur)orientiert
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Nutzung von XML-Syntax XSLT benutzt XML-Syntax, XQuery nicht Vorteil XML-Syntax: –XML Dokumente können einfach mit bekannten Tools editiert, gespeichert, transformiert, validiert werden –XML-Syntax ist erweiterbar und robust Nachteile XML-Syntax: –XML ist nicht gut lesbar, insb. durch umfangreiche Tagstrukturen –FLOWR Syntax für erfahrene SQL-Programmierer einfacher
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle 1Mb Xalan xt MSXML Saxon 8.4 XSLT XQuery Saxon 8.4 Qizx Galax Mb Mb O(n 2 ) O(n) Von: Michael Kay, XTech 2005: Comparing XSLT and XQuery Saxon 8.5 1Mb 27 XSLT XQuery Saxon Mb Mb Eine einzelne Anfrage!
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Validating XML Parser Application XML-Datei XML-Schema oder DTD XML-Datei ?
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Speicherung von XML XML-Datenbank – Tamino, eXite, … Relationale Datenbank –Wie? Abbildungen von XML auf Datenbanken TextbasiertStrukturbasiertModellbasiert
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Textbasiert Speicherung des Dokumentes als Einheit z.B. in einem CLOB. –Unterstützung des Zugriffs durch Verwendung von Indizes Volltextindex Strukturindex
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Strukturbasiert Abbildung auf mehrere Tabellen, die das Objektmodell wiederspiegeln. Tolle Karsten Robert-Mayer-Str. Frankfurt NameFirstnameStreetTownType TolleKarstenRobert-Mayer-Str.Frankfurtbusiness Address
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Strukturbasiert Abbildung kann automatisch oder manuell erfolgen DTD, XML Schema muss vorhanden sein Reihenfolge der Elemente kann verloren gehen Beziehungen in der Baumhierarchie über Foreign Keys Verlust von PI (Processing Instructions) und Kommentaren
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Modellbasiert Abbildung der Graphstruktur! (DOM) Kommentare und PI gehen verloren
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Übersicht: Abbildungen Abbildungen von XML auf Datenbanken TextbasiertStrukturbasiertModellbasiert
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Baumstruktur wichtig für XML Anfragen XPath bildet die Grundlage FOR $x IN doc(“DA.xml") /bib/DA WHERE $x/Jahr > 2002 RETURN $x/Titel FOR $x IN doc(“DA.xml") /bib/DA WHERE $x/Jahr > 2002 RETURN $x/Titel
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten self (.)
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten child (standard)
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten parent
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten ancestor (..)
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten ancestor-or-self
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten descendant
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten descendant-or-self (//)
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten preceding
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten following
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten preceding-sibling
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle XPath Grundlagen - Achsen Kontextknoten following-sibling
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Baum in RDBMS? Jerry (1000) Bert (900)Chuck (950) Donna (700)Eddie (750)Fred (600)
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle z.B. Adjazenz Matrix als Tabelle NameBossGehalt JerryNULL1000 BertJerry900 ChuckJerry950 DonnaChuck700 EddieChuck750 FredChuck600
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Adjazenz Matrix als Tabelle NameBossGehalt JerryNULL1000 BertJerry900 ChuckJerry950 DonnaChuck700 EddieChuck750 FredChuck600 Jerry (1000) Bert (900)Chuck (950) Donna (700)Eddie (750)Fred (600) Anomalien möglich! Personal
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Adjazenz Matrix als Tabelle IDNameBossGehalt 1JerryNULL1000 2Bert1900 3Chuck1950 4Donna3700 5Eddie3750 6Fred3600 Jerry (1000) Bert (900)Chuck (950) Donna (700)Eddie (750)Fred (600) Anfrage nach Namen des Boss? Personal
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Anfrage: Wer ist Boss? IDNameBossGehalt 1JerryNULL1000 2Bert1900 3Chuck1950 4Donna3700 5Eddie3750 6Fred3600 SELECT B1.Name, ‘ Boss von ’, E1.Name FROM Personal AS B1, Personal AS E1 WHERE B1.ID = E1.Boss Personal
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Anfrage: Wer ist Boss von Boss? IDNameBossGehalt 1JerryNULL1000 2Bert1900 3Chuck1950 4Donna3700 5Eddie3750 6Fred3600 SELECT B1.Name, ‘ Ober-Boss von ’, E2.Name FROM Personal AS B1, Personal AS E1, Personal AS E2 WHERE B1.ID = E1.Boss AND E1.ID = E2.Boss Personal Ober-…-Ober-Boss??? ancestor ???
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Hilfe! Jerry (1000) Bert (900)Chuck (950) Donna (700)Eddie (750)Fred (600) Vergleiche: Traversierungs-Algorithmen für Binäre-Bäume Inorder-, Preorder- und Postorder
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Adjazenz Matrix als Tabelle IDNameleftrightGehalt 1Jerry Bert Chuck Donna Eddie Fred Personal Jerry (1000) Bert (900)Chuck (950) Donna (700)Eddie (750)Fred (600)
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Anfragen Wer hat gar nix zu sagen? (Blätter) Wer ist der oberste Boss? (Wurzel) Alle Unterstellten von X? (Nachfahren) Alle Chefs von Y? (Vorfahren) … Jerry (1000) Bert (900)Chuck (950) Donna (700)Eddie (750)Fred (600)