|
|
|
|
@ -1,23 +1,24 @@
|
|
|
|
|
---
|
|
|
|
|
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.
|
|
|
|
|
description: Parlons un peu de Merise, la fameuse méthodologie de modélisation pour la conception de 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 !
|
|
|
|
|
**Merise**, c'est quoi ?
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
Il s'agit d'une **méthodologie** de **modélisation** française _(🐔)_, conçue pour la conception de **bases de données**.
|
|
|
|
|
Bien qu'elle ait été créée dans les années 70/80, elle est toujours d'actualité et largement utilisée dans le domaine de l'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.
|
|
|
|
|
Ce n'est pas parce qu'une méthodologie est ancienne qu'elle est obsolète.
|
|
|
|
|
Au contraire, elle a fait ses preuves et est toujours pertinente aujourd'hui bien que surtout utilisée en France.
|
|
|
|
|
|
|
|
|
|
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**.
|
|
|
|
|
On parlera ici que de la partie **modélisation** de Merise, même si Merise comprend aussi des aspects d'**analyse** et de **gestion de projet**.
|
|
|
|
|
|
|
|
|
|
## Les différentes schémas de Merise
|
|
|
|
|
|
|
|
|
|
@ -29,27 +30,28 @@ Merise se compose de plusieurs schémas qui permettent de représenter les donn
|
|
|
|
|
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.
|
|
|
|
|
Voyons un peu plus en détail chacun de ces schémas, et comment ils s'articulent entre eux.
|
|
|
|
|
Des fiches détaillées seront individuellement rédigées pour chaque schéma, mais ici on va juste faire un petit tour d'horizon pour resituer le contexte.
|
|
|
|
|
|
|
|
|
|
### 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** est un tableau qui va nous permettre de lister toutes les données que l'on doit stocker dans notre base de données.
|
|
|
|
|
Ces données proviendront de l'analyse des besoins du client, avec qui on aura discuté 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.
|
|
|
|
|
Ce document doit être le plus simple possible et ne pas contenir de détails techniques.
|
|
|
|
|
Il doit être compréhensible par le client, qui pourra ainsi valider les données que l'on va stocker 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.
|
|
|
|
|
Le **MCD** _(Modèle Conceptuel de Données)_ est un schéma qui va nous permettre de représenter les données que l'on a récupérées dans le dictionnaire de données.
|
|
|
|
|
Il va nous permettre de représenter les différentes données que l'on a, regroupée dans un rectangle nommé **entité**, ainsi que les relations entre elles.
|
|
|
|
|
|
|
|
|
|
Comme le dictionnaire de données, le MCD doit rester compréhensible pour tous en évitant les détails techniques.
|
|
|
|
|
Ce document, tout comme le dictionnaire de données, doit rester compréhensible par le client 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 :
|
|
|
|
|
Le **MLD** _(Modèle Logique de Données)_ est un schéma qui se base directement sur le MCD.
|
|
|
|
|
Il vient ajouter des détails techniques sur les entités et les relations, comme par exemple :
|
|
|
|
|
|
|
|
|
|
- Les tables et leurs colonnes _(sans les types de données)_
|
|
|
|
|
- Les clés primaires et étrangères
|
|
|
|
|
@ -57,50 +59,54 @@ Le **MLD** _(Modèle Logique de Données)_ est un schéma basé directement sur
|
|
|
|
|
|
|
|
|
|
### 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.
|
|
|
|
|
Le **MRD** _(Modèle Relationnel de Données)_ est un schéma qui est une version textuelle du MLD.
|
|
|
|
|
Il s'agit d'une "fausse" étape, car le MRD n'est pas un schéma à proprement parler.
|
|
|
|
|
|
|
|
|
|
La plupart du temps, on parle de MLD textuel puisqu'il s'agit de la même chose.
|
|
|
|
|
|
|
|
|
|
### MPD
|
|
|
|
|
|
|
|
|
|
Enfin, le **MPD** _(Modèle Physique de Données)_ !
|
|
|
|
|
Pour terminer : 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é.
|
|
|
|
|
Le MPD est un schéma qui va nous permettre 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)_ que l'on va utiliser.
|
|
|
|
|
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.
|
|
|
|
|
Le MPD est donc un schéma qui est spécifique à un SGBD, et qui 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.
|
|
|
|
|
Il existe de nombreux outils pour réaliser des MCD, MLD et MPD.
|
|
|
|
|
|
|
|
|
|
Déjà, tu peux **bannir** tous les outils qui ne sont pas conçus pour Merise.
|
|
|
|
|
Merise étant français, la plupart des outils internationaux ne sont pas adaptés.
|
|
|
|
|
|
|
|
|
|
### 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 !
|
|
|
|
|
- **Lucidchart** : Même chose que Draw.io, il n'est pas conçu pour Merise.
|
|
|
|
|
- **DBDesigner** : Excellent outil, mais qui ne permet pas la réalisation d'un MCD ou d'un MLD correct. On pourra par contre l'utiliser 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.
|
|
|
|
|
- **[Looping](https://looping-mcd.fr/)** : Il s'agit de l'outil par **excellence** pour la conception de bases de données tout en respectant la méthodologie Merise. Cerise sur le gâteau, 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 manque de rigueur là où Looping excelle.
|
|
|
|
|
|
|
|
|
|
Pour les rubriques suivantes, nous utiliserons **Looping** comme outil.
|
|
|
|
|
Pour toutes les rubriques suivantes, **Looping** sera utilisé 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.
|
|
|
|
|
Beaucoup de ressources sur internet parlent de Merise, mais elles ne sont pas forcément justes.
|
|
|
|
|
|
|
|
|
|
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**.
|
|
|
|
|
Peu importe l'origine de la ressource, il est important de vérifier les informations et de ne pas se fier aveuglément à ce qui est écrit.
|
|
|
|
|
Je recommande énormément 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)
|
|
|
|
|
- [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** !
|
|
|
|
|
Prochaine étape, on parle du **dictionnaire de données** !
|
|
|
|
|
|