Menu
Coddy logo textTech

Was ist eine Datenbank?

Eine Datenbank ist eine geordnete Sammlung von Daten auf einem Computer, in der Programme Daten schnell und sicher finden, hinzufügen, ändern und löschen können. Sie wird von einer Software namens Datenbankmanagementsystem (DBMS) verwaltet, etwa PostgreSQL, MySQL, SQLite oder MongoDB.

Von Kevin Spektor, Mitgründer & CTO

Aktualisiert am 24. September 2026

Wenn du dich auf einer Website anmeldest, muss die Seite dein Konto unter Millionen anderen finden, dein Passwort prüfen und deine Einstellungen laden, und das alles in wenigen Millisekunden. Sie öffnet dafür keine Textdatei und liest sie Zeile für Zeile. Sie schickt eine Anfrage wie SELECT * FROM users WHERE email = 'ana@example.com' an eine Datenbank, und die Datenbank springt über einen Index direkt zur richtigen Zeile, ganz ähnlich wie das Register hinten in einem Buch.

Wie eine Datenbank funktioniert

Zwei Teile arbeiten zusammen. Die Datenbank sind die Daten, in einer festen Struktur geordnet. Das Datenbankmanagementsystem (DBMS) ist das Programm, das diese Daten in Dateien speichert, sie konsistent hält und Anfragen beantwortet. PostgreSQL, MySQL und SQLite sind DBMS; deine Kundenliste ist die Datenbank.

In einer relationalen Datenbank liegen die Daten in Tabellen. Jede Tabelle hat Spalten (Name, Land, Punkte) und Zeilen (eine pro Nutzer). Eine Anfrage durchläuft diese Schritte:

  1. Dein Programm schickt eine Abfrage, meist in SQL (Structured Query Language) geschrieben.
  2. Das DBMS parst die Abfrage und plant, wie es sie beantwortet: welche Tabellen es liest und ob ein Index die meisten Zeilen überspringen kann.
  3. Es liest die Daten in Seiten fester Größe von der Festplatte (standardmäßig 4.096 Bytes in SQLite, 8 KB in PostgreSQL) und hält häufig genutzte Seiten im Arbeitsspeicher.
  4. Es filtert, sortiert und kombiniert Zeilen und gibt dann das Ergebnis zurück.

Python bringt SQLite mit, also kannst du gleich hier eine echte Datenbank ausführen:

Kenji 340
Omar 340
Ana 120
users: 4 average points: 222.5

Das Programm sagt nirgends, wie gesucht werden soll. Es beschreibt das Ergebnis, das es haben will, und das DBMS entscheidet, wie es dahin kommt. Das ist der Hauptunterschied zwischen einer Anfrage an eine Datenbank und einer Schleife über eine Liste.

Arten von Datenbanken

ArtSpeichert Daten alsBeispieleTypischer Einsatz
Relational (SQL)Tabellen aus Zeilen und Spalten, über Schlüssel verknüpftPostgreSQL, MySQL, SQLite, Oracle, SQL ServerNutzer, Bestellungen, Zahlungen: die meisten Anwendungen
DokumentJSON-ähnliche DokumenteMongoDB, Firestore, CouchDBDatensätze, deren Felder sich von einem zum nächsten unterscheiden
Key-ValueEin Wert, der über einen Schlüssel gefunden wirdRedis, DynamoDBCaches, Sessions, Zähler
Wide-ColumnZeilen mit flexiblen Spalten, verteilt auf viele ServerCassandra, HBaseSehr hohe Schreiblast
GraphKnoten und die Beziehungen zwischen ihnenNeo4jSoziale Netzwerke, Empfehlungen
ZeitreihenMesswerte, nach Zeit indiziertInfluxDB, TimescaleDBMetriken, Sensorwerte
VektorListen von Zahlen (Embeddings)pgvector, Pinecone, MilvusÄhnlichkeitssuche für KI-Funktionen

Alles, was nicht relational ist, wird oft unter NoSQL zusammengefasst. Relationale Datenbanken bleiben für die meisten Anwendungen die Standardwahl, weil Tabellen, Constraints und SQL eine große Bandbreite an Problemen gut abdecken. Viele Produkte kombinieren auch Arten: PostgreSQL speichert JSON-Dokumente, und pgvector ergänzt es um Vektorsuche.

Transaktionen: alles oder nichts

Geld von Ana an Ben zu überweisen braucht zwei Änderungen: bei Ben dazurechnen, bei Ana abziehen. Stürzt das Programm dazwischen ab, entsteht Geld aus dem Nichts. Eine Transaktion fasst Änderungen so zusammen, dass entweder alle gespeichert werden oder keine. Hier verletzt die zweite Änderung eine Regel (ein Kontostand darf nicht unter null fallen), also macht die Datenbank auch die erste rückgängig:

transfer 30 done
{'ana': 20, 'ben': 30}
transfer 40 failed: CHECK constraint failed: balance >= 0
{'ana': 20, 'ben': 30}

Bens 40 wurden gutgeschrieben und wieder zurückgenommen, also gehen die Summen weiterhin auf. Relationale Datenbanken versprechen für Transaktionen vier Eigenschaften, bekannt als ACID: atomar (alles oder nichts), konsistent (Regeln wie CHECK gelten immer), isoliert (zwei Nutzer, die gleichzeitig Transaktionen ausführen, sehen nicht die halbfertige Arbeit des anderen) und dauerhaft (eine einmal gespeicherte Änderung übersteht einen Absturz oder Stromausfall).

Datenbank, Tabellenkalkulation oder Datei

Text- oder CSV-DateiTabellenkalkulationDatenbank
GrößeSo viel, wie dein Programm laden kann1.048.576 Zeilen pro Blatt in ExcelMilliarden von Zeilen
Viele Schreiber gleichzeitigNeinEingeschränktJa, mit Sperren und Transaktionen
Einen Datensatz findenDie ganze Datei lesenFiltern oder suchenSuche über einen Index
Regeln für die DatenKeineOptionale ValidierungTypen, Constraints, Fremdschlüssel
Fragen stellenEigenen Code schreibenFormelnSQL oder eine Abfrage-API

Eine Tabellenkalkulation ist ein gutes Werkzeug für eine Person, die sich ein paar tausend Zeilen ansieht. Sobald mehrere Programme oder Nutzer gleichzeitig Daten schreiben oder die Daten Regeln folgen müssen, ist eine Datenbank das richtige Werkzeug.

Wie Datenbanken Daten schützen

Ein DBMS schreibt jede Änderung in ein Protokoll, bevor es die Datendateien anfasst (das Write-Ahead-Log), und kann nach einem Absturz unfertige Arbeit wiederholen oder rückgängig machen. PostgreSQL kann auf jeder 8-KB-Seite eine Prüfsumme speichern und einen Prüfsummenfehler melden, wenn eine defekte Festplatte beschädigte Daten liefert. Nutzer und Berechtigungen legen fest, wer welche Tabellen lesen oder ändern darf, und Replikation hält Kopien auf anderen Servern. Programme müssen Nutzereingaben außerdem als Parameter übergeben, wie die Platzhalter ? oben, und nie in den SQL-Text einfügen, denn genau so entstehen SQL-Injection-Angriffe.

Häufige Missverständnisse

  • "SQL ist eine Datenbank." SQL ist die Sprache. PostgreSQL, MySQL und SQLite sind Datenbanken, die sie verstehen.
  • "NoSQL heißt überhaupt kein SQL." Der Begriff wird meist als "not only SQL" gelesen, und mehrere NoSQL-Datenbanken haben Abfragesprachen, die wie SQL aussehen, etwa CQL von Cassandra.
  • "Eine Datenbank ist immer ein großer Server." SQLite ist eine einzelne Datei, die ein Programm direkt öffnet, ganz ohne Server. Sie läuft in jedem Android- und iOS-Handy.
  • "Daten in einer Datenbank sind für immer sicher." Eine Datenbank schützt vor Abstürzen, nicht davor, dass jemand versehentlich DELETE ausführt. Backups braucht man trotzdem.

Wie es weitergeht

Der SQL-Kurs bringt dir Abfragen ab dem ersten SELECT bei. Die SQLite-Doku deckt die nächsten Schritte ab: was SQLite ist, eine Tabelle anlegen, Indizes und SQL-Injection verhindern. Wie die Daten auf der Festplatte liegen, erklärt was ist ein Byte, und die Seite zur Prüfsumme zeigt, wie beschädigte Seiten erkannt werden.

Häufig gestellte Fragen

Was ist eine Datenbank, einfach erklärt?
Eine Datenbank ist ein Ort, an dem ein Programm Informationen ablegt, um sie schnell wiederzufinden. Stell dir einen Aktenschrank mit einem perfekten Register vor: Du fragst nach "allen Bestellungen der letzten Woche" und bekommst die Antwort in Millisekunden, auch bei Millionen von Datensätzen.
Was ist ein Beispiel für eine Datenbank?
Die Kontakte auf deinem Handy liegen in einer Datenbank: Android und iOS bringen beide SQLite mit. Eine Bank führt Kundenkonten in einer Datenbank wie Oracle oder PostgreSQL, und Wikipedia speichert ihre Artikel in MariaDB. Ein Onlineshop hält Produkte, Kunden und Bestellungen in verknüpften Tabellen.
Welche vier Arten von Datenbanken gibt es?
Eine offizielle Liste mit vier Arten gibt es nicht. Am häufigsten genannt werden relationale Datenbanken (Tabellen und SQL), Dokumentdatenbanken (JSON-ähnliche Datensätze), Key-Value-Stores (ein Wert, der über einen Schlüssel gefunden wird) und Graphdatenbanken (Knoten und Beziehungen). Ältere Lehrbücher nennen außerdem hierarchische und Netzwerkdatenbanken.
Welche 5 Datenbanken sind am beliebtesten?
Oracle, MySQL, Microsoft SQL Server, PostgreSQL und MongoDB belegen seit Jahren die ersten fünf Plätze im Beliebtheitsranking von DB-Engines. Unter Entwicklern ist PostgreSQL seit 2023 die meistgenutzte Datenbank im Stack Overflow Developer Survey, und SQLite ist die am weitesten verbreitete, weil sie in Handys und Browsern steckt.
Was ist der Unterschied zwischen einer Datenbank und einem DBMS?
Die Datenbank sind die Daten selbst, geordnet in Tabellen oder Dokumenten. Das DBMS ist die Software, die diese Daten auf der Festplatte speichert und Anfragen dazu beantwortet, etwa PostgreSQL oder MySQL. Umgangssprachlich sagt man für beides oft "Datenbank".
Muss ich SQL lernen, um eine Datenbank zu nutzen?
Für relationale Datenbanken ja: Mit SQL legst du Tabellen an und stellst Fragen an die Daten, und die Grundlagen lernst du in wenigen Tagen. Viele Programme verwenden eine Bibliothek, die das SQL für dich schreibt, aber wer SQL kann, versteht viel leichter, was diese Bibliothek tut und warum eine Abfrage langsam ist.
Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S