Einführung in datenbankgestützte Dokumente
Bei einem datenbankgestützten Dokument (auch dynamisches Dokument genannt) handelt es sich um ein Webdokument, bei dem ein Teil des Inhalts oder der gesamte Inhalt nicht im Dokument selbst vorhanden ist, sondern aus einer Datenbank eingelesen wird, wenn das Dokument von einem Webbrowser angefordert wird.
Wie funktionieren datenbankgestützte Dokumente?
Fordert ein Webbrowser ein reguläres HTML-Dokument an, sendet der Webserver das Dokument genau so, wie es vorliegt. Die Kopie des Dokuments im Browserspeicher stimmt also genau mit der Kopie im Dateisystem des Servers überein. Datenbankgestützte Dokumente hingegen funktionieren anders. Wenn ein Browser ein datenbankgestütztes Dokument anfordert, erhält er vom Server nicht das im Dateisystem vorhandene Dokument, sondern ein auf dem Original basierendes, generiertes Dokument. Der Server erzeugt dieses Dokument, wenn er die Anfrage erhält. Das Originaldokument dient dabei als Vorlage, die der Server mit Inhalten aus der Datenbank “füllt”.
Ein datenbankgestütztes Dokument enthält Anweisungen in Form von serverseitigen SkriptsEin als Text in einem Webdokument gespeichertes Programm, das von einem Hostprogramm auf dem Webserver ausgeführt wird., die den Server “auffordern”, bestimmte Informationen aus der Datenbank einzulesen. Erhält der Server eine Anfrage von einem Browser zu datenbankgestützten Dokumenten, geschieht Folgendes:
- Der Server öffnet das Dokument und liest die darin enthaltenen Anweisungen.
- Dann werden die im Skript angegebenen Daten aus der Datenbank eingelesen.
- Anschließend wird ein HTML-Dokument aus den eingelesenen Daten erzeugt – wobei das Originaldokument als Vorlage dient.
- Der Server sendet dann das erzeugte Dokument an den Browser.
Warum werden datenbankgestützte Dokumente verwendet?
Der datenbankgestützte Ansatz ist vor allem bei umfangreichen Sites sinnvoll, die aus vielen ähnlichen Seiten bestehen. Der Webentwickler muss dann nämlich nur ein einziges Dokument entwerfen (die Vorlage), das als Grundlage für viele weitere zu erstellende Dokumente dienen kann. Dieser Ansatz trennt Inhalt (die Daten) und Darstellung (die HTML-Formatierung), ermöglicht die zentrale Zusammenfassung der Inhalte und vereinfacht Änderungen am Sitedesign.
Nehmen Sie als Beispiel einen typischen Online-Buchhandel. Dieser besteht aus Hunderten oder sogar Tausenden an Seiten – eine Seite für jedes Buch – aber alle sind sich sehr ähnlich. Jede Seite zeigt Buchtitel, Autor, Preis, eine kurze Beschreibung und so weiter an. Diese Angaben sind auf allen Seiten genau gleich formatiert. Die individuelle Gestaltung jeder Seite würde eine riesige Aufgabe darstellen – außerdem würde dieses Verfahren durch doppelt vorhandene Seiten eine Menge Speicherplatz kosten, da sich der größte Teil des HTML-Textes auf jeder Seite wiederholen würde. Wenn der Webentwickler dann das Design der Site auch nur geringfügig verändern möchte, müsste jede Seite neu bearbeitet werden – ein sehr aufwändiges Projekt.
Wenn der Online-Buchhandel jedoch datenbankgestützt arbeitet, können diese Probleme vermieden werden. Anstelle eines eigenen Dokuments für jedes Buch würde eine einzige Dokumentvorlage, zusammen mit einer Datenbank, als Grundlage für Tausende von erzeugten Dokumenten dienen. Die Informationen bleiben an einem zentralen Standort erhalten, an dem sie leicht verwaltet werden können. Um das Design der erzeugten Seiten zu ändern, muss lediglich die Vorlage bearbeitet werden.
Grundlegendes zu Abfragezeichenfolgen
In unserem hypothetischen Online-Buchhandel nutzt jeder auf eine Buchbeschreibung verweisende Link den gleichen Dokument-URL, es werden jedoch verschiedene Abfragezeichenfolgen an das Ende des URL angehängt. Anhand der Abfragezeichenfolge erkennt der Webserver das von dem Benutzer aufgerufene Buch. Zum Beispiel könnte der Link zur Beschreibung des Buches Früchte des Zorns folgendermaßen aussehen: http://www.beispiel.com/detail.asp?BuchID=11424. “Detail.asp” steht dabei für den Dateinamen des dynamischen Dokuments, “BuchID” ist der Abfrageparameter und 11424 ist der Wert des Parameters – genauer gesagt, die ID des Buches. Anhand von im Dokument selbst enthaltenen Anweisungen erkennt der Server, in welcher Datenbanktabelle er nach der Information suchen muss, während die Abfragezeichenfolge den einzulesenden Datensatz kennzeichnet.