Was sind Datenbanken?
Digitale Fundamente von Softwares

Aktualisiert am

Stell dir vor, du betreibst einen Online-Shop mit tausenden Produkten, Kundenkonten und Bestellungen. All diese Informationen müssen schnell abrufbar, logisch verknüpft und absolut sicher abgelegt sein. Genau hier kommen Datenbanken ins Spiel. Sie bilden das unsichtbare Gedächtnis im Hintergrund fast jeder digitalen Anwendung. Ohne sie gäbe es keine dynamischen Websites, keine Benutzer-Logins und keine personalisierten Feeds. Sie sind der Dreh- und Angelpunkt, wenn es darum geht, strukturierte Informationen effizient und geschützt zu verwalten.

Was sind
Datenbanken?

Eine Datenbank ist ein System zur elektronischen Datenverwaltung und nahezu unerlässlich in der Webentwicklung. Die Hauptaufgabe besteht darin, große Datenmengen strukturiert, dauerhaft und widerspruchsfrei zu speichern. Im Gegensatz zu einer einfachen Excel-Tabelle, die schnell unübersichtlich wird, arbeitet eine professionelle Datenbank im Hintergrund einer Webanwendung. Sie wird von einem Datenbankmanagementsystem (DBMS) gesteuert. Dieses System sorgt dafür, dass mehrere Nutzer gleichzeitig Daten abrufen oder ändern können, ohne dass es zu Konflikten kommt. Wenn du dich auf einer Website einloggst, gleicht das System deine Eingabe in Millisekunden mit den Einträgen in der Datenbank ab.

Wie funktioniert eine
Datenbank?

Das Prinzip basiert auf dem Zusammenspiel von Abfragen und Speicherstrukturen. Eine Website sendet zum Beispiel über eine API-Schnittstelle eine strukturierte Anfrage an das System. Diese Anfragen werden meist in der Datenbanksprache SQL (Structured Query Language) formuliert.

 

Der Ablauf erfolgt in drei Schritten:

  • Anfrage (= Query): Das Frontend der Website fordert Daten an (z. B. „Zeige alle Produkte der Kategorie Schuhe“).
  • Verarbeitung: Das Datenbanksystem sucht gezielt nach den relevanten Datensätzen.
  • Ausgabe: Die Rohdaten werden an die Website zurückgegeben und dort via Webdesign visuell für dich aufbereitet.

Warum werden Datenbanken
in der Webentwicklung verwendet?

In der modernen Webentwicklung sind dynamische Systeme von besonderer Bedeutung - z.B. so wie ich sie für CMS-Websites oder beinahe jeder Web-Lösung für Unternehmen verwende. Dabei erfordern diese eine flexible Datenhaltung.

 

Die wichtigsten Gründe für den Einsatz von Datenbanken sind:

  • Dynamische Inhalte: Eine Website mit modernem CMS lädt Texte, Bilderlinks und Layout-Einstellungen flexibel aus einer zentraler Quelle.
  • Effizientes Caching: Um Ladezeiten zu minimieren, wird intelligentes Caching eingesetzt, das häufig genutzte Datenbankabfragen zwischenspeichert.
  • Personalisierung: Erst durch gespeicherte Profile und Berechtigungen wird ein individuelles Nutzererlebnis möglich.
  • Datenintegrität: Die Systeme verhindern, dass wichtige Daten versehentlich überschrieben werden oder verloren gehen.

Datenbank-Typen
auf einen Blick

Nicht jede Technologie passt zu jedem Projekt. In der Softwarearchitektur kommen je nach Anforderung unterschiedliche Systeme zum Einsatz.

 

Hier sind die gängigsten Typen im Überblick:

  • MySQL / MariaDB: Die weltweit beliebtesten relationalen Systeme. Sie bilden standardmäßig die Basis für die meisten Content-Management-Systeme und klassischen E-Commerce-Plattformen.
  • PostgreSQL: Ein extrem mächtiges, objektrelationales System. Es wird bevorzugt bei komplexen Anwendungen mit riesigen Datenmengen und anspruchsvollen mathematischen Abfragen genutzt, beispielsweise in GIS.
  • NoSQL (z. B. MongoDB): Diese Systeme speichern Daten nicht in Tabellen, sondern in flexiblen Dokumenten. Ideal für Big Data, Echtzeit-Chats oder unstrukturierte Datenströme.
  • SQLite: Eine minimalistische, dateibasierte Datenbank. Sie benötigt keinen eigenen Server und wird häufig für lokale Testumgebungen oder in mobilen Apps eingesetzt.
  • IndexedDB: Eine im Browser integrierte Technologie. Sie ermöglicht es, Daten direkt auf dem Endgerät des Nutzers zu speichern, was besonders für Mobile-First-Design und Offline-Funktionalitäten wichtig ist.
  • Oracle: Ein hochpreisiges Enterprise-System. Es wird vor allem von Banken, Konzernen und Behörden genutzt, die maximale Skalierbarkeit und Herstellersupport benötigen.

Datenbank-Architektur Planung
mit ER-Diagrammen

Bevor die erste Zeile Code geschrieben wird, muss die Struktur der Datenbanken feststehen. Nachträgliche Änderungen an der Architektur sind aufwendig und fehleranfällig. Planer nutzen hierfür Entity-Relationship-Diagramme (ER-Diagramme). Diese grafischen Modelle visualisieren, welche Datentöpfe (Entitäten) existieren und wie sie miteinander in Beziehung stehen (z. B. „Ein Kunde kann mehrere Bestellungen aufgeben“).

 

Eine saubere Planung sorgt dafür, dass die Anwendung auch nach Jahren stabil bleibt und problemlos mit modernen Softwares kommunizieren kann.

