Éviter les surréservations des ateliers

Créez des réservations atomiques de groupes avec PostgreSQL, conservez les réservations initiales et annulez les places prises si la confirmation échoue.

ProjetPostgreSQLBase de données

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Éviter les surréservations des ateliers est un projet PostgreSQL destiné aux personnes sachant déjà interroger et modifier des tables simples. Effectuez de vraies réservations, reproduisez deux confirmations pour une seule place et livrez un SQL réutilisable qui réserve pour tout le groupe ou ne change rien.

Deux laboratoires guidés expliquent le parcours normal, les attentes réelles de verrou, la récupération des transactions et une instruction atomique enregistrée. Un défi indépendant modifie les activités, les effectifs et l’ordre des guichets. Chaque unité dispose de ses propres données préparées ; votre livrable est le SQL et le registre réel des réservations.

Ce que vous apprendrez

  • Relier chaque groupe confirmé à son effectif exact et à la capacité restante.
  • Reproduire une décision fondée sur une disponibilité périmée avec deux connexions réelles.
  • Prendre les places sous condition et utiliser les lignes de RETURNING pour créer une confirmation.
  • Observer une demande en attente pendant qu’un autre atelier continue à accepter des réservations.
  • Distinguer un manque de places d’une erreur SQL et vérifier qu’une confirmation échouée annule la prise de places.
  • Récupérer une transaction interrompue et préserver les réservations initiales, les informations des ateliers et les outils fournis.

À qui s’adresse ce cours

Aux personnes qui apprennent SQL et aux développeurs débutants souhaitant comprendre un problème concret de concurrence par la pratique sur une vraie base de données.

Prérequis : Navigation élémentaire dans le terminal, connexions PostgreSQL et SELECT, WHERE, INSERT et UPDATE. Les transactions, les verrous de ligne, les variables psql, les conversions en entier et les expressions de table communes modifiant des données sont expliqués avant utilisation.

Environnement d’apprentissage : PostgreSQL et les données synthétiques sont prêts dans le navigateur. Workshop Desk fournit le shell ; Desk A et Desk B proposent des connexions psql natives distinctes à la même base sur une seule machine. Vous écrivez du SQL sans créer de programme Python ni de site web.

Questions fréquentes

Faut-il déjà comprendre les verrous de base de données ?

Non. Vous commencez par une réservation normale, observez une surréservation contrôlée et une attente réelle, puis appliquez la méthode sûre. Les bases SQL indiquées ci-dessus sont nécessaires.

Que vais-je livrer ?

Un fichier reserve.sql réutilisable et de vraies confirmations de groupes entiers. Pour chaque atelier, les places réservées et restantes doivent totaliser sa capacité. Les contrôles préservent aussi les données initiales et exécutent votre SQL sans le modifier sur d’autres données isolées.

Le projet couvre-t-il une plateforme de réservation complète en production ?

Non. Vous pratiquez les transactions READ COMMITTED dans une seule base PostgreSQL. Paiements, nouvelles tentatives automatiques, places temporairement retenues et coordination distribuée sont hors périmètre. Le défi combine de manière autonome les mécanismes des laboratoires guidés.

Enseignant

labby
Labby
Labby is the LabEx teacher.