Überbuchte Workshops verhindern

Erstelle atomare PostgreSQL-Gruppenbuchungen, erhalte vorhandene Reservierungen und mache die Platzvergabe bei fehlgeschlagener Bestätigung rückgängig.

ProjektPostgreSQLDatenbank

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Überbuchte Workshops verhindern ist ein PostgreSQL-Projekt für Lernende, die einfache Tabellen bereits abfragen und ändern können. Erstelle echte Workshop-Buchungen, reproduziere zwei Bestätigungen für einen Platz und liefere wiederverwendbares SQL, das entweder die ganze Gruppe bucht oder nichts ändert.

Zwei angeleitete Labs erklären den normalen Ablauf, echte Sperrwartezeiten, die Wiederherstellung nach Transaktionsfehlern und eine gespeicherte atomare Buchungsanweisung. Eine eigenständige Challenge verändert Aktivitäten, Gruppengrößen und die Reihenfolge der Schalter. Jede Einheit beginnt mit eigenen vorbereiteten Daten; das Ergebnis sind dein SQL und der echte Buchungsbestand.

Was du lernen wirst

  • Jede bestätigte Gruppe ihrer genauen Personenzahl und der verbleibenden Kapazität zuordnen.
  • Mit zwei echten Verbindungen eine Entscheidung anhand veralteter Verfügbarkeitsdaten reproduzieren.
  • Plätze bedingt beanspruchen und mit den RETURNING-Zeilen eine Bestätigung erstellen.
  • Eine wartende Anfrage beobachten, während ein anderer Workshop weiter Buchungen annimmt.
  • Zu wenige Plätze von einem SQL-Fehler unterscheiden und prüfen, dass eine fehlgeschlagene Bestätigung die Platzvergabe zurückrollt.
  • Eine abgebrochene Transaktion wieder nutzbar machen und ursprüngliche Buchungen, Workshop-Daten und bereitgestellte Werkzeuge erhalten.

Für wen dieser Kurs geeignet ist

Für SQL-Lernende und angehende Anwendungsentwickler, die ein konkretes Nebenläufigkeitsproblem durch echte Datenbankarbeit verstehen möchten.

Voraussetzungen: Grundlegende Terminalnavigation, PostgreSQL-Verbindungen sowie SELECT, WHERE, INSERT und UPDATE. Transaktionen, Zeilensperren, psql-Variablen, Ganzzahlkonvertierungen und datenändernde allgemeine Tabellenausdrücke werden vor ihrer Verwendung erklärt.

Lernumgebung: PostgreSQL und synthetische Workshop-Daten stehen im Browser bereit. Workshop Desk bietet die Shell; Desk A und Desk B bieten getrennte native psql-Verbindungen zur selben Datenbank auf einem Rechner. Du schreibst SQL, ohne ein Python-Programm oder eine Website zu bauen.

Häufig gestellte Fragen

Muss ich Datenbanksperren bereits verstehen?

Nein. Du beginnst mit einer normalen Buchung, beobachtest dann eine kontrollierte Überbuchung und eine echte Sperrwartezeit und wendest anschließend die sichere Methode an. Die oben genannten SQL-Grundlagen werden vorausgesetzt.

Was liefere ich ab?

Eine wiederverwendbare reserve.sql-Datei und echte Bestätigungen für vollständige Gruppen. Bei jedem Workshop müssen gebuchte und freie Plätze zusammen die Kapazität ergeben. Die Prüfungen schützen auch ursprüngliche Datensätze und führen dein unverändertes SQL mit anderen isolierten Daten aus.

Behandelt das Projekt eine vollständige produktive Buchungsplattform?

Nein. Du übst READ COMMITTED-Transaktionen in einer einzelnen PostgreSQL-Datenbank. Zahlungen, automatische Wiederholungen, zeitlich begrenzte Platzvormerkungen und verteilte Koordination gehören nicht dazu. In der Challenge kombinierst du die in den angeleiteten Labs vermittelten Mechanismen selbstständig.

Lehrer

labby
Labby
Labby is the LabEx teacher.