Die technischen Kernkonzepte
von SQL-Datenbanken

Wer tiefer in das Thema relationale Datenbanken eintaucht, stößt auf Begriffe, die für die Leistung und Ausfallsicherheit eines Systems sorgen. Diese Mechanismen garantieren, dass Datenkonsistenz keine Glückssache ist.

  • Normalisierung (Normalization): Ein Prozess, bei dem Daten logisch aufgeteilt werden. Ziel ist es, redundante (doppelte) Einträge zu eliminieren und Speicherplatz zu sparen.
  • Indizierung (Indexing): Funktioniert wie das Stichwortverzeichnis in einem dicken Buch. Statt jede Zeile einzeln zu durchsuchen, springt das System dank des Index direkt zum gesuchten Wert, was Abfragen massiv beschleunigt.
  • Views (Virtuelle Tabellen): Gespeicherte Abfragen, die dem Nutzer wie eine normale Tabelle angezeigt werden. Sie vereinfachen komplexe Datenstrukturen und erhöhen die Sicherheit, da sensible Ursprungsdaten verborgen bleiben.
  • Transaktionen & Rollback: Das Sicherheitsnetz bei kritischen Prozessen. Schlägt bei einer Online-Zahlung der letzte Schritt fehl, sorgt ein Rollback dafür, dass alle vorherigen Teilschritte rückgängig gemacht werden. Es entstehen niemals halbe Datenbestände.
  • Race Conditions vermeiden: Wenn zwei Nutzer exakt zeitgleich das letzte Ticket kaufen wollen, verhindert die Datenbank durch intelligentes Sperren (Locking), dass es zu Konflikten oder Fehlbuchungen kommt.
  • Connection-Pooling: Datenbankverbindungen sind kostbar. Statt für jeden Seitenaufruf eine neue Verbindung aufzubauen, verwaltet ein Pool offene Kanäle wieder und hält die Website performant.
  • Load Balancing & Read-Write Splitting: Bei extrem hohem Datenverkehr (z.B. ein Besucheransturm bei einer Werbekampagne) werden die Anfragen auf mehrere Servern verteilt. Schreibzugriffe landen auf dem Hauptserver, während Lesezugriffe über gespiegelte Server abgewickelt werden.
  • Backups: Automatisierte Sicherungen sind Pflicht. Sie garantieren, dass im Falle eines Serverausfalls alle Datenbestände ohne Verluste wiederhergestellt werden können.

Sicherheit und Datenschutz
bei Datenbanken

Datenbanken sind oft das primäre Ziel von Cyberangriffen. Daher müssen sie wie ein Tresor geschützt werden. In Österreich gelten durch die DSGVO und das E-Commerce-Gesetz strengste Regeln für die Speicherung personenbezogener Daten. Zudem rücken regulatorische Vorgaben wie der EU Cyber Resilience Act und NIS-2 IT-Infrastrukturen und Datenbank-Sicherheit weiter in den Fokus.

 

Die wichtigsten Sicherheits-Prinzipien lauten:

  • Keine öffentliche Erreichbarkeit: Eine Datenbank darf niemals direkt über das Internet zugänglich sein. Der Zugriff sollte ausschließlich lokal oder über verschlüsselte SSH-Tunnel erfolgen.
  • Strikte Rollentrennung: Es darf niemals ein einziger Administrator-Nutzer für alle Datenbanken verwendet werden. Jede Anwendung erhält einen eigenen Benutzer mit minimalen Rechten.
  • Schutz vor Data Vermischung: Die Anwendungsarchitektur muss so sauber isoliert sein, dass Programmierfehler im Frontend nicht dazu führen, dass Daten eines Nutzers für einen anderen sichtbar werden. Gerade bei Unternehmen mit kritischen Datenschutzanforderungen muss hier genaustens geplant und getestet werden!
  • Umgang mit Cookies: Werden Session-IDs oder Nutzerdaten in Cookies gespeichert, müssen diese serverseitig in der Datenbank streng validiert werden, um Session-Diebstahl zu verhindern wo sich sonst die Angreifer mit dieser Session in die Anwendung einloggen kann.

Häufig gestellte Fragen
zu Datenbanken

Relationale Systeme (SQL) speichern Daten in fest definierten Tabellen mit klaren Beziehungen untereinander. Nicht-relationale Systeme (NoSQL) nutzen flexible Dokumente oder Schlüssel-Wert-Paare, was sie anpassungsfähiger für unstrukturierte Datenmengen macht.

Eine nachhaltige Website glänzt durch minimale Serverlast. Schlecht optimierte Abfragen verbrauchen enorme Rechenleistung und Energie. Durch sauberes Indexing und schlanke Abfragen sinkt der CO2-Fußabdruck des Servers spürbar.

Ja, ein SSG baut zum Beispiel die gesamte Website bereits während der Entwicklung in fertige HTML-Dateien um. Zur Laufzeit auf dem Server wird dann keine Live-Datenbank mehr benötigt, was die Website extrem schnell und sicher macht.

Der Begriff „Online-Datenbank“ wird oft fälschlicherweise als Synonym für komplexe Softwarelösungen wie ERP-Systeme oder Custom Dashboards verwendet. Tatsächlich bezeichnet er jedoch primär eine strukturierte Datensammlung, die auf einem externen Server liegt und über das Internet zugänglich ist.

 

Kurzum: Eine Online-Datenbank stellt die Rohdatenbasis bereit. Der Zugriff darauf erfolgt entweder über + oder über Benutzeroberflächen von Webanwendungen (wie beispielsweise Wikipedia).

Hast du weitere Fragen oder suchst
nach einer Datenbank-Lösung?