🗄️ Programme de Formation — SQL
Durée totale : 5 jours (40 heures) Niveau : Débutant à avancé Format : Présentiel ou distanciel
🎯 Objectifs pédagogiques
Ă€ l’issue de cette formation, les participants seront capables de :
- Comprendre les bases des bases de données relationnelles
- Écrire des requĂŞtes SQL de la simple sĂ©lection Ă l’analyse avancĂ©e
- Créer, modifier et administrer des bases de données
- Optimiser les performances des requĂŞtes
- Utiliser SQL dans un contexte métier réel (reporting, analyse de données)
📅 Jour 1 — Fondamentaux des bases de données & premières requêtes (8h)
Matin (4h)
- Qu’est-ce qu’une base de donnĂ©es relationnelle ?
- Concepts clés : tables, colonnes, lignes, clés primaires/étrangères
- Présentation des SGBD : MySQL, PostgreSQL, SQLite, SQL Server
- Installation de l’environnement (DBeaver / pgAdmin / MySQL Workbench)
Après-midi (4h)
- Première requête :
SELECT,FROM,WHERE - Filtrer les données : opérateurs de comparaison,
AND,OR,NOT - Trier les résultats :
ORDER BY - Limiter les résultats :
LIMIT/TOP - Atelier : explorer une base de données exemple (e-commerce, bibliothèque…)
📅 Jour 2 — Manipulation & Agrégation des données (8h)
Matin (4h)
- Sélection avancée :
DISTINCT,LIKE,IN,BETWEEN,IS NULL - Les fonctions de texte :
UPPER,LOWER,CONCAT,SUBSTRING,LENGTH - Les fonctions numériques :
ROUND,ABS,MOD - Les fonctions de date :
NOW(),DATE_DIFF,EXTRACT,FORMAT
Après-midi (4h)
- Fonctions d’agrĂ©gation :
COUNT,SUM,AVG,MIN,MAX - Grouper les données :
GROUP BY - Filtrer les groupes :
HAVING - Différence entre
WHEREetHAVING - Atelier : construire des rapports de ventes et de fréquentation
📅 Jour 3 — Jointures & Sous-requêtes (8h)
Matin (4h)
- Comprendre les relations entre tables
INNER JOIN: correspondances entre deux tablesLEFT JOIN/RIGHT JOIN: inclure les non-correspondancesFULL OUTER JOIN: toutes les lignes des deux tablesSELF JOIN: jointure d’une table avec elle-mĂŞme- Atelier : analyser des donnĂ©es clients / commandes / produits
Après-midi (4h)
- Les sous-requĂŞtes (subqueries) dans
WHERE,FROM,SELECT - Sous-requêtes corrélées
- Opérateurs
EXISTS,ANY,ALL - Introduction aux CTE (
WITH … AS) - Atelier : requêtes complexes multi-tables
📅 Jour 4 — Création & Gestion de bases de données (8h)
Matin (4h)
CREATE DATABASE,CREATE TABLE- Les types de données :
INT,VARCHAR,TEXT,DATE,BOOLEAN,DECIMAL… - Contraintes :
PRIMARY KEY,FOREIGN KEY,UNIQUE,NOT NULL,DEFAULT,CHECK ALTER TABLE: modifier la structure d’une tableDROP TABLE/TRUNCATE: supprimer des donnĂ©es ou des tables
Après-midi (4h)
- Insérer des données :
INSERT INTO - Modifier des données :
UPDATE - Supprimer des données :
DELETE - Les transactions :
BEGIN,COMMIT,ROLLBACK - Les vues (
VIEW) : simplifier les requêtes complexes - Atelier : concevoir et alimenter une base de données depuis zéro
📅 Jour 5 — Optimisation, Fonctions avancées & Projet Final (8h)
Matin (4h)
- Les index : pourquoi et comment les créer (
CREATE INDEX) - Analyser les performances :
EXPLAIN/EXPLAIN ANALYZE - Fonctions Window (analytiques) :
ROW_NUMBER,RANK,DENSE_RANK,NTILE PARTITION BY,LEAD,LAG,FIRST_VALUE,LAST_VALUE- Procédures stockées et fonctions personnalisées (bases)
Après-midi (4h)
- SQL et les outils de BI (Power BI, Tableau, Metabase)
- Connecter SQL à Python (bibliothèque
pandas+SQLAlchemy) - Bonnes pratiques : lisibilité, nommage, documentation
- Projet final : chaque participant conçoit une base et produit des rapports
- Bilan, Q&A et feuille de route personnelle
🛠️ Outils couverts
| Catégorie | Outils |
|---|---|
| SGBD | MySQL, PostgreSQL, SQLite |
| Interfaces | DBeaver, pgAdmin, MySQL Workbench |
| Pratique en ligne | SQLZoo, Mode Analytics, DB Fiddle |
| Intégration | Python + pandas, Power BI, Tableau |
📋 Prérequis
- Aisance informatique générale
- Notions de tableur (Excel / Google Sheets) recommandées
- Aucune connaissance en programmation requise
📊 Évaluation
- Exercices pratiques quotidiens
- QCM de consolidation chaque soir
- Projet final : base de donnĂ©es + requĂŞtes d’analyse prĂ©sentĂ©es
- Attestation de formation dĂ©livrĂ©e Ă l’issue