Was ist eine Datenbank und wie funktioniert sie?

Autor: Veröffentlicht

Kurz erklärt: Eine Datenbank ist eine geordnete Sammlung von Informationen, die sich durchsuchen, ergänzen und aktualisieren lässt. Onlineshops, Banken und Reservierungssysteme nutzen sie unter anderem, um Daten zu Kunden, Produkten oder Transaktionen zu speichern. Für die Verwaltung der Datenbank ist meist eine spezielle Software zuständig, die auch Zugriffsrechte und die korrekte Ausführung von Vorgängen überwacht.

Datenbank und Verwaltungssoftware

Eine Datenbank lässt sich mit einer gut organisierten Kartei vergleichen. Jede Information hat einen festgelegten Platz und eine bestimmte Form. Dadurch muss man nicht den gesamten Bestand durchsehen, um einen gesuchten Eintrag zu finden. Anders als eine Papierkartei ermöglicht eine Datenbank auch, Informationen schnell miteinander zu verknüpfen, beispielsweise um alle Bestellungen eines bestimmten Kunden anzuzeigen.

Die Datenbank selbst ist nicht dasselbe wie ein Datenbankmanagementsystem, also ein Programm zum Speichern, Lesen und Kontrollieren von Daten. Beispiele für solche Systeme sind PostgreSQL, MySQL und SQLite. Im Alltag bezeichnet „Datenbank“ häufig sowohl die Informationssammlung als auch die zugehörige Verwaltungssoftware. Technisch sind das jedoch zwei unterschiedliche Bestandteile.

Wer einen Shop oder eine Anwendung nutzt, arbeitet normalerweise nicht direkt mit der Datenbank. Man füllt ein Formular aus oder klickt auf eine Schaltfläche, und die Anwendung übermittelt den entsprechenden Befehl an das Datenbankmanagementsystem.

Wie Daten organisiert und gesucht werden

In einer relationalen Datenbank werden Informationen in Tabellen gespeichert, die miteinander verknüpft werden können. Eine Zeile, auch Datensatz genannt, beschreibt ein einzelnes Objekt, beispielsweise ein Produkt. Die Spalten geben dessen Eigenschaften an, etwa den Namen, den Preis oder die verfügbare Stückzahl.

Eine vereinfachte Produkttabelle könnte so aussehen:

ProduktkennungNamePreisVerfügbare Stückzahl
101Weißer Becher29 zł18
102Dunkelblauer Becher32 zł7

Ein Primärschlüssel ist ein Feld oder eine Kombination von Feldern, die einen Datensatz eindeutig identifiziert. In diesem Beispiel ist das die Produktkennung. Selbst wenn zwei Produkte denselben Namen haben, lassen sie sich anhand ihrer Kennungen unterscheiden.

Eine separate Tabelle kann Bestellungen enthalten und eine weitere deren Positionen mit den Produktkennungen und bestellten Mengen. Solche Verknüpfungen verringern die unnötige Mehrfachspeicherung von Informationen. Das bedeutet allerdings nicht, dass Daten grundsätzlich nicht kopiert werden dürfen: In einer Bestellposition wird üblicherweise der Preis zum Kaufzeitpunkt gespeichert, da spätere Preisänderungen die Verkaufshistorie nicht verändern sollen.

Für die Arbeit mit relationalen Datenbanken wird häufig SQL verwendet, eine Befehlssprache zum Lesen und Ändern von Daten. Eine Abfrage kann beispielsweise Produkte abrufen, von denen weniger als zehn Stück übrig sind. Indizes können die Suche beschleunigen. Das sind zusätzliche Strukturen, die ähnlich wie das Stichwortverzeichnis eines Buches funktionieren. Sie benötigen jedoch Speicherplatz und erhöhen den Aufwand bei Datenaktualisierungen, weshalb sie nicht unbegrenzt angelegt werden.

Was beim Kauf in der Datenbank passiert

Stellen Sie sich einen Shop vor, in dem nur noch ein Exemplar eines Produkts verfügbar ist. Zwei Personen versuchen fast gleichzeitig, es zu kaufen. Die Zahl „1“ auf der Website anzuzeigen, reicht allein nicht aus: Das System muss entscheiden, welcher Vorgang erfolgreich abgeschlossen werden kann.

