Seminar

19
Seminar Seminar XML und Datenbanken Sven Wiegelmann SS 2002

description

Seminar. XML und Datenbanken Sven Wiegelmann SS 2002. Inhalt. Überblick XML: Entstehung, Geschichte Ziele XML Dokumente XML Dokumentarten XML und Datenbanken Ist XML eine Datenbank? XML = DBMS? Fazit Speicherung von XML Dokumenten in DB. SGML 1986. Teilmenge. Instanz. XML 1998. - PowerPoint PPT Presentation

Transcript of Seminar

Page 1: Seminar

SeminarSeminar

XML und Datenbanken

Sven Wiegelmann SS 2002

Page 2: Seminar

InhaltInhalt

Überblick XML:– Entstehung, Geschichte – Ziele– XML Dokumente– XML Dokumentarten

XML und Datenbanken– Ist XML eine Datenbank?– XML = DBMS?– Fazit– Speicherung von XML Dokumenten in DB

Page 3: Seminar

Entstehung,GeschichteEntstehung,Geschichte

XML = eXtensible Markup Language Vorgeschlagen 1996 vom W3C 1998 Als Standard verabschiedet

Vor XML:– SGML

Beschreibungssprache für strukturierte Dokumentemit recht komplexen Umfang.

XML stellt Untermenge von SGML dar

– HTML Ist eine Instanz von SGML Konzipiert als Präsentationssprache Elemente (Tags) fest vorgeschrieben im Gegensatz zu SGML oder XML

XML vom Niveau zwischen SGML und HTML einzuordnen

SGMLSGML19861986

HTMLHTML19911991

XMLXML19981998 InstanzInstanz

TeilmengeTeilmenge InstanzInstanz

Page 4: Seminar

ZieleZiele XML ist eine Strukturbeschreibungssprache Zweck: Informationen in hierarchischer Struktur abzubilden

10 Ziele des W3C für das Design von XML:1. XML soll sich über das Internet leicht benutzen lassen2. Plattformunabhängiges Format zum Austausch3. Kompatibilität mit SGML4. Einfache Programmierung von Applikationen die XML benutzen5. Keine zusätzlichen Features6. XML Dokumente sollten leicht lesbar und verständlich sein7. Das Design (von XML) sollte leicht zu erstellen sein8. Das Design sollte formal und prägnant sein9. XML Dokumente sollten leicht zu erstellen sein10. Lesbarkeit geht vor kurze Notation

Page 5: Seminar

XML DokumenteXML DokumenteBausteineBausteine

Deklaration– Steht am Anfang eines XML Dokuments– Beinhaltet

XML Versionsnummer Evtl. den verwendeten Zeichensatz nach ISO Norm Evtl. ob das XML Dokument in einer einzelnen Datei gespeichert ist Evtl. ob eine externe DTD benutzt wird

– Beispiel: <?xml version="1.0" encoding="ISO-8859-1"?>

Page 6: Seminar

XML DokumenteXML DokumenteBausteineBausteine

Tags:– Syntax identisch mit HTML– Bestehen immer aus Start- und Ende-Tag. Ausnahme:

Leere Tags– Syntax: <br></br> oder <br />

– Start-/Ende-Tag bilden ein Element– Groß-/Kleinschreibung wird beachtet– Alle Elemente werden von einem Wurzelelement umschlossen– Können Attribute (Parameter) enthalten

Page 7: Seminar

XML DokumenteXML DokumenteBausteineBausteine

Kommentare– Syntax: <!-- ...... -->

Entity-Referenzen– Verhindern Falschinterpretation von Zeichen– 5 vordefinierte Referenzen z.B. &gt entspricht >– Erstellung eigener Referenzen möglich z.B.

<!ENTITIY Bild1 SYSTEM “Bild1.jpg“ NDATA JPEG> wird aufgerufen mit &Bild1

CDATA-Abschnitte– Zeichen innerhalb dieser Abschnitte werden nicht ausgewertet und blind

übernommen– Bsp:<![CDATA[Ich schreibe < und & wie ich will]]>

Stylesheets– Möglichkeit zur Formatierung eines XML Dokuments– CSS- oder XSL-Stylesheet

Page 8: Seminar

XML DokumenteXML DokumenteDTDDTD

DTD =Document Type Definition– Optional– Bestimmt Struktur eines XML Dokuments– Vergleichbar mit der Grammatik einer Sprache– Definiert alle verwendeten Elemente, Attribute etc. und deren

Beziehungen Dokumenttypdeklaration

– Spezifiziert die innerhalb eines XML Dokuments verwendete DTD– Enthält die verwendete DTD direkt (intern) oder einen verweis darauf

(extern)– Bsp:

<!DOCTYPE Bibliothek [...]> Intern <!DOCTYPE wurzelelement SYSTEM “Bibliothek.dtd“> Extern

Page 9: Seminar

XML DokumenteXML DokumenteBeispielBeispiel

