107 lines
6.0 KiB
Plaintext
107 lines
6.0 KiB
Plaintext
---
|
|
title: Introduction à Merise
|
|
description: Explorons un peu le monde fascinant de Merise, la célèbre méthodologie française utilisée pour concevoir des bases de données.
|
|
tags: [Backend, Merise, BDD, MCD, MLD, MPD, SQL]
|
|
---
|
|
|
|
import Callout from "@/components/Callout";
|
|
|
|
Si tu cherches à en savoir plus sur **Merise**, ne cherche pas plus loin !
|
|
|
|
Il s'agit d'une **méthodologie** de **modélisation** française _(🐔)_ qui a été conçue dans les années 70-80, principalement utilisée pour la conception de **bases de données**.
|
|
Bien qu'elle soit ancienne, elle est toujours pertinente aujourd'hui et est largement utilisée dans le domaine informatique.
|
|
|
|
<Callout type="note" title="C'est dans les vieux pots qu'on fait la meilleure soupe">
|
|
N'oublie pas que l'âge d'une méthodologie de fait pas sa pertinence. Au contraire, elle a fait ses preuves et est toujours valide dans le monde de la conception de bases de données.
|
|
|
|
Rien ne t'oblige à l'utiliser, mais il est bon de la connaître, surtout si tu préfères éviter de foncer dans le mur lors de la conception de ta base de données.
|
|
</Callout>
|
|
|
|
Dans cet particle, on abordera principalement l'aspect **modélisation** de Merise, qui englobe aussi des aspects d'**analyse** et de **gestion de projet**.
|
|
|
|
## Les différentes schémas de Merise
|
|
|
|
Merise se compose de plusieurs schémas qui permettent de représenter les données et leurs relations.
|
|
|
|
1. **Dictionnaire de données**
|
|
2. **MCD** _(Modèle Conceptuel de Données)_
|
|
3. **MLD** _(Modèle Logique de Données)_
|
|
4. **MRD** _(Modèle Relationnel de Données)_
|
|
5. **MPD** _(Modèle Physique de Données)_
|
|
|
|
Explorons chacun de ces schémas en détail et comment ils s'articulent entre eux.
|
|
Des fiches détaillées seront disponibles pour chaque schéma, mais pour l'instant, nous allons juste les passer en revue.
|
|
|
|
### Dictionnaire de données
|
|
|
|
Le **dictionnaire de données** est un document utilisé pour lister toutes les informations nécessaires à stocker dans la base de données.
|
|
Ces données sont obtenues par le biais d'une analyse des besoins du client, en discutant avec lui de ce qu'il souhaite faire avec son application.
|
|
|
|
Le dictionnaire de données doit être simple et compréhensible pour tous, en évitant les détails techniques. Il doit être validé par le client,
|
|
qui doit être en mesure de comprendre les informations stockées dans la base de données.
|
|
|
|
### MCD
|
|
|
|
Le **MCD** _(Modèle Conceptuel de Données)_ est un schéma utilisé pour représenter les données extraites du dictionnaire de données. Il permet
|
|
de regrouper les différentes informations dans des rectangles appelés **entités**, et de montrer les relations entre ces entités.
|
|
|
|
Comme le dictionnaire de données, le MCD doit rester compréhensible pour tous en évitant les détails techniques.
|
|
|
|
### MLD
|
|
|
|
Le **MLD** _(Modèle Logique de Données)_ est un schéma basé directement sur le MCD. Il ajoute des détails techniques tels que :
|
|
|
|
- Les tables et leurs colonnes _(sans les types de données)_
|
|
- Les clés primaires et étrangères
|
|
- Les tables de jointure _(tables pivot, de liaison, etc.)_
|
|
|
|
### MRD
|
|
|
|
Le **MRD** _(Modèle Relationnel de Données)_ est une version textuelle du MLD. Il s'agit d'une "fausse" étape, car le MRD n'est pas un schéma à proprement parler.
|
|
Souvent, on parle plutôt de MLD textuel pour désigner la même chose.
|
|
|
|
### MPD
|
|
|
|
Enfin, le **MPD** _(Modèle Physique de Données)_ !
|
|
|
|
Le MPD est un schéma qui permet de représenter les données de manière physique, c'est-à-dire en tenant compte des spécificités du SGBD _(Système de Gestion de Base de Données)_ utilisé.
|
|
Il va nous permettre de représenter les tables, les colonnes, les types de données, les index, les contraintes d'intégrité, etc.
|
|
|
|
Le MPD est spécifique à un SGBD et ne peut pas être utilisé tel quel sur un autre SGBD.
|
|
|
|
## Outils pour Merise
|
|
|
|
Il existe plusieurs outils pour la création de MCD, MLD et MPD. Cependant, il est important d'**éviter tous les outils qui n'ont pas été conçus pour suivre la méthodologie Merise**.
|
|
Puise Merise est une méthode française, les outils internationaux peuvent ne pas être adaptés à ses normes.
|
|
|
|
### Outils non recommandés
|
|
|
|
- **Draw.io** : Bien qu'il soit un bon outil, il n'est pas conçu pour Merise et ne respecte pas les normes de la méthodologie.
|
|
- **Lucidchart** : De même que Draw.io, Lucidchart n'est pas adapté à Merise.
|
|
- **DBDesigner** : Cet outil est excellent, mais il ne permet pas la réalisation d'un MCD ou d'un MLD correct. Il peut cependant être utilisé pour le MPD !
|
|
|
|
### Outils recommandés
|
|
|
|
- **[Looping](https://looping-mcd.fr/)** : Il s'agit de l'outil par **excellence** pour la conception de bases de données tout en respectant les normes Merise. De plus, il est **gratuit** !
|
|
- **[Mocodo](https://mocodo.net/)** : Un autre outil qui permet de réaliser des MCD et MLD. Il est extrêmement puissant et fonctionne sur le navigateur. Cependant, il peut manquer un peu de rigueur là où Looping excelle.
|
|
|
|
Pour les rubriques suivantes, nous utiliserons **Looping** comme outil.
|
|
|
|
## Ressources
|
|
|
|
<Callout type="warning" title="Ressources disponibles sur internet">
|
|
**Attention !**
|
|
|
|
Il existe beaucoup de ressources en ligne qui parlent de Merise, mais elles ne sont pas toutes correctes.
|
|
|
|
Quelle que soit la source, il est toujours important de vérifier les informations et de ne pas se fier aveuglément à ce qui est écrit.
|
|
Je recommande vivement le livre [Guide pratique _(4e édition)_](https://www.editions-eni.fr/livre/merise-guide-pratique-4e-edition-modelisation-des-donnees-et-des-traitements-manipulations-avec-le-langage-sql-conception-d-une-application-mobile-android-ou-ios-9782409046667) de **Jean-Luc Baptiste**, aux **Éditions ENI**.
|
|
</Callout>
|
|
|
|
- [Looping](https://looping-mcd.fr/)
|
|
- [Mocodo](https://mocodo.net/)
|
|
- [La vérité sur les id - Jean Prulière](https://jeanpruliere.medium.com/la-v%C3%A9rit%C3%A9-sur-les-id-507134adda12)
|
|
- [Merise - Wikipedia](<https://fr.wikipedia.org/wiki/Merise_(informatique)>)
|
|
|
|
La prochaine étape sera de nous pencher sur le **dictionnaire de données** !
|