littérature italienne

Upload: papa1450

Post on 12-Apr-2018

260 views

Category:

Documents


0 download

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.