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
- Thèmes
- PythonBases de données
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 :
Mappedetmapped_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
ou écrire directement, objet déjà rempli.
