Public cible
Débutants, étudiants et professionnels qui souhaitent acquérir une pratique structurée dans ce domaine.
Concevoir un modèle relationnel normalisé, garantir ses contraintes et écrire des requêtes métier testées.
Débutants, étudiants et professionnels qui souhaitent acquérir une pratique structurée dans ce domaine.
Comprendre les notions essentielles et les appliquer dans un projet vérifiable.
Aucune connaissance préalable n’est strictement obligatoire ; les prérequis détaillés sont précisés dans les ateliers.
Bac+3
La validation repose sur les évaluations actives et les livrables pratiques du cours.
Un ordinateur, un navigateur et les outils indiqués dans le premier atelier sont suffisants pour commencer.
Concevoir un modèle normalisé et ses contraintes.
Obligatoire ConsulterÉvaluer normalisation, intégrité et requêtes.
Obligatoire ConsulterLivrer un modèle de données et sa documentation.
Livrables :
Construire un modèle relationnel qui reflète le métier, respecte les contraintes et reste compréhensible par les développeurs et les utilisateurs.
Le cours suit le modèle conceptuel, les contraintes, la normalisation et les requêtes.
Prérequis : Notions de tables, clés étrangères et requêtes SQL de base.
Identifier les entités, leurs attributs, les règles et les relations avant de créer une table. Une relation many-to-many se matérialise généralement par une table associative avec ses propres règles.
Nommer les concepts métier plutôt que les détails techniques. Le modèle doit permettre de comprendre les règles sans connaître le nom d’une colonne.
client 1—N commande 1—N ligne_de_commande N—1 produit
Choisir une clé primaire stable, indépendante de la clé naturelle quand elle peut changer. Les clés étrangères expriment les dépendances et les suppressions doivent être explicites.
Ajouter NOT NULL, CHECK, UNIQUE et(length) selon le sens métier. Une contrainte au bon endroit protège les données même lorsque plusieurs applications écrivent.
CREATE TABLE account (id BIGINT PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE);
La normalisation élimine la duplication et les incohérences. Ne pas dénormaliser sans mesurer : la performance peut justifier une copie contrôlée, documentée et actualisée.
Distinguer la forme normale, les données historiques et les valeurs calculées. Une vue peut simplifier les lectures sans casser le modèle d’écriture.
Écrire des requêtes lisibles avec jointures explicites, agrégations et conditions de sécurité. Tester les résultats attendus, les doublons, les valeurs nulles et les suppressions.
Documenter le MCD, le MLD et les raisons des choix. Le modèle doit pouvoir évoluer sans que chaque développeur devine une intention cachée.
SELECT c.id, SUM(l.total) FROM customer c JOIN invoice l ON l.customer_id = c.id GROUP BY c.id;
Le livrable doit montrer une compréhension personnelle, des choix explicités et une vérification par un cas de test ou une procédure reproductible.
Publié le 29/11/2025