Apprendre les BDD relationnelles : Modèle Conceptuel de Données (MCD)

Le Modèle Conceptuel de Données (MCD) est un diagramme qui a pour but de décrire de façon formelle la structure des données d'un système d'information.

Icône de calendrier
Débutant
5 chapitres

Un modèle abstrait

À ce stade, bien que l’on décrive les données de notre base de données, on ne pense pas encore réellement à son implémentation pour un type de base de données (pas de notions de clé primaire, clé étrangère…)

Le MCD est un modèle abstrait. Il est indépendant de toute implémentation physique ou logicielle. Il permet de conceptualiser la base de données en détaillant ses entités et ses associations à travers un diagramme Entité-Associations (E-A).

Entités

Le MCD d’une base de données commence par la définition des types de données qui vont être stockées. Chaque type de donnée est nommé « Entité ».

Libellé

Chaque entité doit être nommée par un mot décrivant ce qu’elle représente. Ce nom est à écrire dans la partie haute du rectangle.

Les libellés dans un MCD

Propriétés

Une entité représente un élément réel ou fictif possédant ses propres caractéristiques, aussi appelées propriétés. Ces caractéristiques sont à énumérer dans la partie basse du rectangle.

Les propriétés dans un MCD

Vous constaterez que j’ai ici ajouté la propriété « identifiant » sur l’ensemble des champs. Le rôle de cette propriété est d’identifier une donnée de manière unique. Son rôle est essentiel pour manipuler nos données.

Cet identifiant se doit d’être souligné.

Cette propriété est généralement définie par une valeur numérique (1, 2, 3…) mais elle peut tout à fait être identifiée par une chaîne de caractères autre.

Ce besoin d’identification est omniprésent dans notre société : plaque d’immatriculation d’un véhicule et numéro de sécurité sociale sont des exemples d’identifiants incontournables.

Comment différencier informatiquement 2 utilisateurs « John Doe » nés tous deux le 10 janvier 1987 ?? Grâce aux identifiants.

Relations

Dans une application, les données sont bien souvent liées les unes aux autres : on parle de relations. Ces relations, aussi parfois appelées « associations », représentent les liens qui peuvent exister entre plusieurs entités.

On distingue 4 grands types de relations, en fonction du nombre d’entités qui les composent :

  • Relation récursive (ou réflexive) : relie une entité à elle-même
  • Relation binaire : relie deux entités
  • Relation ternaire : relie trois entités
  • Relation n-aire : relie n entités

Liaison

Pour créer une relation, la première chose à faire est de créer une liaison entre les entités concernées.

Une liaison est constituée :

  • D’un trait reliant les entités
  • D’une entité relationnelle dont le libellé doit décrire le type de relation qui relie les entités. Il s’agit généralement d’un verbe à l’infinitif. Exemple : « Appartenir », « Posséder », « Ecrire » …

Cardinalité

La cardinalité d’une relation définit, pour une entité A, à combien d’éléments d’une Entité B elle peut être associée au minimum et au maximum.

La cardinalité d’une relation est composée d’un couple comportant une borne minimale et une borne maximale. Cela constitue un intervalle de valeurs au sein duquel la cardinalité d’une entité pourra être définie.

  • La borne minimale prend une valeur de 0 ou 1.
  • La borne maximale prend une valeur de 0 ou n (= plusieurs).

Les relations dans un MCD

Pour vous aider à noter la cardinalité d’une relation, partez d’une entité spécifique et récitez dans votre tête la phrase :

Un {nom de l'entité 1} {verbe de l'entité relationnelle} au moins ??? et au plus ??? {nom de l'entité B}

Dans l’exemple précédent, je définis que :

  • « Un Utilisateur Poste au moins 0 et au plus n Commentaire »
  • « Un Utilisateur Publie au moins 0 et au plus n Article »
  • « Un Utilisateur Upload au moins 0 et au plus 1 Avatar »
  • « Un Avatar Est uploadé par au moins 1 et au plus 1 Utilisateur »
  • « Un Article Contient au moins 0 et au plus n Commentaire »
  • « Un Article Est publié par au moins 1 et au plus 1 Utilisateur »
  • « Un Article Possède au moins 0 et au plus n Catégorie »
  • « Un Commentaire Est posté par au moins 1 et au plus 1 Utilisateur »
  • « Un Commentaire Est contenu par au moins 1 et au plus 1 Article »
  • « Une Catégorie Est possédée par au moins 0 et au plus n Article »
Propriété additionnelle dans l'entité relationnelle

Parfois, une liaison nécessitera la création d’une propriété spécifique au sein de l’entité relationnelle. Prenons l’exemple de la relation entre les entités « Recette » et « Ingrédient » de la base de données d’un blog de cuisine.

Une recette est constituée d’ingrédients ; il existe alors une relation entre ces entités. En revanche, cette relation ne donnera pas suffisamment d’informations sur la nature de la relation et il sera important de préciser en quelle quantité un ingrédient est utilisé dans une recette. Cela se fera via l’ajout d’une propriété « quantité » au sein de l’entité relationnelle « Contient »

Propriété additionnelle au sein d'une relation dans un MCD