Conception relationnelle
Se connecter pour s'inscrireVotre progression
Syllabus
-
-
Objectifs
-
Validations de compétences
-
Public cible
Aucun public cible spécifié pour ce module.
-
Besoins techniques
-
Prérequis
- Aucun prérequis
-
Niveau
-
Historique du module
Aucune action enregistrée
Conception de bases de données relationnelles
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.
À la fin du cours
- Passer des règles métier à un MCD puis à un MLD.
- Choisir des clés, relations et types adaptés.
- Normaliser sans perdre les informations utiles.
- Écrire des requêtes, contraintes et tests de cohérence.
Organisation
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.
Du métier au modèle
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
Clés et contraintes
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);
Normalisation et équilibre pragmatique
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.
Méthode
- Identifier les dépendances fonctionnelles.
- Décomposer les groupes répétitifs.
- Vérifier les lectures les plus fréquentes.
Requêtes et tests
É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;
Livrables et validation
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.
- Un MCD et un MLD versionnés.
- Un script de création avec contraintes et index.
- Un dictionnaire de données et des choix justifiés.
- Des requêtes métier et des tests de cohérence.
Exercices, examens et projets
Modélisation relationnelle
Concevoir un modèle normalisé et ses contraintes.
Obligatoire ConsulterExamen modèle relationnel
Évaluer normalisation, intégrité et requêtes.
Obligatoire ConsulterProjet modèle
Livrer un modèle de données et sa documentation.
Livrables :
- MCD
- MLD
- Contraintes