42 Punkte von civilian 2026-04-05 | 7 Kommentare | Auf WhatsApp teilen

SQL lernt man nur wirklich mit echten Daten

Es gibt viele SQL-Tutorials. Aber die meisten enden bei Beispielen mit drei employees-Tabellen.

In der Praxis begegnet man so etwas nicht. Dort sind 21 Tabellen über Fremdschlüssel miteinander verknüpft, man muss aus 10 Jahren Bestelldaten monatliche Umsatztrends
herausziehen und Kunden mit Abwanderungsrisiko identifizieren.

Deshalb habe ich das hier erstellt.

https://github.com/civilian7/sql-tutorial — SQL lernen mit einer realistischen E-Commerce-Datenbank

Es simuliert die Daten eines Computer-Shops über 10 Jahre:

  • 21 Tabellen, 18 Views, 5 Trigger — ein Schema auf Praxisniveau
  • 230.000 bis 10 Millionen Zeilen — Datengenerator mit wählbarer Größenordnung
  • 21 Lektionen — von SELECT über Window Functions und rekursive CTEs bis zu Triggern
  • 111 Übungsaufgaben — 45 für Einsteiger, 36 für Fortgeschrittene, 30 für Profis
  • Vollständige Unterstützung für Koreanisch/Englisch — sowohl Daten als auch Dokumentation sind zweisprachig
  • Vergleich von DB-Dialekten — SQLite, MySQL, PostgreSQL, SQL Server, Oracle

Die Daten sind realistisch. Am Black Friday steigt der Umsatz, im Sommer gehen die Bestellungen zurück, und die oberen 20 % der Kunden machen 60 % des Umsatzes aus.
Außerdem gibt es 25 % der Kunden, die sich nur registrieren und nie bestellen.

pip install -r requirements.txt
python generate.py --size small

erstellt output/tutorial.db (SQLite, ~29MB)

Das Projekt wurde von einem Entwickler erstellt, der kein SQL-Experte ist. Wenn euch Fehler auffallen oder ihr bessere Ansätze kennt, gebt bitte per Issues/PR Bescheid.

GitHub: https://github.com/civilian7/sql-tutorial

7 Kommentare

 
civilian 2026-04-10

Wir haben Version 2.0 mit deutlich erweiterten Funktionen veröffentlicht.

 
bbulbum 2026-04-08

Ein großartiges Projekt.

 
huiya 2026-04-08

Oh, großartig.

 
sygys10293 2026-04-08

Ich nutze es so gern, dass ich das hierlasse. Im Moment gibt es bei den Output-Optionen allerdings nur SQLite. Ich warte auf PostgreSQL.
Vielen Dank, dass ihr so ein tolles Tool entwickelt habt

 
mbh023 2026-04-07

Gooood

 
jhk0530 2026-04-05

Bitte als Show posten~

 
civilian 2026-04-05

Ich habe damit begonnen, es als Standardbeispiel für den von mir entwickelten Query-Browser bereitzustellen.
Code und Dokumentation wurden von einer KI (Claude) erstellt.