WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Validating...
-
Upload
dietricha-aldinger -
Category
Documents
-
view
111 -
download
1
Transcript of WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Validating...
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Validating XML Parser
Application
XML-DateiXML-Schema
oderDTD
XML-DateiXML-Datei
XML-DateiXML-Datei
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL 2003
• Part 14: XML-Related Specifications (SQL/XML)– “This part of ISO/IEC 9075 defines ways in which Database
Language SQL can be used in conjunction with XML.” (Zitat aus der Einführung der Spezifikation)
– ~ 360 Seiten (Part 14)– Spezifikation kostet Geld
(nur Part 14) ~190 Euro als PDF– Final Committee Draft Version online unter:
http://www.sqlx.org/SQL-XML-documents/5FCD-14-XML-2004-07.pdf
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Mapping-
SQL-to-XML
• Mapping SQL character sets to Unicode.• Mapping SQL <identifier>s to XML Names.• Mapping SQL data types (as used in SQL-schemas to
define SQL-schema objects such as columns) to XML Schema data types.
• Mapping values of SQL data types to values of XML Schema data types.
• Mapping an SQL table to an XML document and an XML Schema document.
• Mapping an SQL schema to an XML document and an XML Schema document.
• Mapping an SQL catalog to an XML document and an XML Schema document.
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Modell Mapping
SQL XML
SQL-Character-Sets XML-Unicode
SQL-Identifiers XML-Names
SQL-Datentypen XML-Schema-Datentypen
SQL-Werte XML-Werte
SQL-Tabellen XML-Dokumente (Daten)
SQL-Schemata XML-Schema-Dokumente
SQL-Katalog (Meta-Daten)
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Datentype Mapping
SQL XML
CHARACTER, VARCHAR, CLOB
xsd:string
INTEGER, SMALLINT, BIGINT
xsd:integer (maxInclusive und minInclusive)
NUMERIC, DECIMAL xsd:decimal
… …
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Mapping-
XML-to-SQL
• Mapping Unicode to SQL character sets.
• Mapping XML Names to SQL <identifier>s.
Also:SQL/XML konzentriert sich auf das Erzeugen von XML-Daten aus relationalen Datenbanken.
link
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Funktionen
Funktionen:
• XMLELEMENT – Konstruktion eines XML-Elements
• XMLATTRIBUTES – Erzeugung eines XML-Attributes
Reservierte Schlüsselwörter:XML | XMLAGG | XMLATTRIBUTES | XMLBINARY | XMLCONCAT| XMLCOMMENT | XMLELEMENT | XMLFOREST| XMLNAMESPACES | XMLPARSE | XMLPI | XMLROOT | XMLSERIALIZE
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Funktionen
• XMLFOREST – Erzeugung einer Menge von XML-Elementen (Wald)
• XMLAGG – Zusammenfassen von Ergebnissen (Nutzung von Group-By, für 1-n Relationen)
• XMLCONCAT fügt mehrere XML-Werte zusammen
• XMLCOMMENT, XMLPI, …
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Neuer Datentype: XML
• Erlaubte Werte sind:– Ein XML-Dokument (mit Prolog), – Ein XML-Inhalt gemäß XML-Standard 1.0, – NULL.
Beispiel:CREATE TABLE StudentXML (
name VARCHAR(35), vorname VARCHAR(30), matrikel INTEGER, details XML);
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
… nicht enthalten ist …
• Keine Anfragedefinition auf XML Datentype kann extern über XPath, XQuery, XSLT realisiert werden.
• Keine Festlegung der Abbildung von XML auf SQL-Tabellenstrukturen.
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Praxisbeispiel DB2 von IBM
• Datenbanken müssen beim Erstellen auf XML vorbereitet werden.
• Es wird nur UTF-8 unterstützt.
SELECT XMLELEMENT ( NAME "Test",XMLATTRIBUTES (12 AS "Default12"),XMLCONCAT (
XMLELEMENT (NAME "ZUSATZ",XMLFOREST (t.name AS "Vorname", t.ID AS "ID") ),
XMLELEMENT (NAME "ZUSATZ",XMLFOREST (t.name AS "Vorname", t.ID AS "ID") )
)) from KARSTEN.TEST AS t;
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
DBMS XML
Was hatten wir bisher?
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Native XML DBMS (NXD)
• Definiert ein logisches Model der XML-Dokumente zur Speicherung und Anfrage dieser.– Unterstützt minimal: Elemente, Attribute, PCDATA und die
Dokumentreihenfolge
• Dokumente als logische Struktur (vergleichbar mit Tabellen in RDBMS)
• Unabhängig von der unterliegenden Speicherstruktur.
DBMS, welches für den Umgang mit XML konzipiert wurde und dessen Besonderheiten berücksichtigt
Beispiele: Tamino, eXist, XQuantum, …
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Tamino XML Server
• Kommerzielles Tool der Software AG• Online: http://www.softwareag.com/de/products/tamino/default.asp
• Server basiert: Zugriff über HTTP• Bietet DBMS Funktionalitäten:
– Transaktionen, Sicherheit, Mehrbenutzer, Skalierbarkeit, …
• Für Windows, Unix, Linux (Details siehe Web)• Speicherung ohne DTD oder XML Schema
möglich
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Architektur
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
• Speicherung ohne DTD oder XML Schema möglich (meist bei NXD)– Änderungen, partielle Abhängigkeiten, …
• Speicherung von nicht-XML Objekten (HTML, Bilder, …)
• Zugriff zu externen (relationalen) Datenquellen
• Intern UTF, für Import und Export werden auch andere Encodings unterstützt!
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Index– Standard Index: Indizierung der Werte für
einzelne Elemente oder Attribute– Text Index: Indizierung der Werte über
Elemente und Attribute hinweg– Struktur Index: Index über die Pfade, die in
den Dokumenten vorkommen
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Probleme bei der Erstellung eines Index
• Auftrennung eines Textes in Wörter (Token) ist nicht trivial! – Zeichensetzung, Umbrüche, Bindestriche, etc.
• Weiterhin werden nicht in jeder Sprache Wörter getrennt geschrieben, Koreanisch, Japanisch, Chinesisch …, – z.B.
この前友達があなたに会ったって言ってたからさ、なんか話した … wird von Tamino unterstützt!
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Speicherung
• Speicherung wird aufgeteilt in zwei “Spaces”– “data space” – für die eigentlichen XML-
Dokumente, die in Abhängigkeit ihrer Größe komprimiert werden
– “index space” – für die Indizes, die für die Anfragen genutzt werden. Zugriff auf XML-Dokumente erst am Ende (wenn nötig)
• Die “Spaces” können partitioniert werden.
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
eXist
• Open Source• Online unter: http://exist.sourceforge.net/ • Java (1.4 oder höher)• Keine weitere Software nötig (Cocoon /
Jetty als Web Server enthalten aber nicht zwingend nötig)
• Speichert auch nicht XML-Dateien (HTML, XQuery, CSS, …)
• Fact sheet
Hybrid Database – DB2 UDB Architecture
SERVER
CLIENT SQL
XQuery
DB2 Engine
XMLInterface
RelationalInterface Relational
XML
Storage:
Client /Customer Client Application
– Native XML data type (server & client side) – XML Capabilities in all database components– Applications combine XML & relational data
Folie übernommen von: George Lapis (IBM)
Choosing database storage for XML data
Storing XML as BLOB or VARCHAR
Shredding XML into relational tables
Storing XML in native format
Folie übernommen von: George Lapis (IBM)
Storing XML in Shredded Form
Folie übernommen von: George Lapis (IBM)
Storing XML in a Native XML data type
Folie übernommen von: George Lapis (IBM)
Schema Flexibility Best Bad Best
XML Search Performance Bad Good Best
Full Document Retrieval Perf Best Bad Good
Partial Document Retrieval Perf Bad Good Best
Insert Performance Best Bad Good
Sub-doc Level Update Perf Bad Good Best
Sub-doc Level Concurrency Bad Good Best
Full Document Delete Best Bad Good
Preserve Doc Structure, Order Best Bad Best
XML Parsing Required at Insert Optional Yes Yes
XML Parsing Required at Query Yes No No
CLOB SHRED NATIVE
Folie übernommen von: George Lapis (IBM)
Summary
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
… es gibt weitere Aspekte
• Performance kann schwanken je nach:– Größe der XML-Datei– Aufbau der XML-Datei– Gesamtgröße der Datenbank– Art der Umsetzung
• Wieviel Speicherplatz wird benötigt?• Anfrage-Performance – Wonach wird gesucht?
– Gesamtes Dokument, über Dokumente hinweg, einzelne Komponenten, …
• …
WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle
Buch-Beschreibung unter: http://portal.acm.org/citation.cfm?id=599754&dl=acm&coll=&CFID=15151515&CFTOKEN=6184618
… sollte in der Bib. sein!