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 valeurs[1].
      2. Transformation par représentation des instances[2].
      3. Transformation par concaténation.
      4. Transformation par désagrégation.
    3. Transformation d'un attribut monovalué en type d'entité (TE[3]).
      1. Transformation par représentation des valeurs[1].
      2. Transformation par représentation des instances[2].
    4. Transformation d'un attribut multivalué.
      1. Transformation par représentation des valeurs[1].
      2. Transformation par représentation des instances[2].
      3. Transformation par instanciation[4].
      4. Transformation par concaténation.
    5. Transformation d'un attribut facultatif.
      1. Transformation par représentation des valeurs[1].
      2. Transformation par représentation des instances[2].
      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'association[6].
    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 -> TE[3].
    • Attributs composés ->
      • désagrégation
      • ou TE[3]
    Et ce, tant qu'il reste des transformations de ce type à effectuer.
  2. Nous allons ensuite transformer les relations is-a en TA[5].
  3. Enfin, nous pouvons faire une boucle tant qu'il reste des transformations suivantes possibles :
    • TA[5] pour les multivalués (many to many) -> TE[3].
    • TA[5] (one to many, one to one) -> « clé étrangère » (en anglais, “foreign key”).

 

Document créé le 11/01/10 00:12, dernière modification le 13/07/17 17:55
Source du document imprimé : https://www.gaudry.be/sgbdr-schema-transformations.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

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 : correspond à “foreign key » en anglais

 

Références

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

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.