Aller au contenu

Développement & Algorithmique

ORM Python avec SQLAlchemy

Modélisation, requêtes, relations et migrations avec SQLAlchemy 2.0

Durée
2 jours
Public
Entreprises · Écoles et centres de formation
Modalité
Présentiel ou distanciel

Demander un devisVoir le programme

Cartographier, avant l'ORM.

Organigramme de la Tabulating Machine Co. · Marcin Wichary · CC BY 2.0

Présentation

Formation centrée sur SQLAlchemy 2.0, l’ORM de référence de l’écosystème Python. Elle couvre la nouvelle syntaxe Mapped, les opérations sur les données, la gestion des relations complexes et l’intégration dans une application FastAPI avec migrations Alembic.

Public visé : développeurs Python travaillant avec des bases de données relationnelles, équipes souhaitant remplacer du SQL brut par un ORM maintenable.

Prérequis : bonnes bases Python (classes, typage). Notions de SQL (SELECT, JOIN, clés étrangères).

Programme détaillé

Partie 1 — Introduction et configuration

  • Pourquoi un ORM ? Limites du SQL brut dans une application
  • SQLAlchemy Core vs ORM : différences et cas d’usage
  • Installation, configuration, connexion à une base de données
  • Première session et premier modèle

Partie 2 — Définition des modèles

  • La syntaxe moderne : Mapped et mapped_column (SQLAlchemy 2.0)
  • Types de colonnes, contraintes, valeurs par défaut
  • Déclarative Base : organisation des modèles dans un projet
  • Migrations de schéma : introduction à Alembic

Partie 3 — Opérations CRUD et Query API

  • Créer, lire, mettre à jour, supprimer des enregistrements
  • La Query API moderne : select(), filtres, tri, pagination
  • Requêtes complexes : agrégations, sous-requêtes
  • Chargement paresseux vs chargement immédiat (lazy vs eager)

Partie 4 — Relations et optimisation

  • Relations One-to-Many, Many-to-Many, One-to-One
  • Le problème N+1 : comprendre, détecter, résoudre
  • joinedload, selectinload : stratégies de chargement
  • Transactions et gestion des erreurs

Partie 5 — Migrations et intégration FastAPI

  • Alembic : générer et appliquer des migrations
  • Gérer l’évolution du schéma en production
  • Intégration SQLAlchemy dans FastAPI : injection de session
  • Patterns courants : Repository, Unit of Work

Évaluation

  • Exercices pratiques sur chaque partie
  • Projet fil rouge : modélisation et requêtage d’une base métier

Modalités

  • Volume : 2 jours
  • Format : présentiel ou distanciel
  • Supports : slides, exercices, projet fil rouge

Demander un devis

ou écrire directement, objet déjà rempli.