Transformations de schémas

Nous pouvons modéliser une même situation sous la forme de plusieurs schémas différents. Nous avons à notre disposition une série de transformations que nous pouvons appliquer sur notre schéma, dont certaines ne modifient absolument pas la signification du schéma. Nous parlons dans ce cas de transformations à sémantique constante.
Ces transformations sont donc totalement réversibles.

D'autres transformations au contraire renforcent ou affaiblissent certains aspects des entités sur lesquelles nous opérons la transformation.

Catalogue des principales transformations

  1. Attributs
    1. Conversion d'un attribut multivalué non-ensembliste.
    2. Transformation d'un attribut décomposable.
      1. Transformation par représentation des valeurs1.
      2. Transformation par représentation des instances2.
      3. Transformation par concaténation.
      4. Transformation par désagrégation.
    3. Transformation d'un attribut monovalué en type d'entité (TE3).
      1. Transformation par représentation des valeurs1.
      2. Transformation par représentation des instances2.
    4. Transformation d'un attribut multivalué.
      1. Transformation par représentation des valeurs1.
      2. Transformation par représentation des instances2.
      3. Transformation par instanciation4.
      4. Transformation par concaténation.
    5. Transformation d'un attribut facultatif.
      1. Transformation par représentation des valeurs1.
      2. Transformation par représentation des instances2.
      3. Transformation par extension du domaine.
    6. Transformation d'une liste d'attributs.
      1. Transformation par agrégation.
      2. Transformation en attribut multivalué.
    7. Transformation d'un attribut long.
      1. Transformation en attribut décomposable.
      2. Transformation en attribut multivalué.
    8. Transformation d'un attribut en type d'associations (5).
    9. Transformation d'un attribut-objet en type d'associations.
    10. Matérialisation d'un domaine utilisateur.
  2. Types d'entités
    1. Transformation d'un type d'entité en type d'associations.
    2. Transformation d'un type d'entité en attribut.
    3. Décomposition d'un type d'entité.
      1. Transformation par partitionnement vertical (éclatement).
      2. Transformation par décomposition de normalisation.
    4. Assignation d'un identifiant technique à un type d'entité.
  3. Types d'associations
    1. Transformation d'un type d'association en type d'entité.
    2. Transformation d'un type d'association en attribut.
      1. Transformation : Clé étrangère.
      2. Transformation : Types d'associations un-à-un.
    3. Transformation d'un type d'association en attribut-objet.
    4. Transformation d'un type d'association en relation is-a.
  4. Relations is-a
    1. Transformation d'une relation is-a par matérialisation en type d'association6.
    2. Transformation d'une relation is-a par héritage descendant.
    3. Transformation d'une relation is-a par héritage ascendant.
    4. Traduction des autres objets.
    5. Disjonction des sous-types.
    6. Couverture des sous-types.
    7. Partitionnement d'un surtype.

Ordre des transformations de schémas

L'ordre dans lequel nous allons appliquer les transformations de shéma est important pour la propagation des identifiants.

  1. Nous allons d'abord effectuer une boucle qui effectuera les transformations suivantes 
    • Attributs multivalués -> TE3.
    • Attributs composés ->
      • désagrégation
      • ou TE3
    Et ce, tant qu'il reste des transformations de ce type à effectuer.
  2. Nous allons ensuite transformer les relations is-a en TA5.
  3. Enfin, nous pouvons faire une boucle tant qu'il reste des transformations suivantes possibles :
    • TA5 pour les multivalués (many to many) -> TE3.
    • TA5 (one to many, one to one) -> « clé étrangère » (en anglais, “foreign key”).

Contents Haut

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 10/01/2010, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/sgbdr-schema-transformations.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

Notes

  1. a,b,c,d Représentation par valeurs : Dans le cas de représentation par valeurs, l'attribut devient une entité valeur qui possède un identifiant, et la cardinalité est de 1-N entre le nouveau TE (l'ancien attribut) et le TA, soit avec A comme TE ancien attribut : A->1-N->TA->1-1->TE dans le cas d'un monovalué. L'avantage de cette représentation en "catalogue" est le gain de place (une seule entrée par type de valeur) et la maintenance (une seule valeur à modifier), mais la sémantique est identique à la représentation par instances.

  2. a,b,c,d Représentation par instances : Dans le cas de représentation par instances, l'attribut devient une entité valeur sans identifiant, et la cardinalité est de 1-1 entre le nouveau TE (l'ancien attribut) et le TA, soit avec A comme TE ancien attribut : A->1-1->TA->1-1->TE dans le cas d'un monovalué.

  3. a,b,c,d TE : Type d'entité.

  4.  Représentation par instanciation : A la différence de la représentation par instances, ici nous ne créons pas de nouvelle entité mais nous créons de nouveaux attributs (généralement portant le même nom, suivi d'un chiffre) au sein de l'entité existante.

  5. a,b,c,d TA : Type d'association.

  6.  Matérialisation en TA : Selon les contraintes de sous-types, nous retrouverons différents mots clés pour l'entité surtype :
    1. Partition : exact-1: ab_asso.b ac_asso.c (exactement un).
    2. Disjonction : excl: ab_asso.b ac_asso.c (un par exclusion).
    3. Recouvrement total : at-lst-1: ab_asso.b ac_asso.c (au moins un).
    4. Recouvrement partiel : aucune indication.

  7.  clé étrangère : corresponds to “foreign key” en anglais

Contents Haut

References

  1. book Language of the document:fr IHDCB334 - Ingénérie des bases de données : Jean-Luc HAINAUT, Anne-France BROGNEAUX, Cours d'Ingénérie des bases de données (2003)

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut