SQL Datenbank
Was eine SQL-Datenbank ist
Eine SQL-Datenbank legt Daten in Tabellen mit festen Spalten ab und wird über SQL bedient, eine standardisierte Sprache, in der beschrieben wird, welche Daten gebraucht werden. Die Tabellen sind über gemeinsame Schlüssel verknüpft, etwa Kunden mit ihren Bestellungen. Fachlich handelt es sich um eine relationale Datenbank, der Name hebt nur die Sprache hervor, mit der sie gelesen und geändert wird.
Welche Systeme dazugehören
Die Tabellen verwaltet nie die Datenbank selbst, sondern ein Datenbankmanagementsystem, also die Software, die Daten ablegt, Zugriffe regelt und Abfragen beantwortet. Verbreitete SQL-Datenbanksysteme sind MySQL, MariaDB und PostgreSQL als quelloffene Software sowie Microsoft SQL Server und Oracle Database als kommerzielle Produkte. SQLite arbeitet dagegen ohne eigenen Server und steckt als einzelne Datei direkt in Apps und Programmen.
Das Zusammenspiel von Datenbanken und SQL ist als ISO/IEC 9075 international genormt. Alle Systeme sprechen im Kern dieselbe Sprache, ergänzen den Standard aber um eigene Befehle. Eine Abfrage läuft deshalb nicht auf jedem System unverändert, und genau diese SQL-Dialekte machen einen späteren Wechsel aufwendiger als erwartet.
SQL und NoSQL: wann welches Modell passt
NoSQL bezeichnet Datenbanken, die ohne feste Tabellenstruktur arbeiten und Daten etwa als Dokumente, Schlüssel-Wert-Paare oder Graphen speichern. Welches Modell passt, hängt an der Art der Daten, weniger an der Größe der Anwendung.
Wo Tabellen ihre Stärke haben
Rechnungen, Stammdaten, Anträge und Lagerbestände haben eine klare Struktur und feste Beziehungen untereinander. Für solche Daten prüft eine SQL-Datenbank schon beim Speichern, ob Pflichtfelder gefüllt sind und ob ein Verweis auf einen vorhandenen Datensatz zeigt. Zusammengehörige Änderungen laufen als Transaktion, also ganz oder gar nicht: Eine Umbuchung erscheint nie nur auf einem der beiden Konten. Wo jede Buchung nachvollziehbar sein muss, zählt diese Eigenschaft mehr als die Geschwindigkeit.
Wann NoSQL-Systeme besser passen
Ändert sich die Struktur laufend, etwa bei Messwerten aus Sensoren, Protokolldaten oder Inhalten mit wechselnden Feldern, ist ein NoSQL-System oft die bessere Wahl. Es verteilt große Datenmengen leichter auf viele Server und verzichtet dafür auf einen Teil der Prüfungen. Beide Bauarten schließen sich nicht aus, denn eine Anwendung kann Stammdaten in einem SQL-Datenbanksystem und Messwerte als Dokumente speichern. Das gewählte Datenmodell bestimmt den Aufwand jeder späteren Datenmigration, weil Tabellen, Schlüssel und Prüfregeln beim Umzug in ein anderes System vollständig übersetzt werden müssen.
Aktuelle Themen