1 / 19

Seminar

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.

karah
Download Presentation

Seminar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar XML und Datenbanken Sven Wiegelmann SS 2002

  2. 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

  3. SGML1986 Teilmenge Instanz XML1998 HTML1991 Instanz Entstehung,Geschichte • XML = eXtensible Markup Language • Vorgeschlagen 1996 vom W3C • 1998 Als Standard verabschiedet • Vor XML: • SGML • Beschreibungssprache für strukturierte Dokumente mit 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

  4. 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

  5. XML DokumenteBausteine • 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"?>

  6. XML DokumenteBausteine • 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

  7. XML DokumenteBausteine • 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

  8. XML DokumenteDTD • 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

  9. XML DokumenteBeispiel <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)> ]>

  10. XML DokumenteBeispiel <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>

  11. XML DokumentartenWohlgeformte 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

  12. XML und DatenbankenIst 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

  13. XML und DatenbankenXML = 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

  14. XML und DatenbankenFazit • 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

  15. XML und DatenbankenDaten- 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

  16. XML und DatenbankenStrategien • 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)

  17. XML und DatenbankenProbleme • Problem: Unterschiede der beiden Konzepte XML und rDBMS

  18. XML und DatenbankenVorgehensweisen 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

  19. XML und DatenbankenObject-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

More Related