Was sind Datenbanken? Einfach erklärt
Ob beim Online-Shopping, in sozialen Netzwerken oder bei der Buchung eines Fluges – viele Aktionen, die wir ausführen, greifen im Hintergrund auf eine Datenbank zu. Sie sorgen dafür, dass riesige Mengen an Informationen sicher und geordnet gespeichert werden. Doch was genau ist eine Datenbank und wie funktioniert sie?

Inhaltsverzeichnis
Warum brauchen wir Datenbanken?
Stellen Sie sich ein großes Unternehmen vor, das vor der Einführung von Datenbanken seine Daten in unzähligen einzelnen Dateien und Ordnern verwaltet hat. Die Kundendaten liegen in der Vertriebsabteilung als Excel-Tabelle, die Produktdaten in der Lagerverwaltung und die Bestelldaten in der Buchhaltung. Dieses Vorgehen führt unweigerlich zu folgenden Problemen:
- Datenredundanz: Dieselben Informationen, wie z. B. die Adresse eines Kunden, sind mehrfach an verschiedenen Orten gespeichert.
- Inkonsistenz: Ändert ein Kunde seine Adresse, muss diese an allen Speicherorten manuell aktualisiert werden. Wird eine Stelle vergessen, sind die Daten nicht mehr einheitlich (inkonsistent), was zu Fehlern bei Lieferungen oder Rechnungen führen kann.
- Fehlende Sicherheit: Es gibt keine zentrale Kontrolle darüber, wer welche Daten einsehen, ändern oder löschen darf.
- Komplizierter Zugriff und mangelnde Parallelität: Sollen Daten aus verschiedenen Abteilungen kombiniert werden, beispielsweise für eine Analyse aller Bestellungen eines bestimmten Kunden, ist dies aufwendig. Zudem können nicht mehrere Benutzer oder Anwendungen gleichzeitig effizient auf dieselben Daten zugreifen, ohne sich gegenseitig zu stören.
Das Datenbanksystem (DBS)
Um diese Probleme zu beseitigen, wurden Datenbanksysteme entwickelt. Ein Datenbanksystem (DBS) besteht aus zwei zentralen Komponenten:
- Datenbank (DB): Die strukturierte Sammlung von Daten selbst. Sie bildet den eigentlichen Datenbestand.
- Datenbankmanagementsystem (DBMS): Die Software, die den Zugriff auf die Datenbank steuert und verwaltet. Sie ist das Herzstück des Systems.
Die Kernaufgabe eines DBMS ist es, große Datenmengen effizient, dauerhaft und fehlerfrei zu speichern und bei Bedarf bereitzustellen. Es stellt sicher, dass mehrere Benutzer gleichzeitig auf die Daten zugreifen können und legt fest, wer welche Daten sehen oder ändern darf.
Die Prinzipien eines modernen Datenbanksystems wurden maßgeblich durch die 9 Codd’schen Regeln geprägt. Einige der wichtigsten davon sind:
- Zentrale und widerspruchsfreie Datenverwaltung: Daten werden an einem zentralen Ort gespeichert, um Wiederholungen (Redundanzen) und Widersprüche zu vermeiden.
- Integritätssicherung: Das System stellt durch definierte Regeln sicher, dass die Daten stets korrekt und in sich stimmig sind (z. B. kann ein Kontostand nicht negativ werden).
- Datenschutz und Zugriffskontrolle: Es wird genau festgelegt, wer welche Daten sehen oder verändern darf, um unbefugte Zugriffe zu verhindern.
- Transaktionen: Mehrere zusammengehörige Operationen (z. B. eine Banküberweisung) werden als eine einzige, unteilbare Einheit behandelt. Entweder sie gelingt komplett oder gar nicht.
- Synchronisation: Das System koordiniert die Zugriffe, wenn mehrere Benutzer gleichzeitig auf dieselben Daten zugreifen, um Konflikte zu vermeiden.
- Datensicherung und Wiederherstellung: Bei einem Systemfehler muss das System in der Lage sein, einen früheren, fehlerfreien Zustand der Daten wiederherzustellen.
Architektur eines Datenbanksystems
Um eine klare Trennung zwischen der physischen Speicherung und der logischen Sicht auf die Daten zu gewährleisten, arbeiten Datenbanksysteme mit einer dreischichtigen Architektur (auch als ANSI-SPARC-Architektur bekannt).
- Externe Ebene: Beschreibt die individuellen Sichten der Benutzer oder Anwendungen auf die Daten. Jede Sicht ist auf die Anforderungen der jeweiligen Nutzergruppe zugeschnitten. So sieht ein Mitarbeiter in der Buchhaltung andere Daten als ein Kollege im Lager, obwohl beide auf dieselbe zentrale Datenbank zugreifen.
- Konzeptuelle Ebene: Definiert die logische Gesamtstruktur der Datenbank. Welche Daten es gibt und wie sie zusammenhängen (z. B. "Ein Kunde kann mehrere Bestellungen haben"). Diese Ebene ist unabhängig davon, wie die Daten gespeichert werden.
- Interne Ebene: Legt fest, wie und wo die Daten physisch auf den Speichermedien (z. B. Festplatten) abgelegt werden, inklusive Speicherstrukturen und Zugriffspfaden (Indizes) für eine optimale Performance.
Der größte Vorteil dieses Modells ist die Datenunabhängigkeit: Änderungen an der physischen Speicherung (interne Ebene), wie der Austausch einer Festplatte, haben keine Auswirkungen auf die logische Struktur oder die Benutzersichten.
Datenbanktypen
Im Laufe der Zeit haben sich verschiedene Arten von Datenbanken entwickelt, die für unterschiedliche Zwecke optimiert sind.
Seit den 1970er-Jahren ist das relationale Modell der dominierende Standard. Hier werden Daten in klar strukturierten Tabellen organisiert, die aus Zeilen und Spalten bestehen. Diese Tabellen können über Schlüssel miteinander verknüpft ("in Relation gesetzt") werden.
Die Sprache, um mit diesen Datenbanken zu kommunizieren, heißt SQL (Structured Query Language). Mit SQL-Befehlen können Daten abgefragt, eingefügt, geändert und gelöscht werden.
- Bekannte Vertreter: MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, SAP HANA
Mit dem Aufkommen von Big Data, flexiblen Web-Anwendungen und dem Internet der Dinge (IoT) stießen relationale Datenbanken an ihre Grenzen. Daraufhin entstanden NoSQL-Datenbanken ("Not only SQL"). Diese sind nicht auf ein starres Tabellenschema festgelegt und können unstrukturierte oder halbstrukturierte Daten wie Dokumente, Bilder oder Graphen effizient speichern.
NoSQL-Datenbanken sind oft auf hohe Skalierbarkeit und Geschwindigkeit ausgelegt, was sie ideal für soziale Netzwerke, IoT-Anwendungen und große Datenanalysen macht.
- Bekannte Beispiele: MongoDB, Neo4j, Cassandra, Redis
Geschichte
1960er Jahre: Die Anfänge bestanden aus einfachen Dateiverwaltungssystemen. Daten waren anwendungsspezifisch, was zu hoher Redundanz führte. Erste hierarchische und Netzwerk-Datenbankmodelle entstanden.
1970er Jahre: Die Revolution. Ted Codd, ein IBM-Forscher, veröffentlichte das relationale Modell. Dies legte die theoretische Grundlage für alle modernen SQL-Datenbanken. Prototypen wie System R (IBM) und Ingres (UC Berkeley) wurden entwickelt.
1980er & 90er Jahre: Relationale Datenbanken erlebten ihren kommerziellen Durchbruch. Gleichzeitig wurde mit objektorientierten Datenbanken experimentiert.
Heute: Die Landschaft ist diversifiziert. Während relationale Systeme weiterhin das Rückgrat vieler Unternehmen bilden, haben sich für spezielle Anwendungsfälle neue Architekturen durchgesetzt, wie bspw. In-Memory-Datenbanken, Cloud-Datenbanken oder NoSQL-Systeme.
Fazit
Datenbanken sind hochkomplexe Systeme, die Ordnung ins Datenchaos bringen, die Integrität und Sicherheit von Informationen gewährleisten und als unsichtbare Helfer im Hintergrund die Grundlage für unzählige Anwendungen und Dienste bilden, die wir täglich nutzen. Von den fundamentalen Prinzipien des relationalen Modells bis zu den flexiblen NoSQL-Systemen für die Herausforderungen von heute.