Kapitel 12: Postgres einbinden
Übung im Browser prüfbar
Schreibe kunden_import.py, das:
- mit der Tabelle
verkaeufe (id SERIAL PRIMARY KEY, kunde TEXT, artikel TEXT, menge INT, preis NUMERIC(10,2))arbeitet und sie anlegt, falls sie fehlt, - die Datei
verkaeufe.csvaus Kapitel 11 einliest und alle Zeilen in einer Transaktion einfügt, - danach per SQL den Umsatz pro Kunde berechnet (
SUM(menge * preis),GROUP BY kunde, absteigend) und als Tabelle ausgibt, - die Verbindungsdaten aus der Umgebungsvariable
DATABASE_URLliest.
psycopg ist installiert, verkaeufe.csv aus Kapitel 11 liegt im Arbeitsordner, und
DATABASE_URL zeigt auf die Übungsdatenbank. Gib pro Kunde eine Zeile aus, z. B. Cem 28.00.
🐘 Deine Übungsdatenbank
Beim Ausführen ist DATABASE_URL gesetzt und zeigt auf deinen eigenen Bereich
in der Übungsdatenbank. Tabellen bleiben dort zwischen zwei Läufen erhalten. Die Prüfung nutzt jedes Mal
einen frischen, leeren Bereich.
📁 Dateien im Arbeitsordner (1)
Diese Dateien liegen beim Ausführen und Prüfen neben deinem Programm. Bei der Prüfung werden zusätzlich andere Inhalte getestet.
verkaeufe.csv
kunde;artikel;menge;preis Anna;Stift;10;1.50 Ben;Heft;5;3.00 Anna;Heft;2;3.00 Cem;Stift;20;1.40
✓ So wird geprüft
- ○ Die Tabelle verkaeufe wird mit den richtigen Spalten angelegt
- ○ Alle vier CSV-Zeilen stehen in der Datenbank
- ○ Ausgabe: Umsatz pro Kunde absteigend (Cem 28.00, Anna 21.00, Ben 15.00)
- ○ Die Auswertung rechnet die Datenbank (GROUP BY)
- ○ Ein zweiter Lauf bricht nicht ab (CREATE TABLE IF NOT EXISTS)
- ○ Alles oder nichts: eine fehlerhafte Zeile hinterlässt keinen halben Import
- ○ Die Verbindung kommt aus DATABASE_URL
kunden_import.py
Eingaben für „Ausführen“ (input und Argumente)
Ausgabe