Bases de données

Bases de données appliquées, MySQL et PostgreSQL

Une formation pratique pour concevoir une base de données, écrire du SQL efficace et administrer MySQL et PostgreSQL, des premières requêtes jusqu’aux sauvegardes et à l’optimisation.

Durée
30 h
Séances
15 × 2 h
Niveau
Initiation
Format
Ateliers SQL

Description

Presque toutes les applications reposent sur une base de données relationnelle. MySQL et PostgreSQL sont les deux moteurs libres les plus utilisés : savoir modéliser des données, écrire des requêtes justes et rapides, et protéger ces données par des droits et des sauvegardes est indispensable au développeur comme à l’administrateur.

La formation travaille sur un cas concret unique (une entreprise de distribution : clients, produits, commandes, stocks), modélisé puis implémenté dans les deux moteurs. Chaque notion est comparée entre MySQL et PostgreSQL pour savoir choisir et passer de l’un à l’autre.

Public et prérequis

Public visé

  • Étudiants en développement ou en systèmes et réseaux
  • Développeurs qui utilisent un ORM sans maîtriser le SQL
  • Techniciens chargés d’administrer une base de données

Prérequis

  • Utilisation courante d’un ordinateur
  • Aucune connaissance en base de données requise
  • Notions de logique (conditions) appréciées

Ce que vous saurez faire

À l’issue de la formation

  • modéliser un besoin avec un modèle conceptuel et le traduire en tables normalisées
  • créer tables, clés et contraintes, et choisir les bons types de données
  • écrire des requêtes SQL : filtres, jointures, agrégats, sous-requêtes, fonctions de fenêtrage
  • utiliser vues, procédures, déclencheurs et transactions à bon escient
  • accélérer les requêtes avec les index et le plan d’exécution ( EXPLAIN )
  • gérer les utilisateurs et droits, sauvegarder et restaurer une base sur les deux moteurs

Méthode pédagogique

  • Courts exposés, puis ateliers SQL sur le cas fil rouge à chaque séance
  • Comparaison systématique MySQL / PostgreSQL : syntaxe, outils, comportements
  • Exercices progressifs, du plus simple au cas réel, avec corrections commentées
  • Travail en ligne de commande et avec un outil graphique (DBeaver)

15 séances

30 h au total, séances de 2 h.

  1. Séance 01

    Pourquoi une base de données

    Limites des fichiers et tableurs, rôle d’un SGBD, modèle relationnel, panorama MySQL / PostgreSQL, installation des deux moteurs.

    • SGBD
    • relationnel
    • installation

    Durée : 2 h

  2. Séance 02

    Modéliser les données

    Entités, associations, cardinalités : construire le modèle conceptuel du cas fil rouge.

    • MCD
    • cardinalités
    • entités

    Durée : 2 h

  3. Séance 03

    Du modèle aux tables

    Passage au modèle logique, clés primaires et étrangères, normalisation jusqu’à la troisième forme normale.

    • MLD
    • clés
    • 3FN

    Durée : 2 h

  4. Séance 04

    Créer la base

    CREATE TABLE, types de données, contraintes (NOT NULL, UNIQUE, CHECK, clés étrangères) dans les deux moteurs.

    • DDL
    • types
    • contraintes

    Durée : 2 h

  5. Séance 05

    Insérer, modifier, supprimer

    INSERT, UPDATE, DELETE, import de données CSV, intégrité référentielle et suppressions en cascade.

    • DML
    • import CSV
    • cascade

    Durée : 2 h

  6. Séance 06

    Interroger une table

    SELECT, filtres, tris, opérateurs, valeurs NULL, fonctions sur les chaînes et les dates.

    • SELECT
    • WHERE
    • NULL

    Durée : 2 h

  7. Séance 07

    Jointures

    Jointures internes et externes, auto-jointures, combiner plusieurs tables pour répondre à une question métier.

    • INNER JOIN
    • LEFT JOIN
    • auto-jointure

    Durée : 2 h

  8. Séance 08

    Agrégats et regroupements

    COUNT, SUM, AVG, GROUP BY, HAVING : tableaux de bord et statistiques de ventes.

    • GROUP BY
    • HAVING
    • agrégats

    Durée : 2 h

  9. Séance 09

    Sous-requêtes et requêtes avancées

    Sous-requêtes, EXISTS, UNION, expressions de table communes (CTE) et fonctions de fenêtrage.

    • sous-requêtes
    • CTE
    • fenêtrage

    Durée : 2 h

  10. Séance 10

    Vues, procédures et déclencheurs

    Vues pour simplifier l’accès, procédures stockées, fonctions et déclencheurs : différences MySQL / PostgreSQL.

    • vues
    • procédures
    • triggers

    Durée : 2 h

  11. Séance 11

    Transactions et concurrence

    Propriétés ACID, BEGIN / COMMIT / ROLLBACK, niveaux d’isolation, verrous et interblocages.

    • ACID
    • isolation
    • verrous

    Durée : 2 h

  12. Séance 12

    Index et performances

    Fonctionnement des index, lecture d’un plan d’exécution avec EXPLAIN, réécriture de requêtes lentes.

    • index
    • EXPLAIN
    • optimisation

    Durée : 2 h

  13. Séance 13

    Utilisateurs et sécurité

    Comptes, rôles et privilèges, principe du moindre privilège, connexions à distance et injections SQL.

    • GRANT
    • rôles
    • sécurité

    Durée : 2 h

  14. Séance 14

    Sauvegarde, restauration et administration

    mysqldump, pg_dump et pg_restore, planification des sauvegardes, journaux, surveillance de base.

    • mysqldump
    • pg_dump
    • restauration

    Durée : 2 h

  15. Séance 15

    Projet final et évaluation

    Conception et réalisation d’une base complète à partir d’un cahier des charges, requêtes métier et soutenance.

    • projet
    • examen
    • soutenance /20

    Durée : 2 h

Programme adaptable (un seul moteur, orientation développeur ou administrateur, volume horaire).

Validation et organisation

Évaluation et validation

  • Ateliers SQL vérifiés à chaque séance
  • Projet final : base conçue, peuplée et interrogée à partir d’un cahier des charges, notée sur 20 avec une épreuve de requêtes
  • Attestation de formation délivrée par OSDIGITALIS, Open Digital Service

Modalités

Durée
30 heures, en 15 séances de 2 heures
Format
présentiel en salle informatique, ou intra-entreprise / établissement
Effectif
groupes de 8 à 20 participants
Matériel
un poste par participant avec MySQL 8, PostgreSQL et DBeaver (ou équivalent)
Supports remis
fiches de séance, scripts SQL du cas fil rouge, aide-mémoire MySQL / PostgreSQL
Formateur
Mohammed Slimani, développeur fullstack senior et architecte DevOps, plus de 20 ans d’expérience

Exercices, corrections et TP

Sur demande, par WhatsApp ou par e-mail.

Les exercices, les corrections et les TP de cette formation ne sont pas en ligne. Écrivez-moi en indiquant la formation et votre situation (stagiaire, établissement, entreprise) et je vous les envoie. Un espace privé est prévu pour les regrouper.

Vous formez une équipe ?

Découvrez les formations sur mesure

De quoi avez-vous besoin aujourd’hui ?

Une application à créer, une infrastructure à faire évoluer, une équipe à former. Prenons le temps d’en parler.