docs/merise #20

Merged
GauthierWebDev merged 15 commits from docs/merise into main 2025-04-22 17:25:33 +00:00
Showing only changes of commit 3caced0e7e - Show all commits

View File

@ -4,4 +4,52 @@ description: Plongez dans le MLD et MRD de Merise pour transformer votre modèle
tags: [Backend, Merise, BDD, MCD, MLD, MPD, SQL] tags: [Backend, Merise, BDD, MCD, MLD, MPD, SQL]
--- ---
En cours de rédaction... import Callout from "@/components/Callout";
Dans cet article, on va parler du **MLD** _(Modèle Logique de Données)_ et du **MRD** _(Modèle Relationnel de Données)_.
Le MLD est la suite normale et directe du MCD dans le processus Merise. Son but est de transformer le MCD en un modèle qui pourra être implémenté dans une base de données relationnelle.
On parlera plus tard du MRD, mais globalement : c'est la même chose que le MLD !
## Transformation du MCD en MLD
Comme dit plus tôt, le MLD découle directement du MCD.
Il va donc reprendre les mêmes **entités** et **attributs** que le MCD, mais en ajoutant des détails techniques.
<Callout type="note" title="Termes">
À partir du MLD, on va commencer à parler de **table** et de **colonne**.
On parlera aussi de **clé primaire** et de **clé étrangère** !
</Callout>
Reprenons le premier exemple de MCD, dans l'article précédent :
![Exemple de MCD](/images/merise/mcd-basic.webp)
Pour pouvoir le transformer en MLD, il y a plusieurs éléments à prendre en compte :
- Attributs :
- Les **attributs** qui sont en gras et soulignés _(discriminants)_ dans le MCD, deviennent des **clés primaires** dans le MLD.
- Les **attributs** qui sont en gras _(attributs uniques)_ deviennent des **colonnes uniques** dans le MLD.
- Les **attributs** qui ne sont pas en gras deviennent des **colonnes** dans le MLD.
- Relations :
- On supprime les **relations** du MCD pour laisser place à des **clés étrangères** dans le MLD.
- Est-ce que la cardinalité maximale est de **1** ou de **N** ?
Commençons par les **entités** et leurs **attributs**, on verra les cardinalités après 😉
### Convertir les entités et attributs
Pour cette étape, ça va être très simple !
Les seules choses que nous avons à faire sont :
- Remplacer les **entités** par des **tables**
- Remplacer les **attributs** par des **colonnes**
<Callout type="warning" title="Types de données">
Dans le MLD, on ne précise pas encore les types de données des colonnes.
On serait tenté de le faire dès maintenant, mais ce serait ne pas respecter la méthode Merise et l'intérêt du MLD.
On le fera plus tard, dans le **MPD** _(Modèle Physique de Données)_ !
</Callout>