Introduction à la modélisation conceptuelle des données

Temps estimé de lecture : 30 minutes

Objectifs

Question à laquelle cette activité va permettre de répondre :

  • Quels sont les principes de base pour produire un schéma relationnel avec la notation UML

Objectifs pédagogiques visés :

  • Expliquer la notion de classe
  • Expliquer la notion d’association
  • Expliquer la notion de cardinalité

La modélisation conceptuelle est une approche intuitive pour concevoir une base de données. Elle est adaptée dès qu’on doit structurer un ensemble de données un peu complexe (à chacun de juger quand un ensemble de données atteint ce seuil). Une autre approche, la théorie de la normalisation, est plus formelle, plus rigoureuse et offre des moyens d’analyse très fins pour régler des problèmes sur des sous-ensembles précis des données.

La place de la modélisation conceptuelle de données

Sur ce schéma, on montre où se situe la modélisation conceptuelle de données. Entre le monde réel qu’elle doit permettre de représenter de manière assez intuitive et les modèles logiques des SGBD sous-jacents.Au bénéfice des modèles conceptuels, on peut dire qu’il est souvent plus simple (plus intuitif) de passer par une modélisation conceptuelle entre le monde réel et la modélisation logique (dans notre cas, la modélisation relationnelle). L’étape intermédiaire de transformation d’un modèle conceptuel vers un modèle logique s’appelle la dérivation. La limite des modèles conceptuels est liée à ce qui fait leur force : si l’expert qui modélise les données n’a pas la bonne intuition, alors le modèle ne met pas de garde-fous pour aider l’utilisateur dans sa démarche, contrairement à des formalismes logiques plus formels, tels que le modèle relationnel qui s’accompagne d’un formalisme de modélisation très rigoureux (appelé « théorie de la normalisation »).Les séquences dédiées à la théorie de la normalisation illustrent ainsi la complémentarité que l’on peut trouver entre la modélisation conceptuelle (utile quand les données sont complexes) et la modélisation relationnelle (permettant, sur un ensemble de données restreint, d’avoir une démarche rigoureuse).

La notation UML

Avertissement

Les notations UML présentées dans ce document sont présentées dans l’optique d’effectuer un modèle conceptuel de données. Afin d’effectuer un diagramme de classe, les mêmes éléments de notation sont utilisés, mais les usages peuvent parfois sensiblement différer.

Les classes

Définition

Classe

Une classe est un objet concret ou abstrait qui a une existence propre et qui permet de décrire un concept dans le système d’information.

Classes

Dans cet exemple, nous allons évoquer deux classes : Étudiant et Livre.

Les associations binaires (dimension 2)

Définition

Une association binaire est un groupement de deux classes pour décrire une réalité de l’organisation.

Association binaire

Les associations permettent de représenter les règles de gestion d’une organisation. Ici, nous voulons exprimer le fait qu’un étudiant puisse emprunter un livre.

Les contraintes de cardinalités

Définition

Cardinalité

La cardinalité indique le nombre d’instances d’une classe qui sont associées à chacune des instances de l’autre classe.

Cardinalités

Les cardinalités s’écrivent au moyen d’un couple de valeurs permettant d’exprimer les cardinalités minimale et maximale. En UML, la cardinalité caractérisant l’association d’une classe A à une autre classe B s’écrit à l’opposé de la classe A, près de la classe B.

Par exemple, en observant l’exemple ci-dessus, nous pouvons dire :

  • Un étudiant (instance de la classe Etudiant) peut avoir emprunté aucun ou plusieurs livres : cardinalité 0..* du côté de Livre.
  • Un livre (instance de la classe Livre) peut ne pas avoir été emprunté par un étudiant, ou avoir été emprunté une seule fois : cardinalité 0..1 du côté de Etudiant.

Les différents types d’association

A partir de cette notion de cardinatité nous pouvons ainsi caractériser 3 grands types d’association :

  • Les associations un-à-un notées 1:1
  • Les associations un-à-plusieurs notées 1:N
  • Les associations plusieurs-à-plusieurs notées N:M (ou N:N)

Ici quand on parle d’une cardinalité de type “1” on évoque les couples de cardinalités (0..1) et (1..1). Quand on parle d’une cardinalité de type “N” on évoque les couples de cardinaliltés (0..*) et (1..*).

Dans notre exemple précédent, l’association emprunt entre Etudiant et Livre est une association 1:N (un à plusieurs).

Les propriétés

Définition

Une propriété désigne une valeur ou un groupe de valeurs pour décrire une classe ou une association entre classes.

Propriétés

Les associations portées

Une association N:M peut avoir en propre des propriétés. Cela n’est en aucun cas obligatoire.

Association portée

Dans cet exemple, un étudiant peut avoir aucun ou plusieurs abonnements (à une revue), et une revue être concernée par aucun ou plusieurs abonnements (d’étudiants). Ici les attributs date_début et durée caractérisent l’association entre les deux entités.

Les associations réflexives

Une association réflexive est une association binaire qui relie une classe avec elle-même.

Association réflexive

Dans cet exemple, chaque personne est associée à un seul et unique manager, c’est-à-dire que chaque personne apparait une seule et unique fois en tant qu’employé dans l’association entre manager et employé.

Par ailleurs, chaque manager est associé à aucun ou plusieurs employés, c’est-à-dire que chaque personne apparait aucune ou plusieurs fois en tant que manager dans l’association entre manager et employé.

Les associations n-aires (dimension n)

On généralise le concept d’association binaire à un nombre quelconque de classes. Le schéma ci-dessous montre l’exemple d’une association ternaire, de dimension 3.

Association n-aire

Dans cet exemple, l’association ternaire représente l’inscription d’un participant à un sport pour une compétition donnée. Pour déterminer les cardinalités il faut se poser 3 questions :

  • Pour une compétition donnée et un participant donné, à combien de sports peut on s’inscrire ?
  • Pour une compétition donnée et un sport donné, combien de particants peuvent-ils s’inscrire ?
  • Pour un participant et un sport donné, à combien de compétition peut on s’inscrire ?

Dans notre exemple la réponse est à chaque fois 1 fois ou plusieurs.

L’héritage

L’héritage permet d’exprimer des propriétés communes à plusieurs classes : il peut être exclusif ou non exclusif

Association n-aire

  • Héritage exclusif : une personne ne peut pas être à la fois un enseignant et un étudiant.
  • Héritage non exclusif : un étudiant peut également être un enseignant (par exemple un doctorant).