Conception d’une Base de Données Le Diagramme de Classes UML Conception d’une BD : les niveaux • • • • schéma conceptuel schéma logique conceptuel logique physique externe Utilisateurs schéma physique R1 R2 2 Conception d’une BD : les étapes Produits Monde Extérieur Modélisation (UML) idPro désignation poids Fournisseurs << Association >> 1 * Fournir 1..* 1 prixAchat idFour raisonSociale adresse Schéma Conceptuel : DC Règles de passage Produits (IdPro, désignation, poids) Normalisation ? Fournir(IdPro, IdFour, PrixAchat) Fournisseurs(IdFour, RaisonSociale, adresse) Mise en œuvre de la BD Schéma Logique ou Relationnel Schéma Physique 3 Le Diagramme de Classes (DC) : concepts de base • Classe – Ensemble d’objets concrets ou abstraits de même nature – Une classe est décrite par ses attributs, méthodes et contraintes – Exemples : Etudiant, Employe, Produit, … • Attribut – Propriété décrivant une classe – Valeur unique pour chaque classe – Exemple : nom, prenom, adresse , …. • Identifiant – Attribut particulier permettant de repérer une occurrence – Exemple : idClient, idEtudiant, …. • Association – Permet de relier une classe à une ou plusieurs autres – 4 Le Diagramme de Classes : Notion d’Association • Dimension d’une association – Nombre de classes entrant liées – Binaire : 2, Ternaire : 3, N-aire : n • Nom d’une association – Verbe à l’infinitif : Appartenir, Fournir, … • Multiplicité – Nombre minimum et maximum d’objets liés Minimum, Maximum Unicité Multiplicité Optionnel Obligatoire 0..1 1..1 ou 1 0..* ou * 1..* 5 Représentation des classes Étudiant IneEtudiant NomEtudiant AdrEtudiant Moyenne() Modules_obtenus() Inscription_correcte Nombre_inscrits_dip Nom de la Classe Identifiant Attributs Méthodes Contraintes Procédures Stockées Déclencheurs 6 Associations de type Mère-Fille (1-N) Etudiant Diplome IdDip NomDip RespDip Inscrire 1 * IneEtudiant NomEtudiant AdrEtudiant Un diplôme (classe mère) peut concerner aucun ou plusieurs étudiants (classe fille). Un étudiant doit être inscrit à , au moins et au plus, un seul diplôme. 7 Associations de type multiple (N-N) sans attributs Etudiant IneEtudiant NomEtudiant AdrEtudiant Stage Choisir * 1..* IdStage ThémeStage Entreprise RespStage Un étudiant doit choisir au moins un stage et peut en choisir plusieurs. Un stage peut être choisi par aucun étudiant ou plusieurs. 8 Associations de type multiple (N-N) avec attributs Fournisseur IdFour NomFour AdrFour Produit * 1..* IdProduit NomProduit QtéStock Fournir Classe d’association Prix DélaiLivraison QuantitéMin 9 Associations de type multiple (N-N) N aires (N>2) Conditionnement IdCond LibCond Fournisseur IdFour NomFour AdrFour Produit * 1..* * IdProduit NomProduit QtéStock Fournir Prix DélaiLivraison QuantitéMin 10 Associations de type symétrique (1-1) Etudiant IneEtudiant NomEtudiant AdrEtudiant Stage Effectuer 0..1 1 IdStage ThémeStage Entreprise RespStage Note stage Un étudiant effectue au moins un et un seul stage. Un stage peut être effectué par aucun ou un seul étudiant. (Une association de type 1-1 est souvent le résultat d’un éclatement de classe) 11 Associations réflexives 1-N réflexif 0..1 Est responsable de Enseignant IdEnseignant NomEnseignant Fonction indice * A pour responsable 12 Associations réflexives N-N réflexif * Est composé de Produit IdProduit LibelléProduit Prix Composer Quantité * Entre dans la composition de 13 Assemblage de classes Reprise d’une classe d’association • Certaines associations N-aires peuvent être transformées en plusieurs associations binaires • On associe d’abord les deux classes les plus stables : stabilité du schéma • La classe d’association se transforme en classe normale pour la troisième classe associée • Merise parlait d’agrégation d’entités 14 Reprise d’une classe d’association Associations de type 1-N et N-N Classes stables Joueur IdLicence NomJoueur Classement Amende IdAmende Montant Tournoi * * Recevoir * * Association N-N sans attribut Obtenir Participer Résultat IdTournoi NomTournoi Ville Date * Prix 0..1 Association 1-N IdPrix Montant (La classe d’association ‘Participer’ est transformée en classe normale) 15 Associations d’agrégation et de composition UV Etudiant IneEtudiant Nom 1..8 IdUV * IntUV Inscrire Note Résultat En cas de suppression d’un étudiant : on supprime toutes ses inscriptions On ne peut pas supprimer une UV ayant au moins un inscrit 16 Généralisation et Spécialisation Personnel IdPers Nom Indice Ingénieur Enseignant Chercheur Grade Fonction Domaine Section Titre HeuresCours Spécialité Laboratoire 17