Bastian Gorke

XML-Datenbanken in der Praxis

Praktischer Einblick in die Welt der XML-Datenbanken und ihrer Verwendung in Programmiersprachen

Kurzvorstellung des Buches XML-Datenbanken in der Praxis

Pixd - eine Bilddatenbank

Für dieses Buch soll ein Beispiel die Grundlagen zur Arbeit mit XML-Datenbanken zeigen. In diesem Kapitel soll der Leser, auf die Vorteile der Anwendungsentwicklung auf Basis einer XML-Datenbank aufmerksam gemacht werden. Als Beispiel wird eine einfache Bilddatenbank samt Clients erstellt. Da jedes Projekt einen Namen braucht, sei die Beispieldatenbank 'pixd' genannt – Picture XML Database.

Bei der Umsetzung der Beispielanwendungen wird soweit wie möglich eine neutrale Schnittstelle verwendet, so dass die Beispiele auch nach leichten Veränderungen mit anderen Datenbanksystemen funktionieren sollten.

Die erste Anwendung stellt ein Java-Client dar, der die Bilder von der Festplatte lädt, mit Zusatzinformationen ausstattet und dann in der Datenback speichert. Für die spätere Ansicht und allgemeine Verwaltung wird eine einfache PHP5-Anwendung erstellt, die die Bilder mit weiteren Informationen bestückt, die Suche und Ansicht ermöglicht sowie die Zuordnung der Bilder zu einzelnen Stichworten unterstützt. Die dritte Anwendung ist im eigentlichen Sinne keine Anwendung, sondern nur eine, ausschließlich mit Datenbankmitteln realisierte, Bildergalerie. Hierbei wird direkt auf die XSL-Fähigkeiten der Datenbank aufgesetzt.

Vorteile einer XML-Lösung

Wie man schon in der Einleitung zu diesem Kapitel gut erkennen konnte, wird unsere Bilddatenbank sehr flexibel sein, was den Zugriff auf sie angeht. Für diese verschiedenen Zugriffe können, dank offener Schnittstellen, sehr ähnliche Implementierungen in den Programmiersprachen genutzt werden.

Da wir die Daten in einer XML-Datei vorhalten, die natürlich auf dem XML-Datenbank-Server liegt, können durch Transformation des XML durch XSL problemlos verschiedene Ansichten generiert werden.

Eine Besonderheit bietet die hier vorgestellte Lösung. Es gibt keine starren Kategorien in die Bilder eingeordnet werden, sondern über Stichwörter, sogenannte Tags. Ein Bild kann beliebig vielen Stichwörtern zugeordnet werden und ist damit unter jedem der Begriffe verfügbar.

Bei der Abfrage lassen sich dann zahlreiche Kombinationsmöglichkeiten abfragen. Ein Beispiel wäre, alle Bilder eines wunderschönen Sommerurlaubs in Griechenland unter den Stichworten 'urlaub', 'sommer', 'griechenland', '2005' und 'wunderschön' abzulegen. Jeder Ausflugsort bekommt dann noch ein weiteres Stichwort hinzu und so weiter. Man kann natürlich auch zusätzlich noch die abgebildeten Personen, Gebäude oder einfach die Landschaft mittels dieser Zuordnungsmöglichkeit festhalten.

Bei der Abfrage lassen sich nun gezielt beispielsweise alle Bilder aus Sommerurlauben anzeigen oder alle Urlaube des Jahres 2005 oder einfach alle wunderschönen Bilder.

Um dies mit einer klassischen relationalen Datenbank zu realisieren, bedarf es mindestens einer entsprechenden Zuordnungstabelle, die die Verbindung zwischen den einzelnen Stichworten und den Bilddaten hält. Weiterhin wäre eine zusätzliche Tabelle für 'exif'-Daten und Kommentare nötig und all dies ließe sich nur mit einer Programmiersprache abrufen und darstellen.

Daraus lässt sich leicht schlussfolgern, dass die Verarbeitung der unstrukturiert abgelegten Daten aufwendiger ist, als dies bei XML-Daten der Fall wäre. XML-Datenbanken nutzen dazu noch optimierte Methoden, mit denen sie die XML-Daten nicht in Zeichenketten sondern meist in Objekten vorhalten. Dadurch wird die Verarbeitungsgeschwindigkeit nochmals verbessert.

Die XML-Lösung ermöglicht eine Umwandlung des XML-Dokumentes direkt im Server in HTML und die sofortige Darstellung im Browser des Betrachters. Das hierfür nötige XML Stylesheet benötigt in seiner Grundversion nur ein paar sehr leicht verständliche Zeilen.

Im Buch weiterlesen...

Zurück zum Inhaltsverzeichnis