Vous êtes sur la page 1sur 16

Modlisation

de logiciels de gestion
170. Transformation du modle conceptuel de donnes en
modle logique relationnel
MCD MLD

Table des matires


1
2
3
4
5

Prambule ........................................................................................................................... 1
Premire rgle .................................................................................................................... 2
Deuxime rgle .................................................................................................................. 3
Troisime rgle ................................................................................................................... 7
Table associative ................................................................................................................ 8
5.1 Produit cartsien .......................................................................................................... 8
5.2 Conventions dcriture ................................................................................................ 9
6
Transformation dune entit associative .......................................................................... 10
7
Transformation dune entit dpendante .......................................................................... 11
7.1 Conventions dcriture .............................................................................................. 12
8
Identifiants naturels d'entits ............................................................................................ 13
9
Associations identifiantes ................................................................................................. 14
9.1 Association identifiante de composition.................................................................... 14
9.2 Association identifiante naturelle .............................................................................. 14
10 Multiples associations entre entits .................................................................................. 15

1 Prambule
Nous avons expliqu la dmarche de ralisation de modles conceptuels de donnes dans le
chapitre Modlisation conceptuelle des donnes Aspects macroscopiques ; dans le
chapitre Modlisation logique des donnes Aspects macroscopiques nous avons prsent
les concepts du modle relationnel de Codd. Dans ce chapitre nous prsenterons les rgles qui
permettent de transformer les modles conceptuels en modles logiques relationnels.
Ces rgles, au nombre de trois, permettent deffectuer la transformation automatiquement et
sans appauvrissement de la smantique du modle conceptuel. De nombreux ateliers de gnie
logiciels (AGL) contiennent des fonctionnalits logicielles qui effectuent cette transformation
sans intervention du concepteur.

1/16

Premire rgle
Une entit est transforme en une table.

Les attributs de lentit deviennent des colonnes de la table.


Lidentifiant naturel, si il existe, est transform en une cl secondaire unique et non nulle.
La ou les attributs de cl primaire dentit, si ils existent, deviennent des colonnes de cl
primaire de la table.
Si aucun attribut de cl primaire nexiste, une colonne de cl primaire est cre au niveau
logique.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


2/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

3 Deuxime rgle
Chaque association binaire dont au moins une de ses cardinalits maximales vaut
1 est transforme en une relation (dpendance fonctionnelle).

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


3/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

Le choix de la table source, respectivement de la table cible de la relation est effectu en


fonction des cardinalits de lassociation selon les rgles ci-aprs :

Si une des cardinalits maximales vaut n


La table issue de lentit dont la cardinalit maximale vaut n devient la source de la
relation.
Exemple :

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


4/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

Si les deux cardinalits maximales valent 1


o Si une des deux cardinalit minimales vaut 0
La table issue de lentit dont la cardinalit minimale vaut 1 devient la cible de
la relation.
Exemple :

Il est important que la cl trangre soit dans lentit qui a le lien obligatoire
(1..1) pour simplifier les transactions et la gestion des droits.
En effet, et pour notre exemple :
La cration dune livraison se fait sans tablir lien sur une facture.
La cration dune facture se fait en rfrenant obligatoirement une
facture ; ainsi, dans la mme opration lon cre une facture et on
tablit la rfrence sur la livraison.
Si la cl trangre se trouvait dans la table Livraisons, il faudrait mettre
jour la livraison lors de chaque ajout de facture ; ceci compliquerait la
transaction et de plus, il nest pas sr que le service qui cre des
factures ait le droit de mettre jour des livraisons.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


5/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

o Si les deux cardinalits minimales valent 0


Chacune des deux tables peut devenir indiffremment source ou cible de la
relation.
Exemple :

La cl trangre est mise indiffremment dans lune des deux tables.


Par contre, il est important quelle soit dans une seule des deux tables pour
viter toute redondance.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


6/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

4 Troisime rgle
Chaque association dont les deux cardinalits maximales valent n est
transforme en une table associative.

Une table associative permet de crer des relations abstraites de degr n:n en sappuyant sur
deux relations 1:n; chacune des deux tables participant la relation de degr n:n devient la
source dune relation dont la table associative est chaque fois la cible.
La cl primaire dune table associative est forme de la concatnation des colonnes de cls
trangres des tables sources.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


7/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

Remarque :
Une table associative peut matrialiser des relations n-aires ; en ce qui nous concerne, nous
travaillons toujours, au niveau conceptuel, avec des associations binaires.

5 Table associative

5.1 Produit cartsien


Une table associative reprsente le produit cartsien des deux tables sources des relations.

Enfants et Jours sont deux ensembles, Enfants X Jours est le produit cartsien de
Enfants par Jours.
Le produit cartsien Enfants X Jours forme un nouvel ensemble matrialis par une table
associative que nous avons nomme Prsences dans le diagramme prcdent.
Lensemble Prsence est form des couples (e,j) tels que e appartient Enfants et j
appartient Jours. Ds lors, la prsence dune occurrence de chacune des deux tables
sources est imprative et est reprsente par la cardinalit UML 1..1 ou 1.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


8/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

5.2 Conventions dcriture


Le nom des relations1 peut tre omis car les modles sont suffisamment lisibles ; toutefois, les
relations sont enrichies du strotype PK pour bien montrer leur caractre identifiant.
Les colonnes de cls trangres rfrant les tables sources du produit cartsien sont enrichies
du strotype PFK pour mettre en vidence leur double caractre de constituant de cl
primaire dune part et de cl trangre dautre part.

