Transformation d'un héritage vers des entités

Situation des exemples

Nous utiliserons dans les exemples suivants les lettres A, B, et C pour désigner les entités, A étant le surtype de B et C.

Transformation par héritage descendant

Dans le cas de l'héritage descendant, nous allons porter notre attention sur les sous-types. Selon les différentes contraintes de sous-type, nous risquons de perdre de l'information lors de la transformation d'une relation is-a vers des types entités.

Tableau des transformations par héritage descendant

NomTotalitéDisjonctionTransformationDangers
PPartitionOuiOuiNous ne gardons que les entités B et C. Les champs des attributs de A sont présents dans B et dans C.Nous ne pouvons plus vérifier l'identifiant global de A.
DDisjonction
(+partiel)
NonOuiNous gardons toutes les entités, mais les champs des attributs de A sont présents dans B et dans C.Il s'agit peut être d'une entité unique qui soit à la fois de type B et de type C.
TRecouvrement
total
OuiNonNous ne gardons que les entités B et C. Les champs des attributs de A sont présents dans B et dans C.Nous ne pouvons plus vérifier l'identifiant global de A.
Mais en plus: Il s'agit peut être d'une entité unique qui soit à la fois de type B et de type C.
 Recouvrement
partiel
NonNonNous gardons toutes les entités, mais les champs des attributs de A sont présents dans B et dans C.Nous ne pouvons plus vérifier l'identifiant global de A.
Mais en plus: Il s'agit peut être d'une entité unique qui soit à la fois de type B et de type C.

Table des matières Haut

Transformation par héritage ascendant

Dans le cas de l'héritage ascendant, nous allons porter notre attention sur les surtypes. Nous ne risquons pas ici de perdre de l'information, mais nous risquons un gaspillage des resources.

Tableau des transformations par héritage ascendant

NomTotalitéDisjonctionTransformationDangers
PPartitionOuiOuiNous ne gardons que l'entité A et nous "remontons" les champs des attributs de B et de C dans A.exact-1 :
 ancien_attrib_b
 ancien_attrib_c
=exactement un
DDisjonction
(+partiel)
NonOuiNous ne gardons que l'entité A et nous "remontons" les champs des attributs de B et de C dans A.excl :
 ancien_attrib_b
 ancien_attrib_c
=un par exclusion
TRecouvrement
total
OuiNonNous ne gardons que l'entité A et nous "remontons" les champs des attributs de B et de C dans A.at-lst-1 :
 ancien_attrib_b
 ancien_attrib_c
=au moins un
 Recouvrement
partiel
NonNonNous ne gardons que l'entité A et nous "remontons" les champs des attributs de B et de C dans A.aucune indication

Document créé le 01/01/1970, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/sgbdr-schema-transformation-heritage.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.

Références

  1. livre Langue du 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)

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.

Table des matières Haut