Modèle conceptuel : diagramme entité-association
Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.» logiciels intégrés aux suites bureautiques les plus connues. Acquisition d'un SGBDR micro (Système de Gestion de Bases de Données Relationnelles) moins facile que celle d'un logiciel de traitement de texte ou d'un tableur. 2008/2009 Modèle conceptuel 2
Raison d'être de ce cours Plusieurs étapes : la création de la structure de la base sous forme de tables (tableaux de données) reliées entre elles par des données clés, la conception des requêtes qui permettront d'extraire ou de mettre à jour les informations qu'elle contient, la conception de l'interface homme-machine (écrans et états) qui rendra plus conviviale la saisie et la restitution des informations (M1) 2008/2009 Modèle conceptuel 3
Raison d'être de ce cours Création de la structure de la base de données Le cas complexe nécessite, en amont, les outils de modélisation conceptuelle de type entités-associations. Cas les plus simples : concepts du Modèle Relationnel obligatoires, sans quoi création d'une structure inadaptée et blocage dans la conception des requêtes. 2008/2009 Modèle conceptuel 4
Monde réel Processus Voiture personne Concepteur Schéma conceptuel Personne conduit voiture Schéma logique Utilisateurs BD Table Personne Table Voiture Table Conduit Personne Dupont Durant Rousseau... Voiture Ford Ka Renault clio... 2008/2009 Modèle conceptuel 5
Exemples Type d'entité Type d'association Client Achète Maison Nom Prix Adresse attribut 2008/2009 Modèle conceptuel 6
Description du modèle Types d entités Le domaine d application est constitué d entités concrètes ou abstraites Chaque entité appartient à une classe ou type d entité Exemple : domaine de l assurance automobile Objet concret animé : CLIENT Objet concret inanimé : VEHICULE Objet abstrait : CONTRAT Évènement : ACCIDENT Chaque type d entité représente une population, variable dans le temps 2008/2009 Modèle conceptuel 7
Description des types d'entité Exemple: description du TA "Emploi" de la base de données hypermarché Nom : Emploi Définition : "lie un employé au rayon dans lequel cet employé travaille aujourd'hui" Type d'entité participants : Employé, Rayon Cardinalités : Employé: min=0, max=1 Rayon: min=0, max=n Attributs : / Identifiant : ( Employé nom + Rayon nomr1 ) 2008/2009 Modèle conceptuel 8
Description des types d'entité Les cardinalités possibles pour un rôle (ici, Employé de Emploi) et leur signification sont les suivantes : min=0 : un employé peut ne travailler dans aucun rayon min=1 : un employé doit travailler dans au moins un rayon max=1 : un employé ne peut travailler dans plus d'un rayon max=n : un employé peut travailler dans plusieurs rayons 2008/2009 Modèle conceptuel 9
Description du modèle Attributs Chaque type d entité est caractérisé par des propriétés ou attributs Il faut spécifier le type de chaque attribut et sa longueur: - Numérique, caractère, date, etc. 2008/2009 Modèle conceptuel 10
Exemple : description d'un attribut "date de naissance" d'un TE Personne Nom : date de naissance Définition : "date de naissance de la personne" Cardinalités : min=1, max=1 (tout personne a une date de naissance connue) Composition : Nom : jour Définition : "jour de naissance de la personne" Cardinalités : min=1, max=1 domaine de valeurs : les entiers dans l'intervalle [1,31] Nom : mois Définition : "mois de naissance de la personne" Cardinalités : min=1, max=1 domaine de valeurs : les entiers dans l'intervalle [1,12] Nom : année Définition : "année de naissance de la personne" Cardinalités : min=1, max=1 domaine de valeurs : les entiers dans l'intervalle [1870, 2008] 2008/2009 Modèle conceptuel 11
Description du modèle Types d associations Caractérisent les liens entre les types d entités Lorsqu un type d entité intervient dans un type d association, on dit qu il y joue un rôle Un même type d entité peut jouer deux rôles différents dans un même type d association 2008/2009 Modèle conceptuel 12
Exemple Client Signe Contrat Possède Couvre Véhicule Implique Accident 2008/2009 Modèle conceptuel 13
Exemple Mari Personne Mariée à Femme 2008/2009 Modèle conceptuel 14
Contraintes de cardinalité des associations A c o m b ie n d a s s o c ia tio n s d e A un e e n tité d e E a ppa rtie n t? Entité min:max Association Client 0:n Achète 1:n Maison Mari 0:1 Personne Mariée à 0:1 Femme 2008/2009 Modèle conceptuel 15
Contraintes de cardinalité des associations Couple Client 0:n Signe 1:1 Contrat 0:n 0:1 Possède Couvre 1:n 0:1 Véhicule 0:n avoir 2:2 enfant 2008/2009 Modèle conceptuel 16
Attributs Mari 0:1 Personne Mariée à Nom Prénom 0:1 Femme Date Jour Mois Année 2008/2009 Modèle conceptuel 17
Contraintes de cardinalité des attributs Employé 1:1 1:1 1:1 0:n 1:n no-empl nom prénom 1:1 CV 1:n 1:1 diplome année poste 1:n 1:1 0:1 Intitulé salaire date-début date-fin 1:1 1:1 date montant 1:1 1:1 mois année 2008/2009 Modèle conceptuel 18
Cardinalité Terminologie : simple, complexe, monovalué (x:1), multivalué (x:n), obligatoire (1:n), facultatif (0:n) de préférence des attributs simples monovalués 0:1 1:1 0:n 1:n 2008/2009 Modèle conceptuel 19
Les clés: identifiants des entités et associations Désigner une entité ou une association de façon univoque Définition : Une clé (ou clef) est un ensemble (minimal) d'attributs tel qu' il n'existe pas deux instances de l entité ou de l association où ces attributs aient la même valeur. La valeur des attributs de la clé déterminent la valeur de tous les attributs Client Commande Produit no-client Nom prénom date no-commande Adresse no-produit Que l s o n t le s id e n tifia n ts d e s type s Clie n t, Co m m a n d e e t Pro d uit? 2008/2009 Modèle conceptuel 20
Identifiants d une entité faible Définition : une entité qui ne peut être identifié par ses seuls attributs propres est appelé entité faible Livre Existe Exemplaire ISBN titre Date d'achat no-exemplaire état 2008/2009 Modèle conceptuel 21
Un identifiant peut être formé de plusieurs attributs Un type d entité peut posséder plusieurs identifiants : id: <identifiant primaire> id : <identifiant secondaire> Exemple Cas des identifiants hybrides Constitués de types d entités voisins et d attributs Exemple : CONTRAT est identifié par (CLIENT,NumCtr) Un identifiant doit être minimal, i.e qu aucun de ses composants ne peut être retiré sans qu il perde son statut d identifiant Un identifiant primaire doit être choisi tel que ses valeurs soient stables pendant la durée de vie de l entité Ex : éviter <id_école>=<code postal> + <initiales du nom de l établissement> => pb si changement de nom ou de code postal 2008/2009 Modèle conceptuel 22
Exemple : la bibliothèque - Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. - Les emprunts durent au maximum 15 jours - Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). - On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). - Chaque semaine, on liste des emprunteurs en retard : nom et adresse, date de l'emprunt, numéro et titre du livre concerné. - On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état. 2008/2009 Modèle conceptuel 23
Schéma conceptuel bibliothèque Titre NuméroLivre Auteur numérousager Caution Livre emprunte Client État Date-emprunt Date-retour Date-achat Éditeur Nom Adresse 2008/2009 Modèle conceptuel 24 n rue ville
Contraintes d'intégrité (CI) Règles définissant ce qui est possible: les états (CI statiques) les transitions (CI dynamiques) Contraintes d intégrité statiques Décrivent les états valides Exemples : le prix unitaire doit être supérieur à 0 toute commande doit avoir au moins un détail Contraintes d intégrité dynamiques Spécifient des changements d états valides Exemples : on ne peut augmenter le prix d un produit de plus de 5% le changement d état civil permet de passer de «célibataire» à «marié», mais pas de «célibataire» à «veuf» ou à «divorcé» 2008/2009 Modèle conceptuel 25
CI - Les CI doivent être décrites explicitement avec un langage approprié : le MCD ne peut pas les exprimer toutes - une BD est cohérente si toutes ses CI sont respectées par les valeurs de la BD au cours de son utilisation, laquelle respecte les CI dynamiques 2008/2009 Modèle conceptuel 26