Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Webprogrammierung: Basiswissen

Daten und Datenbanken

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Sobald auch nur halbwegs umfangreiche Datenbestände ins Spiel kommen, führt kein Weg mehr am Einsatz einer Datenbank vorbei. Machen Sie sich daher mit den Grundlagen zu Datenbanken vertraut.

Transkript

Eine Webseite stellt normalerweise nicht einfach nur unveränderliche Inhalte dar, die Sie einmal geschrieben und festgelegt haben, und danach nie wieder ändern. Stattdessen ändert sich der Inhalt vieler Webseiten in Abhängigkeit der verschiedensten Bedingungen. Denken Sie etwa an eine Site mit aktuellen Nachrichten. Da können Sie ja nicht auch immer die gleichen Nachrichten bringen, Sie müssen sie nachher ständig aktualisieren, Sie müssen also jedes Mal schauen, bei jedem Aufruf, was ist unser aktuelles Datum, was ist der aktuelle Nachrichtenstand, was sind die aktuellen Nachrichten, die wir jetzt aktuell auf der Startseite anzeigen müssen. Diese Seiten müssen ständig aktualisiert werden. Es muss also möglich sein, die Daten, das heißt, den eigentlichen Inhalt der Seite, an verschiedene Anforderungen automatisch anzupassen. Schauen wir uns das noch einmal an einigen einfachen alltäglichen Beispielen an, bei denen Daten entgegengenommen, gespeichert und ausgegeben werden. Ein Forum muss zum Beispiel in der Lage sein, den Benutzernamen und das Passwort des Anwenders entgegenzunehmen. Entsprechend gilt zum Beispiel über einen Blog, dass die Eingabe und Speicherung aktueller Blogeinträge möglich sein muss. Besucher müssen in der Lage sein, Kommentare abzugeben, die natürlich ebenfalls gespeichert und bei Bedarf angezeigt werden sollen. Oder nehmen wir eine Site, die Fahrer-Touren anbietet. Hier muss es möglich sein, die aktuellen Touren samt Beschreibung und Preis anzeigen zu können. Auch diese Daten müssen permanent aktualisiert und angepasst werden können, ohne dass wir unseren HTML-Code nochmal irgendwie anpassen und bearbeiten müssten. Diese und viele andere Daten können Sie eben nicht, weil nur sehr, sehr schwer und großem Aufwand, in einfachen HTML Dokumenten speichern und bei Bedarf vom Server an den Browser schicken. Hier muss eine grundlegend andere Lösung her, die es uns erlaubt, Daten nach unseren Wünschen zu speichern und zu verarbeiten und anzuzeigen. Die wohl gängigste Methode, Daten vom Server im Browser zu speichern, sind Cookies. Cookies sind kleine Textschnipsel, die der Server an den Browser schickt, und die dieser lokal speichert. Denn im Cookie lassen sich unterschiedlichste Daten speichern, etwa von welcher Domain er geschickt wurde, oder wann eine Seite zum letzten mal aufgerufen wurde, und dergleichen mehr. Anhand eines Cookies kann ein Server dann zum Beispiel erkennen, ob Sie diese Webseite schon einmal besucht haben, was Ihre Kundennummer ist, wo Ihr Warenkorb liegt und was man eben alles so braucht. HTML5 geht mit dem web storage API noch einen Schritt weiter. Damit lassen sich Informationen in Form vom Namen mit Wert speichern. So können Sie etwa einen Benutzernamen, die session ID, die Kundennummer, das Datum des letzten Logins und ähnliches vom Server aus an den Browser schicken und dort speichern. Im Browser kann dann eine Webseite via JavaScript auf diese gespeicherten Daten zugreifen und die Webseite entsprechend aktualisieren und anpassen. Diese Speicherung von Daten im Browser sind zwar schon viele Dinge möglich, aber man stößt ja auch rasch an die Grenzen. Diese Methoden eignen sich nur für relativ überschaubare Datenmengen, und die vorhin genannten Beispiele sind damit überhaupt nicht zu realisieren. Nein, was wir wirklich benötigen, sind Datenbanken. Sobald Sie also umfangreichere Datenbestände verwalten und eine leistungsfähige flexible Lösung suchen, kommen Sie an den Einsatz einer Datenbank nicht vorbei. Diese Datenbanken werden vom Server verwaltet, liegen also auf dem Server und nicht mehr im Browser. Ein serverseitiges Script sorgt dann dafür, dass die gewünschten Informationen nun ausgelesen und in die Webseite eingefügt werden. Lange Jahre war Datenbank praktisch gleichbedeutend mit relationaler Datenbank oder SQL-Datenbank. Inzwischen werden aber die nicht-relationalen Datenbanken immer populärer. Schauen wir uns also einmal kurz die Unterschiede zwischen diesen beiden Typen von Datenbanken einmal an. Bei relationalen Datenbanken werden die Daten in verschiedenen Tabellen gespeichert. Diese Tabellen werden über verschiedene Schlüsselwerte miteinander verknüpft. Die werden also in Relationen zueinander gesetzt. Nehmen wir an, Sie speichern eine Datenbank, sagen wir mal Informationen zu Büchern. Dann können Sie mit drei Tabellen arbeiten, drei verschiedene Tabellen In der einen Tabelle legen Sie die Titel der Bücher ab, in der zweiten Tabelle eine Liste der Autorennamen und in der dritten Tabelle die Namen der Verlage. Über verschiedene Schlüsselwerte in diesen Tabellen ist dann möglich, die Tabellen so zu verknüpfen, dass sie etwa ein bestimmten Titel abrufen aus der Titeltabelle, und um sein Schlüsselwert, dann den passenden Autor und den passenden Verlag zu diesem Titel heraussuchen. Diese Informationen fügen Sie dann zu einer Information zusammen und setzen sie als Ergebnisse in einer Datenbankabfrage in die Webseite ein. Das klingt jetzt wahrscheinlich ein wenig mühselig, und ehrlich gesagt, das ist es auch, ermöglicht aber komplexe Operationen. Es ist zum Beispiel ein Klacks, zu einem Autor alle Titel anzeigen zu lassen oder zu einem Verlag alle Bücher, die er veröffentlicht hat. Es gibt eine ganze Reihe von relationalen Datenbanken, die allersamt auf SQL basieren. Die wichtigsten sind hier Oracle, MySQL und Sybase. Vermutlich schwant es Ihnen schon, dass der Aufbau in die Verwaltung von relationalen Datenbanken kein Zuckerschlecken ist. Kein Wunder, dass in der letzten Zeit nicht-relationale Datenbanken als Alternative immer populärer werden. Diese NoSQL genannten Datenbanken speichern die Daten nicht mehr in relational verknüpften, vertikal angeordneten und vielfach verschachtelten Tabellen, sondern in einer flachen, horizontalen Hierarchie objektbasierter Tabellen ab. NoSQL-Datenbanken sind in der Regel sehr viel schneller, als eine klassische SQL-Datenbank, und sind obendran leicht zu skalieren. Einige populäre NoSQL-Datenbanken sind etwa MongoDB, CouchDB, SimpleDB, HBase, CouchBase und Cassandra.

Grundlagen der Webprogrammierung: Basiswissen

Lernen Sie die wichgsten Technologien und Begriffe des World Wide Web kennen und sehen Sie, wie Sie sie selbst anwenden können.

2 Std. 21 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!