docs: Update MLD documentation with final example

This commit is contained in:
Gauthier Daniels 2025-04-22 16:58:52 +02:00
parent 175e3f2be9
commit 3f1b0fc18a

View File

@ -109,7 +109,7 @@ Un troisième cas existe, dans le cas où la relation est réflexive _(une entit
Dans le cas d'une relation **One to Many**, on va ajouter une **clé étrangère** dans la table qui est du côté de la relation **One** _(1)_.
Dans notre cas, on a une relation **One to Many** entre **Événement** et l'héritage _(**Concert** et **Répétition")_.
Dans notre cas, on a une relation **One to Many** entre **Événement** et l'héritage _(**Concert** et **Répétition**)_.
<Callout type="question" title="Mais il n'y a pas de cardinalité ici !">
Effectivement, aucune cardinalité n'est présente entre l'héritage et l'entité générique !
@ -174,3 +174,45 @@ Cette relation est définie avec une cardinalité **0,1** - **0,N**.
On appliquera la même logique que pour une relation **One to Many** que l'on a vu plus haut.
On retrouvera donc une **clé étrangère** dans la table **table_3** qui va faire référence à la **clé primaire** de la même table.
![Exemple de MLD avec relation réflexive](/images/merise/mld-4.webp)
### 🎉 MLD final
Et voilà, on a terminé notre MLD !
Oui, pour de vrai 😁
Voici à quoi il ressemble :
![Exemple de MLD final](/images/merise/mld-5.webp)
## MLD et MRD
Le MLD et le MRD sont deux choses différentes, mais qui se ressemblent beaucoup.
Le MLD est un modèle **logique** de données, qui est un schéma **graphique**.
Le MRD, lui, est un modèle **relationnel** de données, qui est un schéma **textuel**.
Les informations présentes seront les mêmes, seule la forme change.
<Callout type="question" title="Si c'est quasiment pareil, pourquoi faire le MRD ?">
Le MRD n'est pas obligatoire, mais il permet une représentation plus linéaire.
À toi de voir si tu souhaites le faire ou non, mais il est souvent plus simple à lire !
</Callout>
Pour notre MLD final, voici à quoi il ressemblerait en MRD :
musician(**<u>id_musician</u>**, lastname, firstname, instruments, **email**, password)
musician_participates_event(_#id_musician_, _#id_event_)
event(**<u>id_event</u>**, datetime, location)
concert(**<u>id_concert</u>**, price, _#event_id_)
rehearsal(**<u>id_rehearsal</u>**, _#event_id_)
## Conclusion
Par rapport au MCD, le MLD est beaucoup plus rapide à réaliser. _(en même temps, tous les choix ont été faits avant !)_
Ce schéma permet de visualiser les relations entre les différentes tables de manière simple et efficace, sans avoir à se soucier des détails techniques.
Mais pour le moment, on n'a pas encore parlé des types de données des colonnes, ni des index à créer sur les tables...
Rendez-vous pour la prochaine et dernière étape : le **MPD** _(Modèle Physique de Données)_ ! 🚀