<xml version=“1.0“ encoding=“ISO-8859-1“>  <!DOCTYPE Lager [  <!ELEMENT Lager (reifen*)> <!ELEMENT reifen (modell, groesse+, gmischung*,

hersteller,)> <!ATTLIST reifen spezifikation ( v | h )>  <!ELEMENT modell (#PCDATA)> <!ELEMENT groesse (#PCDATA)> <!ELEMENT gmischung ( w | m | h ) > <!ELEMENT hersteller (#PCDATA)> ]>

Page 10: Seminar

XML DokumenteXML DokumenteBeispielBeispiel

<Lager> <reifen spezifikation=’h’>

<modell> D208 </modell><groesse> 180/50-17 </groesse><groesse> 190/50-17 </groesse><gmischung> w </gmischung><gmischung> m </gmischung><gmischung> h </gmischung><hersteller> Dunlop </hersteller>

</reifen><reifen spezifikation=’v’>

<modell> MX50e </modell><groesse> 110/70-17 </groesse><hersteller> Michelin </hersteller> 

</reifen>......

</Lager> </xml>

Page 11: Seminar

XML DokumentartenXML DokumentartenWohlgeformte und Gültige DokumenteWohlgeformte und Gültige Dokumente

Wohlgeformte Dokumente (Well Formed Dokuments)– Wohlgeformte Dokumente müssen keine DTD enthalten, jedoch neben

korrekter Syntax einige Regeln erfüllen XML Deklaration am Anfang des Dokuments Ein Wurzelelement muss alle anderen umfassen Alle Elemente besitzen Start- und Ende-Tags (Ausnahme Leere Tags) und

korrekt geschachtelt sein Attributwerte müssen in Anführungszeichen gesetzt sein

Gültige Dokumente (Valid Documents)– Alle verwendeten Elemente müssen in der DTD definiert sein– Die Verwendung der der Elemente muss mit der DTD übereinstimmen

Page 12: Seminar

XML und DatenbankenXML und DatenbankenIst XML eine Datenbank?Ist XML eine Datenbank?

Ein XML Dokument ist eine DB im engsten Sinn

Sammlung von Daten

XML als DB-Format– Vorteile:

Selbstbeschreibend Portabel Beschreibt Daten in Baumstruktur

– Nachteile Sehr wortreich Langsame Zugriffe durch Parsen und Text Umsetzung

Page 13: Seminar

XML und DatenbankenXML und DatenbankenXML = DBMS?XML = DBMS?

Ist es möglich mit XML und zugehörigen Technologien eine Datenbank im weiteren Sinne (DBMS) zu verwirklichen?

Plus:– XML stellt viele Funktionen eines DBMS zur Verfügung:

Speicherung XML Dokument DB Schema DTD

Tabellenbeschreibung Abfrage Sprachen Xquery SQL Programmierbare Schnittstellen DOM Embedded SQL

Minus bzw. fehlende Funktionen: Effiziente Speicherung Sicherheitsmechanismen Transaktions- und Datenintegrität

Page 14: Seminar

XML und DatenbankenXML und DatenbankenFazitFazit

XML und seine Techniken eignen sich nur bedingt als DB bzw. DBMS

Sinnvoll nur für Anwendungen mit:– Wenig Daten– Wenigen Benutzern– Nicht zu hohen Performance Ansprüchen

typischerweise für Persönliche Adresslisten, Mp3 Beschreibungen.

Durch Verfügbarkeit von Datenbanken wie Access nicht besonders sinnvoll

Besser: Speicherung von XML Dokumenten in “wirklichen“ Datenbanken

Page 15: Seminar

XML und DatenbankenXML und DatenbankenDaten- und Dokumentzentrierte DokumenteDaten- und Dokumentzentrierte Dokumente

Datenzentrierte Dokumente:– XML Dokumente dienen als Datentransport– Physikalische Struktur meistens nebensächlich– Typisch für:

Bestellungen Krankenakten Wissenschaftliche Daten Etc.

Dokumentzentrierte Dokumente:– Zumeist für “menschliche Konsumenten“ gedachte Dokumente– Physikalische Struktur wichtig – Charakteristische Eigenschaften:

Unregelmäßige Struktur Gemischter Inhalt

– Bespiele: Bücher, e-mails, statische Webpages

Page 16: Seminar

XML und DatenbankenXML und DatenbankenStrategienStrategien

Ziel: Vorteile beider Technologien zu nutzen.

Strategien:– XML Erweiterte Datenbanken (XED):

z.B. XSU (Oracle), XML-DBMS (Robert Bourret)

– XML Native Datenbanken (XND) z.B. Tamio (Software AG), X-Hive

– Hybride XML Datenbanken (HXD) z.B. Excelon (ExcelonCorp)

Page 17: Seminar

XML und DatenbankenXML und DatenbankenProblemeProbleme

Problem: Unterschiede der beiden Konzepte XML und rDBMS

XML rDBMS

Daten in einzelner hierarchischer Datei

Daten in verschiedenen Tabellen

Knoten besitzen Elemente und/oder Attributwerte

Zellen/Felder haben nur einen Wert

Elemente können verschachtelt sein

Jedes Feld hat einen atomaren Wert

Elemente sind geordnet Zeilen7Spalten unterliegen keiner definierten Ordnung

Schema optional Schema notwendig

Direkte Speicherung/Erzeugung einfacher Dokumente

Joins notwendig

Anfragen durch XML Standards Anfragen durch SQL für XML erweitert

Page 18: Seminar

XML und DatenbankenXML und DatenbankenVorgehensweisenVorgehensweisen

2 Ansätze zur Speicherung von XML Dokumenten in relationalen DB: Zuordnung durch Vorlagen

– Problem: Struktur der Datenbank– Wird bei XSQL von Oracle verwendet

Zuordnung durch Datenmodell– 2 Beispiele:

XML Dokument entspricht einem Feld einer Tabelle z.B. vom Typ CLOB Ein Element entspricht einem Feld einer Tabelle. Zusätzlich wird dessen

Position abgespeichert

Page 19: Seminar

XML und DatenbankenXML und DatenbankenObject-Relational MappingObject-Relational Mapping

Vorgehensweise wird von allen XED benutzt Technik:

– Daten werden als Baum von Objekten abgebildet– Komplexe Elemente Klassen– Simple Elemente scalare Eigenschaften– Klassen Tabellen– Eigenschaften Spalten