ws2006/2007 vorlesung: datenbanken und internet copyright 2006 – dbis/dr. karsten tolle validating...

Post on 05-Apr-2015

114 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related