Formation : SQL et bases de données relationnelles avec MySQL
Maîtriser SQL pour interroger, manipuler et concevoir des bases de données relationnelles. Indispensable pour tout développeur backend.
Version 1 · mise à jour le 06/04/2026
Demande d'information et inscription
Devis, ou inscription à une prochaine session.
Public visé
- Débutants souhaitant apprendre à travailler avec des bases de données relationnelles sans aucune expérience préalable.
- Développeurs front-end ou débutants en backend voulant comprendre et manipuler les données côté serveur.
- Personnes en reconversion vers le développement web ayant besoin de maîtriser SQL pour aborder PHP, Java ou Python.
- Chefs de projet, product managers ou analystes amenés à lire et comprendre des données sans passer par un développeur.
Objectifs pédagogiques
- Comprendre le modèle relationnel et le rôle d'un système de gestion de base de données
- Créer des tables avec les types de données adaptés et les contraintes d'intégrité
- Écrire des requêtes SQL de lecture, insertion, modification et suppression
- Filtrer, trier et regrouper des données avec WHERE, ORDER BY et GROUP BY
- Maîtriser les jointures pour interroger plusieurs tables simultanément
- Utiliser les sous-requêtes et les fonctions d'agrégation
- Concevoir un schéma de base de données à partir d'un besoin métier : MCD et MLD
- Optimiser des requêtes simples avec les index
- Utiliser MySQL et phpMyAdmin comme environnement de travail principal
Prérequis
Programme de la formation
Module 1 – Comprendre les bases de données relationnelles (2h)
- Qu'est-ce qu'une base de données ? Pourquoi stocker les données de manière structurée
- Le modèle relationnel : tables, lignes, colonnes, relations
- Les SGBD les plus utilisés : MySQL, PostgreSQL, SQLite, Oracle, SQL Server
- Différence entre SQL et NoSQL : quand choisir l'un ou l'autre
- SQL dans l'écosystème développeur : indispensable pour PHP, Java, Python, Node.js
- Installer MySQL avec XAMPP ou Laragon et accéder à phpMyAdmin
- Naviguer dans phpMyAdmin : créer une base de données, explorer les tables
- Se connecter à MySQL en ligne de commande
- Exécuter sa première requête SQL : SELECT 1+1
- Cas pratique : créer une base de données et explorer son interface
- Les types de données MySQL : INT, BIGINT, VARCHAR, TEXT, BOOLEAN, DATE, DATETIME, DECIMAL
- Choisir le bon type selon les données : taille, précision, performances
- CREATE TABLE : syntaxe complète avec types et contraintes
- Les contraintes : NOT NULL, UNIQUE, DEFAULT, CHECK
- Clés primaires : PRIMARY KEY et AUTO_INCREMENT
- Cas pratique : créer les tables d'une application de gestion de contacts
- ALTER TABLE : ajouter, modifier et supprimer une colonne
- RENAME TABLE : renommer une table
- DROP TABLE : supprimer une table et ses données
- TRUNCATE TABLE : vider une table sans la supprimer
- Les commentaires SQL : documenter son schéma
- Cas pratique : faire évoluer le schéma de l'application de contacts
- INSERT INTO : insérer un ou plusieurs enregistrements
- INSERT ... SELECT : insérer des données issues d'une autre table
- SELECT : lire toutes les colonnes ou une sélection
- DISTINCT : éliminer les doublons dans les résultats
- Les alias : AS pour renommer colonnes et tables dans les résultats
- LIMIT et OFFSET : paginer les résultats
- Cas pratique : peupler et interroger une table de produits
- UPDATE : modifier un ou plusieurs enregistrements avec WHERE
- DELETE : supprimer des enregistrements ciblés avec WHERE
- La règle d'or : toujours tester avec SELECT avant UPDATE ou DELETE
- ON UPDATE et ON DELETE : comportement des clés étrangères
- Transactions : BEGIN, COMMIT, ROLLBACK pour sécuriser les opérations critiques
- Cas pratique : mettre à jour des prix et supprimer des produits expirés
- Opérateurs de comparaison : =, !=, >, <, >=, <=
- Opérateurs logiques : AND, OR, NOT
- BETWEEN : filtrer dans un intervalle
- IN et NOT IN : filtrer selon une liste de valeurs
- LIKE et NOT LIKE : recherche par motif avec % et _
- IS NULL et IS NOT NULL : gérer les valeurs manquantes
- Cas pratique : requêtes de filtrage avancées sur un catalogue de produits
- ORDER BY : trier par une ou plusieurs colonnes, ASC et DESC
- LIMIT et OFFSET : implémenter une pagination
- CASE WHEN : créer des colonnes calculées conditionnelles
- COALESCE : remplacer les valeurs NULL par une valeur par défaut
- Cas pratique : top 10 des produits les plus vendus avec pagination
- COUNT : compter les enregistrements
- SUM : calculer une somme
- AVG : calculer une moyenne
- MIN et MAX : trouver le minimum et le maximum
- Combiner plusieurs fonctions d'agrégation dans une même requête
- Cas pratique : statistiques de ventes par période
- GROUP BY : regrouper les résultats par valeur
- HAVING : filtrer les groupes après agrégation
- Différence entre WHERE et HAVING : quand utiliser l'un ou l'autre
- GROUP BY avec plusieurs colonnes
- Cas pratique : chiffre d'affaires par catégorie avec filtre sur le minimum
- Pourquoi les jointures : interroger plusieurs tables liées
- INNER JOIN : retourner uniquement les enregistrements qui correspondent dans les deux tables
- LEFT JOIN : retourner tous les enregistrements de la table gauche même sans correspondance
- RIGHT JOIN : retourner tous les enregistrements de la table droite
- Les clés étrangères : FOREIGN KEY et contraintes référentielles
- Jointures sur plusieurs tables : enchaîner plusieurs JOIN
- Cas pratique : commandes avec leurs clients, produits et catégories en une seule requête
- FULL OUTER JOIN : tous les enregistrements des deux tables
- SELF JOIN : joindre une table avec elle-même
- CROSS JOIN : produit cartésien
- Optimiser les jointures : index sur les clés étrangères
- Cas pratique : arborescence de catégories avec self join
- Atelier : enchaîner jointures classiques et avancées sur un schéma complet
- Sous-requête dans WHERE : filtrer selon le résultat d'une autre requête
- Sous-requête dans SELECT : calculer une valeur par ligne
- Sous-requête dans FROM : utiliser un résultat comme table temporaire
- EXISTS et NOT EXISTS : tester l'existence d'enregistrements liés
- Sous-requête corrélée : référencer la table parente
- Cas pratique : trouver les clients n'ayant passé aucune commande
- CREATE VIEW : encapsuler une requête complexe dans une vue réutilisable
- Avantages des vues : simplification, sécurité, maintenabilité
- CTE (Common Table Expression) avec WITH : structurer les requêtes complexes
- Cas pratique : vue des commandes en cours avec CTE pour le calcul du total
- Pourquoi les index : accélérer les recherches sur les grandes tables
- Créer un index simple et un index composite
- EXPLAIN : analyser le plan d'exécution d'une requête
- Quand ne pas indexer : coût en écriture et en stockage
- Les index sur les clés étrangères : la règle de base
- Cas pratique : analyser et optimiser une requête lente avec EXPLAIN
- Atelier : comparer les temps d'exécution avant et après indexation sur un jeu de données volumineux
Module 10 – Concevoir un schéma de base de données (3h)
- Le MCD (Modèle Conceptuel des Données) : entités, attributs, associations
- Les cardinalités : 1-1, 1-N, N-N et leur traduction en tables
- Le MLD (Modèle Logique des Données) : transformer le MCD en schéma SQL
- Les formes normales : 1NF, 2NF, 3NF — comprendre et appliquer
- Les tables de jointure pour les relations N-N
- Analyser un cahier des charges et identifier les entités
- Dessiner le MCD puis le MLD
- Générer le SQL de création à partir du MLD
- Cas pratique : concevoir le schéma complet d'une plateforme e-commerce
- Cahier des charges : base de données d'une plateforme de réservation ou d'un réseau social simplifié
- Étape 1 : modélisation MCD et MLD à partir du cahier des charges
- Étape 2 : création du schéma SQL avec toutes les contraintes
- Étape 3 : insertion de jeux de données réalistes
- Étape 4 : écriture de requêtes métier complexes avec jointures, agrégations et sous-requêtes
- Présentation des choix de modélisation par chaque participant
- Revue collective : qualité du schéma, index manquants, requêtes optimisables
- Retour formateur individualisé sur le projet rendu
- Ouverture : SQL dans les frameworks — Doctrine (Symfony), Eloquent (Laravel), Hibernate (Spring Boot), SQLAlchemy (Python)
Compétences visées
- Écrire des requêtes SQL complexes avec jointures, sous-requêtes et agrégations
- Modéliser une base de données relationnelle à partir d'un cahier des charges
- Créer et maintenir un schéma de base de données avec les contraintes d'intégrité
- Identifier et corriger les problèmes de performance sur des requêtes lentes
- Utiliser MySQL en ligne de commande et via une interface graphique
Modalités et méthodes pédagogiques
Modalités d'évaluation
- En cours de formation : exercices de requêtage corrigés à chaque module
- En fin de formation : conception d'un schéma complet et écriture de requêtes métier sur un cas réel
- Questionnaire d'auto-évaluation des acquis en fin de parcours
Critères d'évaluation
- Écriture de requêtes SQL syntaxiquement correctes retournant les résultats attendus
- Utilisation adaptée des jointures selon le type de relation entre les tables
- Modélisation correcte d'un schéma avec clés primaires, clés étrangères et contraintes d'intégrité
- Application des formes normales pour éviter la redondance des données
- Utilisation pertinente des index sur les colonnes fréquemment interrogées
Indicateurs de résultats
Cette formation a été créée en 2026. Les indicateurs de résultats (taux de satisfaction, taux d’atteinte des objectifs, taux d’assiduité) seront publiés sur cette page à l’issue des premières sessions réalisées.
Modalités de validation
Moyens pédagogiques et techniques
- Support de cours numérique mis à disposition des apprenants
- Scripts SQL de démonstration avec jeux de données réalistes par module
- Environnement de développement : MySQL + phpMyAdmin via XAMPP ou Laragon
- Pour le distanciel : visioconférence (Zoom ou équivalent), partage d'écran, chat en direct
- Accès à la plateforme pédagogique LaPolaris (supports, ressources, émargement)
Accessibilité aux personnes en situation de handicap
Suivi et accompagnement
- Feuilles d'émargement signées par demi-journée (présentiel) ou émargement numérique (distanciel)
- Traçabilité des activités pédagogiques réalisées
- Attestation d'assiduité délivrée en fin de formation
- Suivi individuel via les exercices de requêtage corrigés et le projet de synthèse
Conditions d'accès
Délais d'accès
Référent handicap
Pour toute demande d'aménagement, contactez notre référent handicap afin d'étudier les adaptations nécessaires.
Documents disponibles sur demande
- Règlement intérieur
- Conditions générales
- Fiche accessibilité handicap