Powerpoint

Werbung
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
Entstehung,Geschichte


XML = eXtensible Markup Language
Vorgeschlagen 1996 vom W3C
1998 Als Standard verabschiedet

Vor XML:

–
SGML


–
HTML




Beschreibungssprache für strukturierte Dokumente
mit recht komplexen Umfang.
XML stellt Untermenge von SGML dar
SGML
1986
Teilmenge
XML
1998
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
Instanz
Instanz
HTML
1991
Ziele


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 lassen
2. Plattformunabhängiges Format zum Austausch
3. Kompatibilität mit SGML
4. Einfache Programmierung von Applikationen die XML benutzen
5. Keine zusätzlichen Features
6. XML Dokumente sollten leicht lesbar und verständlich sein
7. Das Design (von XML) sollte leicht zu erstellen sein
8. Das Design sollte formal und prägnant sein
9. XML Dokumente sollten leicht zu erstellen sein
10. Lesbarkeit geht vor kurze Notation
XML Dokumente
Bausteine

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"?>
XML Dokumente
Bausteine

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
XML Dokumente
Bausteine

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
XML Dokumente
DTD

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 [...]>
<!DOCTYPE wurzelelement SYSTEM “Bibliothek.dtd“>
Intern
Extern
XML Dokumente
Beispiel
<xml version=“1.0“ encoding=“ISO-8859-1“>
<!DOCTYPE Lager [
<!ELEMENT
<!ELEMENT
hersteller,)>
<!ATTLIST
Lager
reifen
(reifen*)>
(modell, groesse+, gmischung*,
reifen
spezifikation ( v | h )>
<!ELEMENT modell
<!ELEMENT groesse
<!ELEMENT gmischung
<!ELEMENT hersteller
]>
(#PCDATA)>
(#PCDATA)>
(w|m|h)>
(#PCDATA)>
XML Dokumente
Beispiel
<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>
XML Dokumentarten
Wohlgeformte 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
XML und Datenbanken
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
XML und Datenbanken
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
XML und Datenbanken
Fazit


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
XML und Datenbanken
Daten- 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
XML und Datenbanken
Strategien

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)
XML und Datenbanken
Probleme

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
XML und Datenbanken
Vorgehensweisen
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
XML und Datenbanken
Object-Relational Mapping


Vorgehensweise wird von allen XED benutzt
Technik:
– Daten werden als Baum von Objekten abgebildet
– Komplexe Elemente 
– Simple Elemente
– Klassen
– Eigenschaften



Klassen
scalare Eigenschaften
Tabellen
Spalten
Herunterladen