Normalisation et Conception de Base de Données

Jul 10, 2024

Conception de Base de Données Normalisée

Pourquoi Normaliser?

  • Permet de structurer la base de données de manière compréhensible pour une équipe.
  • Facilite la représentation de la structure des données avant la conception.

Modèle Conceptuel de Données (MCD)

  • Utilisation de schémas normalisés pour représenter la structure des données.
  • Avantage: meilleure compréhension et communication au sein d'une équipe.
  • Outil recommandé: Draw.io

Création d'un MCD

  • Entités: Représentent des types de données spécifiques. Ex: Recette, Catégorie, Ingrédient, Utilisateur.
  • Liaisons: Représentent les relations entre les entités. Ex: Une recette appartient à une catégorie, une recette est composée d'ingrédients, etc.

Exemple de Schéma

  • Entités : Recette, Catégorie, Ingrédient, Utilisateur
  • Liaisons :
    • Recette → Catégorie (Appartient)
    • Recette → Ingrédient (Est composé de)
    • Utilisateur → Recette (Crée)

Ajout des Attributs aux Entités

  • Utilisateur: pseudo, email
  • Recette: titre, durée, date de création, slug
  • Ingrédient: nom
  • Composition: quantité, unité

Définir les Cardinalités

  • Représentation des relations minimales et maximales entre deux entités.
  • Exemple: Recette et Catégorie
    • Une recette peut appartenir à 0 ou plusieurs catégories (0,n).
    • Une catégorie peut contenir 0 ou plusieurs recettes (0,n).

Schéma Relationnel (MLD)

  • Traduction du MCD en tables de base de données.
  • Règle 1: Toutes les entités deviennent des tables.
    • Ex: Table Utilisateurs, Tables Recettes, etc.
  • Règle 2: Les relations de type 1,n se traduisent par des clés étrangères.
    • Ex: Recette contient user_id référenciant Utilisateur.
  • Règle 3: Les relations de type n,m se traduisent par des tables de liaison.
    • Ex: Tabler de liaison entre Recette et Catégorie.

Exemple de Tables

  • Recette: id, titre, durée, date de création, slug, catégorie_id
  • Ingrédient: id, nom
  • Utilisateur: id, pseudo, email
  • Liaisons: Recette_Ingredients, Recette_Catégorie

Normalisation des Données

  • Fusion d'entités similaires.
  • Évitement des champs dupliqués : Ex: Adresse.
  • Champs calculés : Pas nécessaire de les stocker physiquement.
  • Attributs des associations doivent dépendre des identifiants de toutes les entités.
  • Règles complémentaires: contraintes d'unicité, séparation des dépendances non-clé primaire.

Importance de la Planification

  • Réflexion autour de la structure avant la création des tables est cruciale.
  • Les choix initiaux peuvent affecter la structure finale et la facilité de traitement des données.

Prochaines Étapes

  • Créer les tables correspondant au MLD.
  • Faire des exercices pratiques sur la récupération des données.
  • Références à des cours et documents pour approfondir.