Pour rappel, nous parlons dune relation selon notre terminologie de modle logique de donnes ; toutefois,
cette relation que nous reprsentons dans un modle de classe UML est une association lorsque nous utilisons
un AGL sappuyant sur le langage UML.
http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


9/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

6 Transformation dune entit associative


Chaque entit associative dont les deux cardinalits maximales valent n est
transforme en une table associative.

Remarque :
La transformation seffectue selon la description de la troisime rgle.
Les attributs de lentit associative deviennent des colonnes de la table associative.
Si lentit associative participe des associations avec dautres entits, la table associative
peut son tour tre source ou cible de relations avec les autres tables.
http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


10/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

7 Transformation dune entit dpendante


Lassociation identifiante (de composition) dune entit dpendante est transforme
en une relation identifiante de composition.

Remarques :
Lentit dpendante est transforme en table dpendante selon la description de la
premire rgle.
La transformation de lassociation identifiante de composition seffectue selon la
description de la deuxime rgle.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


11/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

La cl primaire dune table dpendante est forme de la concatnation de la colonne ( ou des


colonnes) de cl trangre de la table source et de la colonne NumeroDep de cl
primaire.
Remarque :
Une entit dpendante peut dpendre de plus dun parent ; donc, une table dpendante peut
tre la cible de plus dune table source.

7.1 Conventions dcriture


La colonne (ou les colonnes) de cl trangre de la table source de la dpendance est toujours
positionne avant la colonne (ou les colonnes) de cl primaire propre la table dpendante.
Egalement comme nous lavons dfini pour la table associative, la colonne (ou les colonnes)
de cl trangre de la table source de la dpendance est enrichie du strotype PFK pour
mettre en vidence son double caractre de constituant de cl primaire dune part et de cl
trangre dautre part.
Tout comme nous lavons dfini pour la table associative, la relation identifiante est enrichie
du strotype PK pour bien montrer son caractre identifiant. De plus, nous spcialisons le
strotype, PKC ou PKS , en fonction de la contrainte de suppression des occurrences
denfants que nous avons dfinie au chapitre Modlisation conceptuelle des donnes
Aspects macroscopiques .
Pour lexemple de notre ticket et de ses lignes, lindication de suppression en cascade
PKC est pertinente. Toutefois, dans de nombreuses autres situations la prsence
denregistrements dans une table dpendante doit empcher la suppression de
lenregistrement parent dans la table source ; il sagit du concept dintgrit rfrentielle
stricte que nous avons vu dans le chapitre Modlisation logique des donnes Aspects
macroscopiques . Lintgrit rfrentielle stricte se dfinit avec le strotype PKS .

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


12/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

8 Identifiants naturels d'entits


Tout identifiant naturel, qu'il soit compos d'un ou de
plusieurs attributs est transform en une cl secondaire
unique et non nulle; la cl secondaire devient un
index lors du passage au niveau du modle
physique.
Les cls secondaires uniques et non nulles sont mises
en vidence l'aide des strotypes UID ou UID-i
en appliquant les mmes rgles que celles nonces
pour le modle conceptuel.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


13/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

9 Associations identifiantes
9.1 Association identifiante de composition
Veuillez vous rfrer au chapitre 7.

9.2 Association identifiante naturelle

L'association identifiante naturelle se transforme de manire habituelle [Voir 170.


Transformation du MCD en MLD relationnel, deuxime rgle] en une relation (contrainte de
cl trangre); nous rajoutons cette relation le strotype d'identifiant naturel2 UID.
Comme vu au prcdemment [Chapitre 8], le ou les identifiants sont transformes en cls
secondaires uniques et non nulles.
Comme pour toute cl secondaire, il faut crer un index unique pour la matrialiser au niveau
physique; la construction de cet ou ces index doit se faire en concatnant la cl trangre du
parent la ou les colonnes3 servant de cl secondaire unique et non nulle.
Pour notre exemple, l'index pour la table Courses est construit par la concatnation de:
Annee_Numero + Nom

2
3

Ou de cl secondaire unique et non nulle dans le vocabulaire du modle logique de donnes relationnel.
Si la cl secondaire est base sur plusieurs colonnes, il faut videmment concatner toutes ces colonnes.
http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


14/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

10 Multiples associations entre entits


Lorsque plusieurs associations existent entre deux entits, il faudra veiller ce que les noms
des colonnes de cls trangres matrialisant ces associations ne prtent confusion.
Dans l'exemple ci-dessous, nous avons deux associations entre Tour (en bateau) et Personnel;
une des associations montre qu'un membre du personnel est requis comme pilote et la
deuxime association montre qu'un copilote peut tre requis.
Dj au niveau du MCD, nous conseillons de mettre des rles aux deux extrmits de chaque
association pour bien les diffrencier.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


15/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch

Lors de la transformation, il faut nommer les colonnes de cls trangres en intgrant le rle
jou par l'entit parent en plus de son nom.
Nous prconisons de prfixer les noms de colonnes de cls trangres du nom (ou d'un
raccourci) de la table parent et du nom (ou d'un raccourci) du rle jou par la table parent.

Important: Dans un souci de maintenabilit et surtout d'volutivit d'une structure de base de


donnes relationnelle, nous recommandons de toujours prfixer les noms de colonne de cl
trangre du nom et du rle jou par la table parent de la relation.

http://lgl.isnetne.ch/modelisation-2005

170.Transformation MCD MLD


16/16

7.3.2013/ P-A. Sunier


http://lgl.isnetne.ch