Dabei hilft eine Transaktion, also eine Gruppe von Vorgängen, die als Einheit behandelt werden. Das Anlegen einer Bestellung und das Verringern des Lagerbestands lassen sich so ausführen, dass entweder beide Änderungen bestätigt werden oder keine davon gespeichert wird. Eine passend gestaltete Verarbeitung von Transaktionen und gleichzeitigen Zugriffen verhindert, dass dasselbe letzte Exemplar an zwei Personen verkauft wird.

Eine Datenbank sorgt jedoch nicht automatisch dafür, dass der gesamte Shop korrekt funktioniert. Der Programmierer muss die Regeln richtig festlegen, beispielsweise das Verbot eines negativen Lagerbestands. Eine Zahlung in einem externen System erfordert eine zusätzliche Verarbeitung von Fehlern und Bestätigungen. Sie wird nicht allein deshalb Teil der lokalen Transaktion, weil sie denselben Kauf betrifft.

Worin sich eine Datenbank von einer Tabellenkalkulation unterscheidet

Eine Tabellenkalkulation eignet sich gut für manuell erstellte Übersichten, Berechnungen und Analysen. Wenn eine einzelne Person eine kleine Liste der Büroausstattung führt, kann eine Tabellenkalkulation die einfachere Lösung sein als eine separate Anwendung mit Datenbank.

Eine Datenbank ist besonders nützlich, wenn:

Die Grenze hängt nicht allein von der Anzahl der Zeilen ab. Selbst ein kleines Reservierungssystem kann eine Datenbank benötigen, weil es verhindern muss, dass derselbe Termin mehreren Personen zugeteilt wird. Eine umfangreiche, einmalig erstellte Übersicht lässt sich hingegen möglicherweise weiterhin bequem in einer Tabellenkalkulation analysieren.

Wie Sie den Datenbanktyp wählen und Ihre Daten schützen

Nicht alle Datenbanken verwenden verknüpfte Tabellen. NoSQL-Datenbanken ist ein Sammelbegriff für verschiedene Lösungen. Dazu gehören unter anderem Dokumentendatenbanken, die Informationen als Dokumente mit einer bestimmten Struktur speichern, sowie Schlüssel-Wert-Datenbanken, die einem eindeutigen Schlüssel einen Wert zuordnen. Sie sind nicht grundsätzlich schneller oder besser als relationale Datenbanken. Die Wahl hängt davon ab, wie Informationen gespeichert und gelesen werden.

Für eine typische Anwendung zur Verwaltung von Kunden, Bestellungen und Abrechnungen ist eine relationale Datenbank oft ein sinnvoller Ausgangspunkt. Wenn Sie ein fertiges Content-Management-System oder einen Shop in Betrieb nehmen, prüfen Sie zuerst die Anforderungen des Herstellers. Diese Software legt gewöhnlich fest, welche Datenbanksysteme und Versionen sie unterstützt.

Unabhängig von der Technologie sind eingeschränkte Zugriffsrechte, Updates und Sicherungskopien erforderlich. Eine Sicherungskopie ermöglicht die Wiederherstellung von Daten nach einem Ausfall oder einem Versehen. Ob sie tatsächlich brauchbar ist, sollte jedoch durch eine testweise Wiederherstellung geprüft werden. Die bloße Aussage, dass eine Sicherung „täglich erstellt wird“, bestätigt nicht, dass sich daraus eine funktionsfähige Datenbank wiederherstellen lässt.

Notieren Sie vor der Auswahl eines Werkzeugs, welche Informationen Sie speichern möchten, wer sie ändern wird und welche Fehler das System verhindern soll. Diese kurze Beschreibung hilft Ihnen einzuschätzen, ob eine Tabellenkalkulation oder eine fertige Anwendung ausreicht oder ob Sie eine eigene Lösung mit Datenbank benötigen.

Lesen Sie auch

Wie PHP-FPM PHP-Anfragen verarbeitet, sich vom Webserver unterscheidet und wie du Prozesse an Last und Hosting-Ressourcen anpasst.
BIND ist offene DNS-Serversoftware. Erfahre, welche Aufgaben sie übernimmt und wann sich der Betrieb eines eigenen Servers lohnt.
Was Polens REGON-Register und seine Kennnummer bedeuten, wie sie sich von NIP und KRS unterscheiden und wie Sie Unternehmensdaten prüfen.