littérature italienne
TRANSCRIPT
-
7/21/2019 Littrature italienne
1/16
1/16
Modlisationde logiciels de gestion
170. Transformation du modle conceptuel de donnes enmodle logique relationnel
MCD MLD
Table des matires
1
Prambule ........................................................................................................................... 1
2 Premire rgle .................................................................................................................... 2
3
Deuxime rgle .................................................................................................................. 3
4 Troisime rgle ................................................................................................................... 7
5
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 donnesAspects macroscopiques ; dans le
chapitre Modlisation logique des donnesAspects 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.
http://lgl.isnetne.ch/modelisation-2005/index.htmhttp://lgl.isnetne.ch/modelisation-2005/index.htmhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://lgl.isnetne.ch/modelisation-2005/index.htmhttp://lgl.isnetne.ch/modelisation-2005/index.htm -
7/21/2019 Littrature italienne
2/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
2/16
7.3.2013/ P-A. Sunier
http://lgl.isnetne.ch
2 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.
-
7/21/2019 Littrature italienne
3/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
3/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
1est transforme en une relation (dpendance fonctionnelle).
-
7/21/2019 Littrature italienne
4/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
4/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 nLa table issue de lentit dont la cardinalit maximale vaut n devient la source de la
relation.
Exemple :
-
7/21/2019 Littrature italienne
5/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
5/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 ontablit 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.
-
7/21/2019 Littrature italienne
6/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
6/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.
-
7/21/2019 Littrature italienne
7/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
7/16
7.3.2013/ P-A. Sunier
http://lgl.isnetne.ch
4 Troisime rgle
Chaque association dont les deux cardinalits maximales valent nest
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.
-
7/21/2019 Littrature italienne
8/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
8/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 Produ it car tsien
Une table associative reprsente le produit cartsien des deux tables sources des relations.
Enfantset Jourssont deux ensembles, Enfants X Joursest le produit cartsien deEnfants par Jours.Le produit cartsien Enfants X Joursforme un nouvel ensemble matrialis par une tableassociative que nous avons nomme Prsencesdans le diagramme prcdent.
Lensemble Prsenceest form des couples (e,j) tels que e appartient Enfantset jappartient Jours. Ds lors, la prsence dune occurrence de chacune des deux tablessources est imprative et est reprsente par la cardinalit UML 1..1 ou 1.
-
7/21/2019 Littrature italienne
9/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
9/16
7.3.2013/ P-A. Sunier
http://lgl.isnetne.ch
5.2 Conventions dcriture
Le nom des relations1peut 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.
1
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.
-
7/21/2019 Littrature italienne
10/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
10/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 nest
transforme en une table associative.
Remarque :La transformation seffectue selon la description dela 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 associativepeut son tour tre source ou cible de relations avec les autres tables.
-
7/21/2019 Littrature italienne
11/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
11/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 dela
premire rgle.
La transformation de lassociation identifiante de composition seffectue selon la
description dela deuxime rgle.
-
7/21/2019 Littrature italienne
12/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
12/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 peuttre 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 tableassociative, 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 auchapitre 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 donnesAspects
macroscopiques. Lintgrit rfrentielle stricte se dfinit avec le strotype PKS .
http://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_160/mld_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdfhttp://localhost/var/www/apps/conversion/tmp/chapitre_110/mcd_macro.pdf -
7/21/2019 Littrature italienne
13/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
13/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.
-
7/21/2019 Littrature italienne
14/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
14/16
7.3.2013/ P-A. Sunier
http://lgl.isnetne.ch
9 Associations identifiantes
9.1 Ass ociat ion ident i f iante de com pos it ion
Veuillez vous rfrer au chapitre7.
9.2 Ass ociat ion ident i f iante naturel le
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 naturel2UID.
Comme vu au prcdemment [Chapitre8], 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 colonnes3servant de cl secondaire unique et non nulle.
Pour notre exemple, l'index pour la table Coursesest construit par la concatnation de:
Annee_Numero + Nom
2Ou de cl secondaire unique et non nulle dans le vocabulaire du modle logique de donnes relationnel.
3Si la cl secondaire est base sur plusieurs colonnes, il faut videmment concatner toutes ces colonnes.
http://lgl.isnetne.ch/modelisation-2005/chapitre_170/trsf_mcd_mld.pdfhttp://lgl.isnetne.ch/modelisation-2005/chapitre_170/trsf_mcd_mld.pdfhttp://lgl.isnetne.ch/modelisation-2005/chapitre_170/trsf_mcd_mld.pdfhttp://lgl.isnetne.ch/modelisation-2005/chapitre_170/trsf_mcd_mld.pdfhttp://lgl.isnetne.ch/modelisation-2005/chapitre_170/trsf_mcd_mld.pdfhttp://lgl.isnetne.ch/modelisation-2005/chapitre_170/trsf_mcd_mld.pdf -
7/21/2019 Littrature italienne
15/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
15/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.
-
7/21/2019 Littrature italienne
16/16
http://lgl.isnetne.ch/modelisation-2005 170.Transformation MCDMLD
16/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.