XML-Datenbank

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche

Startseite > Modul_151


Einleitung

XML-Datenbanken sind Datenbanken oder Datenbanksysteme, welche Daten im XML-Format speichern oder auf andere Weise damit umgehen können. Dabei können XML-Datenbanken in zwei Kategorien unterteilt werden:

  • XML-enabled: Herkömmliche Datenbanksysteme (z. B. Relationale Datenbanksysteme, ...) die ein Mapping auf oder ins XML-Format erlauben. Man bezeichnet diese Vorgehensweise als datenorientiert.
  • Native XML-Datenbanksysteme: Diese Systeme speichern die Information, ähnlich wie bei der Speicherung von XML-Dokumenten im Dateisystem, direkt als XML-Dokumente ab. Sie werden daher auch als dokumentenorientiert bezeichnet.

XML

Die "Extensible Markup Language", kurz XML, ist eine Darstellungs-Sprache für hirarchische Datenstrukturen. Ein XML-Dokument besteht aus Textzeichen, im einfachsten Fall in ASCII-Kodierung, und ist damit menschenlesbar.


XML wird häufig für den Datenaustausch verwendet. XML-Dokumente können sowohl auf dem Rechner als auch in Datenbank-Systemen abgelegt werden.

XML besteht aus Tags. Ein Tag beginnt mit < und endet mit >. Tags existieren in den 3 Formen:

  • Start-Tag: <tag>
  • End-Tag: </tag>
  • Leeres Element-Tag: <tag />



  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <personal>
    <person>
         <vorname>Hans</vorname>
         <nachname>Meier</nachname>
    </person>
    <person>
         <vorname>James</vorname>
         <nachname>Smith</nachname>
    </person>
  </personal>

Vorteile

  • Da XML-Dokumente einen baumartigen Aufbau haben, können hierarchische Datenstrukturen besonders einfach serialisiert werden. XML-Datenbanksysteme können beispielsweise verwendet werden, um strukturierte Dokumente zu speichern.
  • Da XML und verwandte Auszeichnungssprachen weit verbreitete, "offene Standards" des W3Cs sind und viele Implementierungen (meist Open Source) dieser Standards vorhanden sind, ist ein reiches Werkzeug zur Verarbeitung von XML verfügbar.

Nachteile

  • XML-Datenbanksysteme sind bei großer Datenbasis nicht so performant wie relationale Datenbanksysteme.
  • XML-Datenbanksysteme sind häufig nicht so ausgereift, da sie meist jünger sind.
  • Es mangelt oft an Erfahrung im Vergleich zu relationalen Datenbanksystemen.

Persistenz

Tiefensuche
Breitensuche

Eine übliche Methode zur Speicherung von XML-Daten, bei der XPath-Anfragen(XML Path Language: Eine Abfragesprache, um Teile eines XML-Dokumentes zu adressieren.) effizient ausgeführt werden können, ist die Verwendung einer Pre-Post-Tabelle. Dabei werden die Knoten des XML-Baumes einmal in Pre-Order-Reihenfolge (Tiefensuche, Dokumentordnung) und einmal in Post-Order (Breitensuche) nummeriert. Die Nummerierungen lassen sich als Koordinaten in der Ebene auffassen, in die ein XML-Baum gelegt wird.


Tiefensuche

Die Tiefensuche (englisch depth-first search, DFS) bezeichent ein Verfahren in der Informatik. Sie dient zur Suche eines Knotens in einem Graphen. Sie zählt zu den uninformierten Suchalgorithmen.




Breitensuche

Die Breitensuche (englisch breadth-first search, BFS) ist ein Fachbegriff der Informatik. Sie beschreibt ein Verfahren zum Durchsuchen bzw. Durchlaufen der Knoten eines Graphen. Sie zählt zu den uninformierten Suchen, auch blinde Suche genannt.








Einsatzgebiete von XML

Die ständig wachsende Vernetzung von Rechnern ist eng mit dem Anstieg des elektronischen Informationaustausches verbunden. Dies erfordert leicht anwendbare Austauschformate. XML wird deshalb immer häufiger in unterschiedlichen Gebieten eingesetzt:

  • EDI (Electronic Data Interchange)
  • Verbindung verschiedener Softwarekomponenten (Bsp.: Back-End to Front-End)
  • Anbindung von Datenbanken an Applikationen
  • Import/ Export von Datenbankinhalten