// BLOG

Quick Merise

Tout projet informatique manipulant des données doit réfléchir en amont à la façon dont il va organiser ses données. La méthode Merise est l'une des techniques pour nous aider à concevoir un model relationnel de données.

Rédigé le 18.09.2020
Par Gilles Vauvarin

Merise BDD

Méthode Merise

Rapide pense-bête sur la méthode de conception de modélisation des données Merise.

Expression et analyse des besoins

Le client exprime un besoin de préférence sous forme d'un texte. Des demandes de précisions peuvent être nécessaires.

A partir de l'analyse de ce besoin, nous identifions des informations que nous regroupons dans un dictionnaire de données qui peut être présenté sous forme d'un tableau.

Nom Description Type Commentaires Entité
Nom Nom de la promotion d'étudiants Texte court Promotion
Années Années de la promotion Date Chevauche deux années Promotion
Nom Nom de la matière Texte court Matière

Chaque ligne doit contenir une information unique (pas de prénom + nom par ex.). Cette énumération d'informations devrait permettre de faire émerger des entités et les données qui les caratérisent.

Une entité se définie comme un objet caractérisé par un ensemble de données communes à tous ces objets.

MCD: Modèle Conceptuel de Données

C'est une représentation graphique qui permet de voir les relations entre les entités.

La représentation graphique doit faire apparaître :

- Les entités (1 rectangle = 1 objet = minuscule = singulier)
- Les propriétés (la liste des caractéristiques de l’entité)
- L'identifiant, la ou les propriétés qui identifient l'entité de manière unique (souligné)
- Les associations qui expliquent et précisent comment les entités sont
reliées entre elles (1 ovale qui se rattache aux entités (2 ou 3) avec un verbe à l'infinitif)
- Les cardinalités (quantités min et max qui peuvent exister entre deux entités). Elle se note de la façon suivante : (0,1) (1,1) (0,n) (1,n).

Pour la cardinalité minimum, le choix du 0 ou du 1 dépendra du contexte du projet et du fonctionnement attendu de l'application.

Le MCD est un outil qui doit être compréhensible par le client et utilisé comme base de discussion pour préciser les éléments de la future application.

Autres types d'association :

L'association binaire, qui relie deux entités, est celle que nous utiliserons le plus souvent. Cependant, il existe d'autres types d'associations possibles :

Association avec propriétés

Une propriété peut parfois décrire une caractéristique d'une relation. Par exemple, imaginons une relation "Commander" entre une entité "Client" et "Article". La relation "Commander" pourrait être caractérisée par une propriété "Date de commande".

Association multiples

Une association peut relier plus de deux entités. On parle alors d'association n-aire.

Association réflexive

Une association est réflexive lorsqu'une entité fait référence à elle-même. Par exemple des catégories organisées entre elles selon une hiérarchie parent / enfants.

MLD: Modèle Logique de Données

Le MLD ou Modèle Logique des Données est une représentation textuelle et en ligne de la structure de la base de données. On commence donc a raisonner système d'information et un vocabulaire informatique est utilisé pour designer les éléments.

Règles de passage du MCD au MLD :

Règle 1 :

- Les entités deviennent des tables dans la BDD.
- Les propriétés deviennent des attributs et composent un champ de la table.
- Une ligne de la table est un enregistrement et une colonne correspond à un champ.
- Les valeurs sont à l'intersection d'une ligne et d'une colonne.
- L'identifiant devient la clé primaire de la table (Primary Key = PK) est doit être unique et non nulle.

Règle 2 :

Une association de type 1:N (cardinalités maximales positionnées à «1» d’un côté de l’association et à «N» de l’autre) se traduit par la création d'une clé étrangère symbolisée par un #. La clé étrangère est une référence à la clé primaire de la table à laquelle on est liée. La clé étrangère est ajoutée dans la table qui représente l'entité présente "N" fois dans l'autre table. (ici un client passe N commandes, la clé étrangère est ajoutée dans la table commande)

Exemple :

Client (0,N) ---- Passe --- (1,1) Commande

CLIENT (numClient, nom , prenom , adresse)
COMMANDE (numCommande ,dateCommande , #numClient)

Règle 3 :

Une association de type N:N (cardinalités maximales à «N» des 2 côtés de l’association) se traduit par la création d’une nouvelle table dont la clé primaire est composée de deux clés étrangères correspondant aux deux clés primaires des entités liées par l'association N:N. Les éventuelles propriétés de l’association deviennent des attributs de la relation.

Exemple :

Commande (1,N) ---- Concerne (quantité) --- (1,N) Produit

COMMANDE (numCommande ,dateCommande)
PRODUIT (refProduit, libelleProduit)
CONCERNE (#numCommande , #refProduit, quantité)

Dans la BDD, CONCERNE peut être renomée LIGNEDECOMMANDE pour des raisons de lisibilité.

Les règles ci-dessus s'appliquent aussi aux autres types d'association (réflexive, ternaires ...)

Dans le MLD :

- Chaque ligne représente une table (entité)
- C’est toujours le nom de la table qui est écrit en premier
- Les champs (propriétés) sont listés entre parenthèses et séparés par des virgules
- Les clés primaires (identifiant) sont soulignées et placées au début de la liste des champs.
- Les clés étrangères sont préfixées par un dièse (#).

Exemple de MLD :

CLIENT ( numClient, nom , prenom , adresse)
COMMANDE (numCommande ,dateCommande , #numClient)
PRODUIT ( refProduit, libelleProduit)
CONCERNE (#numCommande , #refProduit, quantité)

À noter que le MLD prend parfois un R et devient MLDR (R = Relationnel) ou MRD.

Cette étape est parfois omise, on passe alors directement du MCD au MPD.

MPD: Modèle Physique de Données

Le modèle physique est l'implémentation directe du MLD sous forme graphique en intégrant les éléments utiles à la création de la BDD (type, not null ...) . Le MPD nous permettra d'écrire le fichier .sql en SQL pour créer les tables de notre BDD.

Certain outil comme MySQL Workbench génère directement votre fichier .sql pour créer vos tables dans la base de données à partir du MLD.