Ce document pédagogique présente le Modèle Conceptuel de Données (MCD), une approche clé en modélisation des Systèmes d'Information. Il s'adresse aux étudiants universitaires en filières informatiques et technologiques.
Le cours couvre :
- Les objectifs et le formalisme Entité-Association (MERISE) du MCD ;
- La définition des entités, propriétés et associations, avec leur représentation ;
- Les cardinalités et contraintes d'intégrité fonctionnelle ;
- La méthodologie de construction et de vérification d'un MCD, illustrée par des exercices pratiques.
Modélisation Merise : Cours Modèle Conceptuel de Données MCD
Télécharger PDFModèle Conceptuel de Données (MCD)
Le Modèle Conceptuel de Données (MCD), aussi appelé modèle Entité/Association, est un outil fondamental pour la représentation graphique des informations traitées par un système d'information (SI) ou une entreprise.
Qu'est-ce que le Modèle Conceptuel de Données (MCD) ?
Le MCD est un modèle qui décrit les données gérées par un système sans prendre en compte les choix d'organisation, d'automatisation ou techniques. Il met en évidence les choix de gestion en précisant la signification des invariants, leur structure et leurs liens.
En d'autres termes, il exprime le "quoi" concernant les données et fournit une image stable du système d'information en termes de données.
Objectifs du MCD
Le modèle doit permettre de répondre à des questions que l'organisation se pose sur son système, telles que :
- « Où en est mon stock de papier ? »
- « Qui pilote la machine M2045 à 10h00 ? »
- « Qui est compétent pour contrôler le processus X35 ? »
Il est crucial que le modèle ne contienne que des informations utiles ou qui ne peuvent être retrouvées ailleurs.
Formalisme du MCD
Le formalisme utilisé dans la méthode MERISE a été reconnu internationalement par l'ISO. Il est également connu sous le nom de formalisme Individu-Relation, ou formalisme Entité-Relation (inspiré du modèle Entity-Relationship de Chen).
Concepts de Base du MCD
Les concepts fondamentaux du MCD sont :
- Attribut (ou Propriété) : Un élément descriptif tel que le nom, l'adresse, la raison sociale d'un assuré.
- Entité (ou Individu) : Une représentation d'un objet concret ou abstrait, comme un assuré ou un contrat.
- Association : Le lien sémantique entre des entités, par exemple, "un contrat comporte des garanties".
Ces concepts sont répertoriés dans un dictionnaire de données, qui contient au minimum un code et un libellé pour chaque élément. Cela permet d'assurer la cohérence des données dans le domaine d'étude et en liaison avec d'autres domaines.
L'objectif principal du MCD est d'identifier, de décrire (par des informations) et de modéliser les entités et leurs associations à l'aide d'une représentation graphique claire.
Représentation Graphique Simplifiée
Dans le formalisme MERISE, une entité est généralement représentée par un rectangle contenant le nom de l'entité et la liste de ses attributs. Une association est représentée par un ovale reliant les entités participantes, avec le nom de l'association et ses attributs éventuels.
Les Composantes Détaillées du MCD
Attribut (ou Propriété)
Un attribut (ou propriété) décrit une caractéristique attachée soit à une entité, soit à une association. Il prend ses valeurs dans un domaine simple (par exemple, chaîne de caractères, entier, réel).
Description d'une Propriété
Une propriété se décrit par tout ou partie des éléments suivants :
- Définition : Ce qu'elle représente et son intérêt dans le contexte.
- Nature (Domaine de valeur) : Le type de données qu'elle peut contenir (quantité, nombre, date, heure, etc.).
- Longueur : Le nombre de caractères ou le format de la valeur.
- Caractéristiques complémentaires :
- Obligatoire ou facultative.
- Naturelle (directement issue du monde réel) ou calculée.
- Simple ou répétitive (dans ce cas, elle devrait souvent être éclatée en une nouvelle entité ou association).
- Élémentaire ou décomposable (une propriété doit être atomique).
- Normée (en interne ou par des organismes officiels, par exemple un numéro INSEE).
Propriété Composée
Une propriété peut être composée, c'est-à-dire que sa valeur est obtenue à partir des valeurs d'autres informations via une règle de construction. Par exemple, un numéro INSEE peut être composé du jour, de l'année, du mois, du département et de la commune.
Il est cependant important de ne pas décomposer une propriété composée si une fraction de sa valeur n'a pas de signification propre, non exprimée ailleurs.
Identification et Vérification des Propriétés
Chaque propriété doit posséder un code, un libellé et une définition. Elle doit avoir une seule signification (pas d'homonymie). Si une propriété a plusieurs sens, il est nécessaire de la décomposer en plusieurs propriétés distinctes. De même, une propriété ne doit pas avoir de synonyme (pas de nom différent pour le même sens) ; si deux propriétés ont le même sens, seule l'une d'entre elles doit être conservée.
Contraintes liées aux Propriétés
La définition d'une propriété est complétée par la prise en compte des contraintes éventuelles associées. Ces contraintes correspondent à des contrôles à assurer pour vérifier l'intégrité des données et la cohérence par rapport au système à représenter.
Les contraintes de valeur représentent l'ensemble des valeurs que peut prendre une propriété. Elles peuvent être :
- Des domaines de valeur (à tout moment).
- Des contraintes statiques (en fonction de la valeur prise par d'autres propriétés).
- Des contraintes dynamiques (lors d'un changement d'état du SI).
Les dépendances fonctionnelles sont également des contraintes importantes qui définissent comment la valeur d'une propriété peut être déterminée par la valeur d'une autre.
Entité
Une entité est définie par :
- Un nom qui permet de l'identifier.
- Un ensemble de propriétés/attributs qu'elle possède.
- La désignation d'un identifiant : une propriété ou un ensemble de propriétés permettant de repérer de façon unique une occurrence de cette entité parmi d'autres.
Exemple : L'entité "Enseignant" possède un nom, un prénom, un âge, un nombre d'enfants, une situation familiale, etc.
Règles de Pertinence pour les Entités
La définition d'une entité est un choix du concepteur en fonction de l'intérêt qu'elle présente pour le système. À partir d'objets concrets ou abstraits du monde réel, le concepteur peut composer diverses modélisations en termes d'entités. Il est essentiel de pouvoir faire référence distinctement à chaque occurrence de l'entité, c'est pourquoi chaque entité est dotée d'un identifiant, c'est-à-dire une propriété identifiante.
Types et Règles d'Identification des Entités
Plusieurs types d'identifiants existent :
- Identifiant simple : Peut être "naturel" (comme le nom d'un pays) ou "artificiel" (comme un numéro client).
- Identifiant composé : Composé de plusieurs propriétés (par exemple, le numéro de sécurité sociale).
- Identifiant relatif : Comprend des propriétés n'appartenant pas directement à l'entité à identifier, mais provenant d'une entité parente dans une relation de dépendance.
Un identifiant doit respecter les qualités suivantes :
- Univalué : Une occurrence d'entité correspond à une seule valeur de l'identifiant.
- Discriminant : Une valeur de l'identifiant correspond à une seule occurrence de l'entité.
- Stable : L'identifiant ne doit pas changer de valeur au cours du temps.
- Minimal : Pour les identifiants composés, il doit être composé du plus petit nombre de propriétés nécessaire pour assurer l'unicité.
Règles de Vérification des Entités
- Une entité a un seul identifiant.
- Une entité a au moins une propriété (en plus de son identifiant).
- Une entité participe à au moins une association, sinon elle est isolée et peu pertinente pour le modèle.
- À chaque occurrence de l'entité, il ne peut y avoir au plus qu'une valeur de la propriété. Si une personne possède plusieurs numéros de téléphone, il faudra éclater ces numéros sous différentes propriétés (ex: Téléphone Domicile, Téléphone Portable) ou créer une nouvelle entité "Téléphone" associée à la "Personne".
- Une information ne peut être que dans une seule entité. Pour être dans cette entité, elle doit dépendre fonctionnellement de l'identifiant de cette entité.
Association
Une association modélise un ensemble de liens de même nature entre deux ou plusieurs occurrences d'entités, ayant un intérêt significatif pour le système à représenter. L'association n'existe qu'à travers les entités qu'elle relie. Chaque occurrence d'une association doit pouvoir être distinguée des autres.
On désigne généralement les associations par des noms de verbes :
- Verbe statique à l'infinitif (ex: "appartenir", "concerner").
- La forme active ou passive permet d'orienter la lecture de l'association.
Caractéristiques d'une Association
Les caractéristiques principales d'une association sont :
- Code : Pour la référencer.
- Libellé : Pour la nommer et exprimer son sens principal.
- Définition : Pour préciser sa signification par rapport aux entités qu'elle relie.
Une association n'a pas d'identifiant propre. Ses occurrences sont identifiées par la concaténation des identifiants des entités qu'elle relie.
Types d'Associations
On distingue différents types d'associations :
- Les associations binaires : Qui associent deux entités. C'est le type le plus courant.
- Les associations n-aires : Qui associent plus de deux entités (ex: associations ternaires, quaternaires).
- Les associations réflexives : Qui associent les occurrences d'une même entité. Par exemple, une entité "Employé" pourrait avoir une association réflexive "Est supervisé par" pour représenter la hiérarchie.
Informations Portées par une Association
Une association peut être porteuse d'informations, notamment :
- Les propriétés (ou attributs) qui la caractérisent spécifiquement (par exemple, la date d'un événement lié à l'association).
- Les cardinalités, qui définissent la nature du lien entre les entités.
- Les contraintes spécifiques à l'association.
Par exemple, "Type_Ens" peut être un attribut de l'association "ENSEIGNER", car il dépend à la fois de l'enseignant et du cours (un même cours peut être enseigné par différents types d'enseignants).
Cardinalités des Associations
La cardinalité caractérise la participation d'une entité à une association. Elle représente le nombre d'occurrences de l'association pour chaque occurrence de l'entité. On distingue :
- La cardinalité minimale : Donne le nombre minimum de participations de chaque occurrence de l'entité à l'association. Elle peut être 0 (optionnel) ou 1 (obligatoire).
- La cardinalité maximale : Donne le nombre maximum de participations de chaque occurrence de l'entité à l'association. Elle peut être 1 (participation unique) ou n (participation multiple).
Exemple : Pour l'association "Enseigner" entre "ENSEIGNANT" et "COURS" :
- (0,n) côté "ENSEIGNANT" vers "Enseigner" : Un enseignant peut n'enseigner aucun cours (0), ou plusieurs cours (n).
- (1,n) côté "COURS" vers "Enseigner" : Un cours est enseigné par au moins un enseignant (1), ou par plusieurs (n).
Ces cardinalités permettent de définir la typologie des associations :
- 1-1 (one-to-one) : Chaque occurrence de l'entité A est liée à au plus une occurrence de l'entité B, et vice-versa.
- 1-n (one-to-many) : Chaque occurrence de l'entité A est liée à plusieurs occurrences de l'entité B, mais chaque occurrence de B est liée à une seule occurrence de A.
- n-m (many-to-many) : Chaque occurrence de l'entité A peut être liée à plusieurs occurrences de l'entité B, et chaque occurrence de B peut être liée à plusieurs occurrences de A.
Il est important de prendre en compte la présence de toutes les entités concernées dans le calcul de la cardinalité, surtout pour les associations n-aires (plus que binaires).
Contraintes dans les Associations
Certaines contraintes ne sont pas représentables par le seul formalisme de base (entité, association, propriétés, cardinalités). Elles correspondent à des règles que le modèle doit satisfaire pour être fidèle et cohérent avec l'activité à représenter.
Exemple : Pour une période d'emploi du temps donnée, un professeur ne fait un cours que dans une seule salle.
Typologie des contraintes :
- Contraintes d'intégrité fonctionnelle (CIF).
- Contraintes ensemblistes (par exemple, une inclusion ou une exclusion entre ensembles d'occurrences).
- Contraintes de valeur.
- Contraintes structurelles.
- Options de gestion.
Contraintes d'Intégrité Fonctionnelle (CIF)
Une CIF existe entre les entités A et B si toute occurrence de l'une détermine obligatoirement une et une seule occurrence de l'autre. Par exemple, si "Période" et "Professeur" déterminent une "Salle" unique, alors il y a une CIF. Les CIF se manifestent souvent par des cardinalités de la forme (1,1) d'un côté de l'association. Autrement dit, une relation binaire ayant une cardinalité (1,1) du côté de l'entité cible est une contrainte d'intégrité fonctionnelle.
La CIF est particulièrement utile en présence de relations de plus grande dimension qui peuvent être simplifiées. Par exemple, si un salarié appartient à un seul service, on aura une CIF du Salarié vers le Service.
Vérification du MCD
L'application systématique de chacune des règles de vérification sur les éléments du MCD permet de s'assurer qu'il est conforme aux attentes et représente correctement le système d'information.
- Première règle : Toutes les propriétés doivent être élémentaires, c'est-à-dire non décomposables.
- Deuxième règle : Chaque objet (entité ou association) doit posséder un identifiant et un seul.
- Troisième règle : Les propriétés d'un objet, autres que l'identifiant, doivent être en dépendance fonctionnelle monovaluée de cet identifiant (chaque valeur de l'identifiant détermine une unique valeur de la propriété).
- Quatrième règle : Une propriété ne peut qualifier qu'un seul objet ou qu'une seule relation.
- Cinquième règle : La dépendance fonctionnelle transitive doit être écartée (une propriété ne doit pas dépendre d'une autre propriété qui elle-même dépend de l'identifiant, sans dépendre directement de l'identifiant principal).
- Sixième règle : Pour chaque occurrence d'une relation, il doit exister une et une seule occurrence de chacun des objets de la collection.
- Septième règle : Les propriétés d'une relation (association) doivent dépendre de la totalité de l'identifiant de cette relation (qui est la concaténation des identifiants des entités participantes).
Le Dictionnaire de Données (DD)
Le dictionnaire de données est une structure qui rassemble l'ensemble des informations relatives à un sujet d'étude. Son but est de recenser, de structurer et de fournir une première analyse des informations nécessaires au système.
Origine des Informations pour le Dictionnaire de Données
Les informations pour construire un dictionnaire de données proviennent de diverses sources :
- Description de l'activité de l'entreprise.
- Description des objectifs du système.
- Analyse des documents existants et utilisés.
- Entretiens avec les utilisateurs et experts métiers.
- Analyse des fichiers et bases de données existantes.
Présentation du Dictionnaire de Données
Un dictionnaire de données présente généralement les informations sous forme de liste structurée, incluant pour chaque donnée :
- Code (Nom Symbolique) : Un identifiant unique pour l'information (ex: Ens_NO).
- Type : Indique si la propriété est élémentaire, composée (concaténée) ou calculée.
- Nature : Le domaine des valeurs permises (ex: Numérique(15), Caractères(15)).
- Description : Définition claire et rôle joué par l'information (ex: Numéro Enseignant).
- Remarque : Précisions ou commentaires additionnels (ex: Identifiant, ne peut être modifié).
- Contrainte : Règles spécifiques applicables à la donnée.
Méthodologie de Construction du MCD
La construction d'un Modèle Conceptuel de Données se fait généralement en plusieurs étapes à partir du Dictionnaire de Données :
- Analyse de l'existant et constitution d'une ébauche de Dictionnaire de Données.
- Épuration des polysèmes (mots ayant plusieurs sens).
- Épuration des synonymes (mots différents pour le même sens).
- Identification des entités naturelles grâce à leurs identifiants.
- Rattachement des propriétés à ces entités grâce aux dépendances fonctionnelles (agrégation).
- Placement des informations restantes dans les associations entre ces entités.
- Étude et affinement des associations non porteuses d'informations.
- Définition et placement des cardinalités pour chaque participation d'entité à une association.
- Simplification du modèle à l'aide des Contraintes d'Intégrité Fonctionnelle (CIF).
- Contrôle et validation du modèle produit par rapport aux règles de vérification et aux besoins métiers.
Foire Aux Questions (FAQ) sur le MCD
Qu'est-ce qu'un identifiant dans le MCD ?
Un identifiant est une propriété ou un ensemble de propriétés au sein d'une entité qui permet de distinguer de manière unique chaque occurrence de cette entité. Il peut être simple, composé ou relatif et doit être univalué, discriminant, stable et minimal.
Quelle est la différence entre une propriété et une association ?
Une propriété décrit une caractéristique d'une entité ou d'une association (ex: le nom d'une personne). Une association, quant à elle, représente un lien sémantique entre deux ou plusieurs entités (ex: une personne "possède" une voiture). Les associations peuvent aussi avoir leurs propres propriétés.
Pourquoi les cardinalités sont-elles importantes dans une association ?
Les cardinalités définissent la nature et les contraintes de la participation des entités à une association. Elles indiquent le nombre minimum et maximum d'occurrences d'une association pour chaque occurrence d'une entité participante, ce qui est crucial pour comprendre les règles de gestion et l'intégrité des données du système.