Datenbanken

Modellierung, SQL, Zugriff aus R und Python sowie die gängigen Systeme im Vergleich.

Daten liegen selten als Datei bereit. Sie kommen aus einem System, das sie laufend fortschreibt, und die Auswertung beginnt mit der Frage, wie man sie von dort holt, ohne alles zu laden.

Der Weg durch diesen Bereich: Zuerst die Datenmodellierung, weil sie erklärt, warum Daten auf mehrere Tabellen verteilt sind. Dann SQL als Sprache, die für alle relationalen Systeme gilt, und der Zugriff aus R und Python. Danach die einzelnen Systeme mit ihren Eigenheiten.

Welches System wann

Situation Passend Warum
Auswertung auf dem eigenen Rechner, Daten als Datei DuckDB Fragt CSV und Parquet direkt ab, spaltenweise und schnell
Kleine Datenbank ohne Server, auch zum Weitergeben SQLite Eine Datei, keine Installation, überall lesbar
Mehrere Personen oder Programme schreiben gleichzeitig PostgreSQL Transaktionen, Rechte, erzwungene Konsistenz
Bestehende Anwendung, oft im Web MySQL und MariaDB Sehr verbreitet, meist als Quellsystem vorgefunden
Struktur variiert je Datensatz, verschachtelte Objekte MongoDB Dokumente ohne festes Schema
Nur einzelne Felder sind halbstrukturiert PostgreSQL JSON als Typ, ohne das relationale Modell aufzugeben

Zwei Fragen genügen für die meisten Fälle. Erstens: Schreiben mehrere gleichzeitig? Wenn ja, braucht es einen Server. Zweitens: Geht es um viele einzelne Zugriffe oder um Auswertungen über viele Zeilen? Ersteres ist der Fall für die zeilenweise organisierten Systeme, Letzteres für DuckDB.

Was hier an SQL geübt wird, gilt in allen relationalen Systemen. Die Unterschiede liegen in Details: Datums- und Zeitfunktionen, Zeichensätze, Fensterfunktionen, und wie streng Typen genommen werden. Die Systemseiten nennen jeweils die Eigenheit, über die man in der Praxis stolpert.

Datenmodellierung

Relationales Modell, Schlüssel, Beziehungen und Normalisierung.

SQL

Abfragen, Joins, Aggregation und Unterabfragen.

Datenbankzugriff

Aus R und Python verbinden, abfragen, schreiben und sauber schliessen.

SQLite

Die Datenbank als einzelne Datei: ohne Server, ideal für Auswertungen und Prototypen.

DuckDB

SQL für analytische Auswertungen im eigenen Prozess, direkt auf Dateien.

PostgreSQL

Der Standard unter den offenen Serverdatenbanken, mit Fensterfunktionen, JSON und Erweiterungen.

MySQL und MariaDB

Weit verbreitete Serverdatenbanken, ihre Eigenheiten und der Zugriff aus R und Python.

MongoDB

Dokumentdatenbank ohne festes Schema: wann sie passt und wie man sie abfragt.

Fragen zu Datenbanken

Übergreifende Fragen zur Wahl des Systems und zu Eigenheiten, die zwischen den Systemen verschieden sind.

Keine Treffer

Die Fragen zu Datenbanken vergleichen die Systeme untereinander. Die Grundfragen zu SQL stehen in den Fragen zum Bereich Daten. Was vor der Datenbank passiert, also Import, Aufbereitung und Qualitätsprüfung, steht im Bereich Daten.