docs/merise #20
@ -35,6 +35,7 @@ Pour pouvoir le transformer en MLD, il y a plusieurs éléments à prendre en co
|
||||
- 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** ?
|
||||
- Est-ce que la relation est dite **réflexive** ?
|
||||
|
||||
Commençons par les **entités** et leurs **attributs**, on verra les cardinalités après 😉
|
||||
|
||||
@ -53,3 +54,36 @@ Les seules choses que nous avons à faire sont :
|
||||
|
||||
On le fera plus tard, dans le **MPD** _(Modèle Physique de Données)_ !
|
||||
</Callout>
|
||||
|
||||
Voici donc les tables et colonnes que l'on obtient :
|
||||
|
||||

|
||||
|
||||
Pour l'instant, on a juste remplacé les **entités** par des **tables** et les **attributs** par des **colonnes**. Il nous reste plus qu'à ajouter les **clés primaires** et les **clés étrangères** !
|
||||
|
||||
### Convertir les relations
|
||||
|
||||
Pour convertir les relations, il faut d'abord se poser la question de la cardinalité maximale de chaque relation.
|
||||
|
||||
Il y a deux possibilités :
|
||||
|
||||
- **One to Many** _(1,N)_
|
||||
- **Many to Many** _(N,N)_
|
||||
|
||||
Un troisième cas existe, dans le cas où la relation est réflexive _(une entité se relie à elle-même)_.
|
||||
|
||||
#### One to Many
|
||||
|
||||
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 exemple, on a une relation **One to Many** entre **Entité 1** et **Entité 3**.
|
||||
Leurs cardinalités nous indique que :
|
||||
|
||||
- **Entité 1** doit avoir un et un seul **Entité 3** _(1,1)_
|
||||
- **Entité 3** peut avoir plusieurs **Entité 1** _(0,N)_
|
||||
|
||||
On va donc ajouter une **clé étrangère** dans la table **Entité 1** qui va faire référence à la **clé primaire** de la table **Entité 3**.
|
||||
|
||||

|
||||
|
||||
Et là : tu remarqueras que la **clé étrangère** est en italique et est préfixée par un `#` !
|
||||
Binary file not shown.
BIN
app/public/downloads/merise/example.lo1
Normal file
BIN
app/public/downloads/merise/example.lo1
Normal file
Binary file not shown.
BIN
app/public/downloads/merise/example.loo
Normal file
BIN
app/public/downloads/merise/example.loo
Normal file
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 26 KiB |
BIN
app/public/images/merise/mld-basic-no-relation.webp
Normal file
BIN
app/public/images/merise/mld-basic-no-relation.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
BIN
app/public/images/merise/mld-basic-one-to-many.webp
Normal file
BIN
app/public/images/merise/mld-basic-one-to-many.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Loading…
Reference in New Issue
Block a user