Sie sind auf Seite 1von 62

Ce document constitue lannexe E de louvrage "Bases de donnes", J-L Hainaut, Dunod, 2009

Date de dernire modification : 23/2/2011

Annexe E

Transformations de schmas
(Version provisoire)

Cette annexe dcrit le concept de transformation de schma, qui a t


largement utilis dans la troisime partie de louvrage. Elle rpertorie
galement, classes selon le type dobjet source, les principales transformations utilises dans cet ouvrage.

E.1 INTRODUCTION
La drivation d'un schma partir d'un autre peut tre ralise au moyen d'oprateurs dnomms transformations de schma. Typiquement, un tel oprateur
remplace une construction d'un schma par une autre. Par exemple, un attribut peut
tre transform en un type d'entits, une srie d'attributs en un attribut compos, ou
encore un type dassociations en un cl trangre.
C'est ainsi que nous avons prpar un schma conceptuel lenrichissement
incrmental (analyse conceptuelle), que nous avons normalis un schma conceptuel ou relationnel, mis en conformit deux schmas avant leur intgration, produit
un schma relationnel partir d'un schma conceptuel (conception logique) et
reconstruit un schma conceptuel d'une base de donnes existante (rtro-ingnierie).
Dans cette annexe, on analyse sommairement les caractristiques gnrales des
transformations de schmas. On prsente une classe de transformations remarquables, les oprateurs de mutation, puis on rpertorie, sans chercher l'exhaustivit, les
principales transformations utiles, classes selon la nature de l'objet transform :
attribut, type d'entits, relation is-a, type d'associations, contraintes. A loccasion,
mais uniquement titre dillustration, nous suggrons des usages appropris pour
lune ou lautre transformation.

Annexe E Transformations de schmas

E.2 CARACTRISTIQUES GNRALES DES TRANSFORMATIONS


Nous analyserons les diffrentes composantes dune transformation, en mettant en
vidence les objets qui disparaisent, ceux qui apparaissent et ceux qui sont
conservs. Nous observerons les deux niveaux de transformation : schma et
instances. Enfin, nous discuterons la question de la prservation de linformation et
nous proposerons un critre relatif cette proprit. Cette section sinspire de la
rfrence [Hainaut, 2006], laquelle nous renvoyons le lecteur pour plus de dtails.

E.2.1 Anatomie dune transformation


En toute gnralit, une transformation T est un oprateur qui remplace une construction source C (un ensemble dobjets) dun schma S1 par une autre construction
C, dite cible. On dsignera par S2 le schma ainsi modifi. On peut crire :
C = T(C)

La figure E.1 reprend une transformation que nous avons rencontre de multiples
reprises : la transformation dun attribut dun type dentits en type dentits.
Lattribut NumFournisseur de PRODUIT (C) du schma de gauche est remplac par
une construction complexe (C) dans le schma de droite : type dentits FOURNISSEUR, attribut NumFournisseur, identifiant {NumFournisseur}, type dassociations
de et ses deux rles. Compar au schma source, le schma cible :
a perdu lattribut NumFournisseur de PRODUIT,
a gagn le type dentits FOURNISSEUR, son attribut NumFournisseur et son
identifiant {NumFournisseur}, le type dassociations de et ses deux rles,
a conserv le type dentits PRODUIT.

FOURNISSEUR
NumFournisseur
id: NumFournisseur
PRODUIT
NumPro
Description
NumFournisseur
id: NumPro

1-N
de

1-1

S1

S2
C-

PRODUIT
NumPro
Description
id: NumPro

C+
C0

Figure E.1 - Une transformation classique

E.2

Caractristiques gnrales des transformations

Il est important de mentionner le type dentits PRODUIT bien quil reste inchang
durant la transformation. Il y joue en effet un rle passif mais important : parent de
NumFournisseur dans le schma source et rle de.PRODUIT dans le schma cible.
Les autres composants du schma source (attributs NumPro et Description, identifiant
{NumPro}) ont galement t conservs mais, comme ils ne jouent aucun rle dans
la transformation (ils appartiennent S1 mais pas C), nous pouvons les ignorer.
Si nous dsignons par C- les composants de C absents de C, C+ les composants de C
absents de C et C0 les composants communs C et C, nous pouvons crire :
C = C0 CC = C0 C+

J-L Hainaut - 2009

E.2.2 Description dune transformation


En fait, C et C sont des classes de constructions et non des instances qui seraient
spcifiques aux schmas S1 et S2, ce qui ne prsenterait aucun intrt. Dans notre
exemple, C dsigne tout attribut monovalu de niveau 1 dun type dentits quelconque et non NumFournisseur en particulier.
Il existe plusieurs mthodes de description dune transformation. Lune consiste
fournir un prdicat structurel P dcrivant les constructions de la classe C ainsi
quune squence doprations lmentaires appliquer une construction C :
supprimer un objet, ajouter un objet, modifier une proprit dun objet. Une autre
mthode, qui sera adopte dans cette annexe, consiste prciser, par un prdicat
structurel, la prcondition minimale P que toute instance de C doit satisfaire pour
pouvoir faire lobjet de T. De mme, on prcise, toujours par un prdicat structurel,
la postcondition maximale Q que satisfait toute instance de C rsultant de lapplication de T linstance de C. La transformation T scrira donc aussi <P,Q>.
Sans rentrer dans le dtail, on peut considrer un prdicat structurel comme un
ensemble dassertions du type : P "il existe un attribut a de nom A1, de cardinalit
[i-1], de type t, associ au type dentits e, de nom A". Ce prdicat numre (et
nomme) les composants utiles de C et prcise les proprits quils doivent satisfaire.
Si un mme nom (tel que e par exemple) apparat dans P et Q, alors il y dsigne le
mme objet (lequel appartient donc C0). Dans la suite, nous nous contenterons
dexprimer ces prdicats structurels sous une forme graphique.
Pour certaines transformations, la construction C (ou au moins C-) est vide : tel
est le cas de lajout dun type dassociations au schma. Pour dautres, cest la construction C (ou au moins C+) qui est vide, comme dans la suppression dun attribut.
Les transformations qui nous intressent ont pour principale caractristique de
garantir une certaine quivalence des schmas S1 et S2.
A chaque transformation T est associe une inverse T dont leffet est dannuler
celui de T sur le schma :
C = T(C)

Ainsi, la transformation de la figure 1 admet une inverse qui consiste transformer


en attribut un type dentits qui possde certaines proprits.

Annexe E Transformations de schmas

Attention, le fait quune transformation ait une inverse ne signifie pas quelle
prserve linformation de la construction C. Pour comprendre cette proprit de
prservation, il faut tudier la manire dont les instances de C et C sont traites lors
de la transformation T.
Considrons une transformation t, associe T, qui, applique toute instance c
de C, produit une instance c de C (figure E.2). Intuitivement, T explique comment
restructurer le schma tandis que t prcise la manire de convertir des donnes de C
pour les rendre conformes C. T est la transformation de schma et t la transformation dinstance1. On a donc :
C = T(C)
c = t(c)

Pour rsumer, une transformation est dfinie par le couple <T,t>, quon peut
rcrire <P, Q, t>. Dans certaines classes de transformations, il est possible dassocier t une transformation inverse t, qui opre la conversion inverse de t.
C

inst_de

C' = T(C)

inst_de

c' = t(c)

Figure E.2 - Les composantes T et t dune transformation

E.3 PRSERVATION DE LA SMANTIQUE


Lune des proprits les plus intressantes des transformations est leur capacit
prserver linformation du schma source. Une transformation qui jouit de cette
proprit est dite smantique constante ou rversible. Dans ce cas, les constructions C et C dcrivent exactement, bien que sous des formes diffrentes, les mmes
types de faits du domaine dapplications. Cette notion tant malaise dfinir
formellement et en toute gnralit relativement complexe, nous limiterons sa dfinition celle de la rversibilit symtrique dcrite dans [Hainaut, 2006]. Une transformation = <T, t> = <P, Q, t> est dite rversible si, simultanment :
1. elle admet une transformation inverse = <T,t> = <P, Q, t>,
2. pour toute construction C telle que P(C) 2 et pour toute instance c de C,
C = T(T(C)) et c = t(t(c)),
1. T correspond la syntaxe de la transformation et t sa smantique.
2. Lexpression P(C) sinterprte comme : la construction C vrifie le prdicat structurel P.

E.4

Catalogue de Transformations

3. pour toute construction C telle que P(C) et pour toute instance c de C,


C = T(T(C)) et c = t(t(c)).
La proprit 2 impose que lapplication C (qui satisfait P) de T puis de lapplication de T au rsultat ainsi obtenu regnre C et quil en est de mme pour toute
instance c de C. La proprit 3 prcise que cette prservation est aussi dapplication
dans lautre sens3 : lapplication de T puis de T C (qui vrifie P) prserve C. En
dautres termes, en dehors de tout autre critre, le choix de lune ou lautre des constructions C et C est indiffrent. Il est en effet possible, tout moment, de remplacer
lune par lautre, y compris leurs instances, sans perte dinformation. Sauf mention
contraire, nous ne considrerons dans cette section que des transformations rversibles au sens que nous venons de dcrire.

E.4 CATALOGUE DE TRANSFORMATIONS

J-L Hainaut - 2009

Cette annexe a principalement pour but de rpertorier les transformations les plus
communes dans les diffrents processus tudis dans cet ouvrage. Un tel rpertoire
peut tre organis de plusieurs manires : selon leur degr dutilit dcroissant, selon
les objectifs atteindre ou selon de type dobjets auquel elles sappliquent. Nous
adopterons la troisime approche, qui apparat comme la plus gnrale. Cependant,
avant la prsentation systmatique des transformations, nous dcrirons une classe
trs importante doprateurs: les transformations de mutation.
Nous prsenterons les transformations sous forme de schmas gnriques dont
les objets reoivent des noms abstraits. Le schma de gauche reprsente graphiquement le prdicat P et celui de droite la prdicat Q. La plupart des transformations
peuvent se lire dans les deux sens. On attribue aux objets intervenant dans les constructions C et C des noms gnriques : lettres majuscules (A, B, C, EA2, ... pour les
types dentits, lettres minuscules r, s, t, ... pour les types dassociations et lettres
majuscules indices A1, A21, B1, ... pour les attributs. Un mme nom attribu des
objets de mme genre (type dentits, type dassociations, attribut) dans les deux
schmas dune transformation indique que ces objets sont les mmes (ils appartiennent la fraction C0 des constructions). En ce qui concerne les cardinalits des
attributs et des rles, les valeurs valides sont interprter telles quelles (sauf
mention contraire, [1-N] signifie exactement [1-N]) tandis que les valeurs symboliques [a-b] ou [c-d] peuvent tre remplaces par nimporte quelles valeurs valides.
Une transformation spcifique est obtenue par substition de noms rels ces
noms gnriques et de valeurs relles ces valeurs symboliques.
La spcification complte dune transformation peut tre trs complexe. Par
exemple, lors de la transformation dun attribut en type dentits (figure E.1) il
faudrait indiquer avec prcision ce quil advient de cet attribut :
lorsquil est facultatif
lorsquil est multivalu selon [0-N] ou [1-N]
3. Dailleurs, les deux transformations sont lies : = <Q,P,t>.

Annexe E Transformations de schmas

lorsquil est multivalu selon [0-5] ou [1-5]


lorsquil est multivalu selon [3-12]
lorsquil est compos
lorsquil est compos et quun de ses composants est soumis une contrainte
lorsquil possde une annotation smantique exprimant sa smantique externe
lorsquil est lunique composant dun identifiant
lorsquil est un des composants dun identifiant
lorsquil est un composant de plusieurs identifiant
lorsquil participe une contrainte dexistence,
lorsquil participe une contrainte additionnelle
lorsquil est drivable
lorsquil est hrit dun surtype
lorsquil est hrit dun surtype et quil est soumis une contrainte dans le
sous-type
lorsquil est utilis comme argument dune opration
etc.

Nous envisagerons pour certaines transformations certaines variantes parmi celles


qui sont voques ci-dessus mais nous laisserons au lecteur le soin dtudier la prise
en compte des autres aspects. Nous limiterons la prsentation aux grands principes
des familles de transformations sans tenter de fournir une spcification complte des
prdicats P et Q (sauf dans de rares cas).
Cette annexe dcrit les transformations suivantes.
Les transformations
E.5 Transformations de mutation
E.6 Transformation dattributs dun TE
E.6.1 Transformation d'un attribut atomique monovalu
a) Transformation en TE par reprsentation des valeurs
b) Transformation en TE par reprsentation des instances
c) Dcomposition en attribut compos
d) Dcomposition en attribut multivalu
E.6.2 Transformation d'un attribut atomique multivalu

a) Transformation en TE par reprsentation des valeurs


b) Transformation en TE par reprsentation des instances
c) Transformation dun attribut multi-ensemble
d) Transformation par instanciation
e) Transformation par concatnation

E.4

Catalogue de Transformations

E.6.3 Transformation d'un attribut compos monovalu

a) Transformation en TE
b) Transformation par dsagrgation
c) Transformation par concatnation
E.6.4 Transformation d'un attribut multivalu compos (complexe)

a) Transformation en TE
b) Transformation par dsagrgation
E.6.5 Transformation d'un attribut monovalu facultatif

a) Transformation en TE
b) Transformation par extension du domaine
E.6.6 Transformation d'un groupe d'attributs

a) Transformation par agrgation


b) Transformation en attribut multivalu
E.6.7 Transformation dattributs en type d'associations
E.6.8 Transformation d'un attribut objet en type d'associations
E.6.9 Conversion d'un attribut multivalu non-ensembliste

a) Transformation d'un attribut multi-ensemble


b) Transformation d'un attribut liste
c) Transformation d'un attribut liste unique
d) Transformation d'un attribut tableau
e) Transformation d'un attribut tableau unique
E.6.10 Matrialisation d'un domaine utilisateur (TDU)

E.7 Transformation dattributs dun type dassociations


E.7.1 Transformation dun attribut monovalu obligatoire en TE
E.7.2 Transformation dun attribut objet monovalu obligatoire en rle
E.7.3 Transformation des autres catgories dattributs

J-L Hainaut - 2009

E.8 Transformation de types dentits


E.8.1 Transformation d'un TE en TA
E.8.2 Transformation d'un TE en attribut
a) Le type dentits attribut ne possde pas didentifiant
b) Le type dentits attribut possde un identifiant constitu dun attribut
c) Le type dentits attribut possde un identifiant hybride
d) Le type dentits possde plus dun attribut
E.8.3 Dcomposition d'un TE

a) Normalisation relationnelle dun TE


b) Partitionnement vertical
c) Partitionnement horizontal

Annexe E Transformations de schmas

E.8.4 Fusion de TE

a) Fusion de dnormalisation
b) Fusion bijective
c) Union de TE
E.8.5 Factorisation de composants de TE
E.8.6 Assignation d'un identifiant technique un TE

E.9 Transformation de relations is-a


E.9.1 Transformation par matrialisation en TA
E.9.2 Transformation par hritage descendant
E.9.3 Transformation par hritage ascendant
E.9.4 Traduction des autres aspects
E.9.5 Disjonction de sous-types
a) Disjonction de deux sous-types
b) Traitement des sous-types communs aux deux sous-types
c) Traitement des sous-types dun des sous-types
d) Transformation des autres composants des sous-types
e) Disjonction de plus de deux sous-types
f) Disjonction dans les hirarchies multiples
E.9.6 Couverture dun surtype
E.9.7 Partitionnement d'un surtype
E.9.8 Transformation dune rpartition multiple
E.9.9 Transformation dune hirarchie surtypes multiples
E.9.10 Autres transformations
E.10 Transformation de types dassociations
E.10.1Transformation dun TA binaire en cl trangre
a) Types dassociations 1:1
b) Types dassociations N:1
c) Types dassociations 1:N
d) Types dassociations N:N
E.10.2 Transformation dun TA en TE
E.10.3 Transformation de TA 1:1 en relations is-a
E.10.4 Remarque sur la transformation de TA 1:1
E.10.5 Transformation dun rle multitypes
E.10.6 Transformation dun TA binaire en attribut objet
E.10.7 Rduction du degr dun TA n-aire
E.10.8 Dcomposition dun TA n-aire

a) Dcomposition selon un rle de cardinalit [i-1]


b) Normalisation relationnelle dun TA

E.5

Transformations de mutation

E.11 Transformation relatives aux contraintes


E.11.1 Contrainte de coexistence
E.11.2 Contrainte dimplication

E.5 TRANSFORMATIONS DE MUTATION


Une transformation de mutation change le genre dun objet : un attribut est transform en type dentits ou en type dassociations, un type dentits en attribut ou en
type dassociations, un type dassociations en type dentits ou en attribut (figure
E.3).
TA-en-TE
TE-en-TA

Type d'entits

Att-en-TE

Type d'associations

Att-en-TA

TE-en-Att

TA-en-Att

Attribut

Figure E.3 - Graphe des six transformations de mutation de base

On dfinit ainsi trois couples de transformations inverses (figure E.4). Toutes ces
transformations sont rversibles. Il existe plusieurs manires de changer le genre
dun objet mais celles que nous prsentons ci-aprs sont les plus courantes. Nous
reviendrons plus en dtail sur certaines dentre elles dans la suite de lexpos.
La troisime transformation est appele transformation dun attribut en type
dentits par reprsentation des valeurs. En effet, chaque entit EA2 reprsente une
valeur distincte de lattribut source A2. A ces trois couples de transformations nous
en ajouterons un quatrime (figure E.5), qui drive des prcdents, mais que nous
avons dj dcrit et compar, notamment au chapitre 12 (section 12.5.6). Cette
transformation sobtient en deux tapes partir du schma infrieur droit de la
figure E.4 :
1. le type dassociations r est transform en type dentits RA2,

J-L Hainaut - 2009

2. le type dentits EA2 est transform en attribut A2 de RA2.


Elle est appele transformation dun attribut en type dentits par reprsentation
des instances. Chaque entit RA2 reprsente une instance de A2 (deux instances
peuvent avoir la mme valeur).

10

Annexe E Transformations de schmas

a-b

a-b

c-d

c-d

R
1-1

A
A1
id: A1

0-N

1-1

id: s.A
t.B

A
A1
id: A1

B
A1'[a-b]
ref: A1'[*]

a-b

A1
A2[a-b]
A3

EA2
A2'
id: A2'

A
A1
A3
r

a-b

1-N

Figure E.4 - Les six transformations de mutation de base

A
A1
A2[a-b]
A3

RA2
A2'
id: s.A
A2'

A
A1
A3
a-b

1-1

Figure E.5 - Un couple supplmentaire de transformations de mutation

E.6 TRANSFORMATION DATTRIBUTS DUN TYPE DENTITS


Cette famille de transformations est principalement base sur la mutation Att-en-TE
(figures E.4 et E.5). Nous y ajouterons des oprateurs de moindre qualit (mais
dgale importance) tels que dcomposition, instanciation et agrgation. Ces transformations seront spcialises successivement pour :
1. les attributs atomiques monovalus
2. les attributs atomiques multivalus
3. les attributs composs monovalus
4. les attributs composs multivalus
5. les attributs monovalus facultatifs
6. les groupes dattributs

E.6

Transformation dattributs dun type dentits

11

7. les attributs formant une cl trangre


8. les attributs objets
9. les attributs multivalus non ensemblistes
10. les attributs dfinis sur un TDU (ou domaine)
Certaines transformations vont apparatre dans plusieurs sections de cette nomenclature, ce qui tmoigne de leur puissance. Par exemple, la transformation dun attribut
en type dentits sera utilise pour rsoudre des problmes relatifs tous les attributs, quils soient obligatoires ou facultatifs, monovalus ou multivalus, atomiques
ou composs.

E.6.1 Transformation d'un attribut atomique monovalu


Nous pouvons dabord appliquer les deux transformations de mutation dun attribut
en type dentits (figures E.4/3 et E.5). Nos prsenterons enuite deux oprateurs de
dcomposition.
a) Transformation en TE par reprsentation des valeurs

On envisage trois configurations frquentes (figure E.6) : lattribut A2 est obligatoire, A2 est facultatif et A2 constitue un identifiant de A. Cette transformation nest
applicable qu un attribut de niveau 1.
EA2
A2'
id: A2'

A
A
A1
A2
A3

A1
A3
1-1

EA2
A2'
id: A2'

A
A
A1
A2[0-1]
A3

A1
A3
0-1

J-L Hainaut - 2009

A1
A2
A3
id': A2

A2'
id: A2'

A1
A3
1-1

1-N
EA2

1-N

1-1

Figure E.6 - Transformation dun attribut monovalu en type dassociations par reprsentation des valeurs

12

Annexe E Transformations de schmas

b) Transformation en TE par reprsentation des instances

Ici encore, on envisage trois configurations frquentes (figure E.7) : lattribut A2 est
obligatoire, A2 est facultatif et A2 constitue un identifiant de A. Cette transformation
nest applicable qu un attribut de niveau 1.
A
A
A1
A2
A3

RA2
A2'

A1
A3
1-1

A
A
A1
A2[0-1]
A3

A
A1
A2
A3
id': A2

RA2
A2'

A1
A3
0-1

1-1

RA2
A2'
id: A2'

A1
A3
1-1

1-1

1-1

Figure E.7 - Transformation dun attribut monovalu en TA par reprsentation des


instances

c) Dcomposition en attribut compos

Cette transformation est linverse de celle dun attribut compos par concatnation
(section E.6.3-d). Elle consiste imposer lattribut une dcomposition en sousattributs de tailles et types ventuellement diffrents. On lutilisera presquexclusivement en rtro-ingnierie.
d) Dcomposition en attribut multivalu

Cette transformation est linverse de celle dun attribut multivalu par concatnation (section E.6.2-d). Elle consiste imposer lattribut une dcomposition en
composants de taille et type identiques, formant ainsi un tableau de valeurs. On la
rencontrera frquemment en rtro-ingnierie. Elle servira galement au niveau
physique au traitement dattributs de grande longueur, dont les valeurs sont ainsi
trononnes en une suite de segments de taille fixe raisonnable, plus aiss manipuler4. Les types CLOB et BLOB en SQL sont souvent traits de cette manire.

4. Lattribut multivalu liste est ensuite transform en un type dentits, qui se traduit physiquement en une chane dentregistrements de taille fixe ou variable limite.

E.6

Transformation dattributs dun type dentits

13

E.6.2 Transformation d'un attribut atomique multivalu


Ici encore, nous appliquerons dabord les deux transformations de mutation dun
attribut en type dentits (rserves aux attributs de niveau 1). Nous leur ajouterons
deux transformations typiques des processus doptimisation logique et physique.
a) Transformation en TE par reprsentation des valeurs

A
A1
A2[a-b]
A3

EA2
A2'
id: A2'

A
A1
A3
a-b

1-N

Figure E.8 - Transformation dun attribut multivalu en TE par reprsentation des


valeurs

b) Transformation en TE par reprsentation des instances

A
A1
A2[a-b]
A3

RA2
A2'
id: s.A
A2'

A
A1
A3
a-b

1-1

Figure E.9 - Transformation dun attribut multivalu en TE par reprsentation des


instances

c) Transformation dun attribut multi-ensemble

En principe, avant transformation dun attribut non ensembliste, on procdera une


transformation ensembliste selon les oprateurs de la section E.6.9. Il existe cependant une variante spcifique aux attributs multi-ensembles qui permet dexprimer
directement un tel attribut sous la forme dun type dentits (figure E.10).
A
A1
A2[a-b] bag
A3

A
A1
A3
a-b

A2
A2'

1-1

J-L Hainaut - 2009

Figure E.10 - Transformation en TE dun attribut multi-ensemble

d) Transformation par instanciation

Chaque valeur de lattribut multivalu de cardinalit [a-b] devient un attribut monovalu autonome. Un nombre a de ces attributs sont dclars obligatoires, les autres

14

Annexe E Transformations de schmas

tant facultatifs. Strictu senso, cette transformation cre une variante de tableau :
unicit non garantie, structure dordre sur les attributs, pas dobligation de regrouper
les attributs sans valeur en fin de liste5. La transformation nest rversible que
lorsque lattribut source A2 est un tableau6. Il est recommand dviter cette transformation dans les approches de conception classiques.

A
A1
A2[a-b]: char(10)
A3

A
A1
A2-1: char(10)
A2-..: char(10)
A2-a: char(10)
A2-..[0-1]: char(10)
A2-b[0-1]: char(10)
A3

Figure E.11 - Transformation dun attribut multivalu par instanciation

e) Transformation par concatnation

Les valeurs de lattribut sont concatnes dans un certain ordre de manire constituer une unique valeur. La longueur de cette dernire est en principe b fois celle de
lattribut source mais dpend en fait de la manire dont les composants de la concatnation sont organiss (format fixe, sparateur, etc.) De mme que la transformation
par instanciation, et pour des raisons similaires, cette transformation cre une
variante de tableau. Il est galement recommand de lviter dans les approches de
conception classiques.
A
A1
A2[a-b]: char(10)
A3

A
A1
A2s: char(10xb+n)
A3

Figure E.12 - Transformation dun attribut multivalu par concatnation

E.6.3 Transformation d'un attribut compos monovalu


Un attribut compos monovalu peut tre transform en type dentits, peut tre
dcompos et peut tre concatn.

5. En toute gnralit, les valeurs dun tableau ne sont pas soumises une contrainte dunicit,
sont ordonnes (selon lindice de leur cellule) et noccupent pas ncessairement des cellules
contigus (existence de "trous" dans la squence des cellules).
6. Cette affirmation est presquexacte ! Le schma cible fait une hypothse suppplmentaire sur
les cellules obligatoires (qui occupent les premires celllules du tableau) que le schma source
nimpose pas.

E.6

Transformation dattributs dun type dentits

15

a) Transformation en TE

Un attribut compos peut se traiter comme un attribut monovalu atomique. Cependant, il est intressant de procder ensuite une dsagrgation de lattribut dplac,
la forme compose nayant plus beaucoup dintrt aprs dplacement (figures E.13
et E.14). Ces transformations ne sont applicables quaux attributs de niveau 1.
A
A1
A2
A21
A22
A3

EA2
A21'
A22'
id: A21'
A22'

A
A1
A3

1-1

1-N

Figure E.13 - Transformation dun attribut compos en TE


par reprsentation des valeurs

A
A1
A2
A21
A22
A3

A
A1
A3

1-1

A2
A21'
A22'
s

1-1

Figure E.14 - Transformation dun attribut compos en TE


par reprsentation des instances

b) Transformation par dsagrgation

La transformation la plus simple consiste remplacer lattribut compos par ses


composants. Lattribut compos dorigine est voqu par un prfixe commun ajout
aux noms des composants (figure E.14).
A
A1
A2
A21
A22
A3

A
A1
A2_A21
A2_A22
A3

J-L Hainaut - 2009

Figure E.15 - Dcomposition dun attribut compos monovalu

Lorsque lattribut source est obligatoire, les nouveaux attributs conservent leur
cardinalit dorigine (figure E.16).
Lorsque lattribut source est facultatif et que ses composants sont tous obligatoires, les nouveaux attributs sont facultatifs et sont soumis une contrainte de
coexistence (figure E.17).

16

Annexe E Transformations de schmas

A
A1
A2
A21
A22[0-1]
A3

A
A1
A2_A21
A2_A22[0-1]
A3

Figure E.16 - Dcomposition dun attribut compos monovalu obligatoire

A
A1
A2[0-1]
A21
A22
A3

A
A1
A2_A21[0-1]
A2_A22[0-1]
A3
coex: A2_A21
A2_A22

Figure E.17 - Dcomposition dun attribut compos monovalu facultatif

Lorsque lattribut source est facultatif et que certains de ses composants sont obligatoires alors que les autres sont facultatifs, la situation est plus complexe. Les
nouveaux attributs sont facultatifs. Ceux qui taient obligatoires sont soumis une
contrainte de coexistence. Chacun de ceux qui taient facultatifs est soumis une
contrainte dimplication dont le deuxime membre est un des composants anciennement obligatoires (figure E.18). Dans un tel cas, il sera sans doute prfrable de
transformer lattribut compos en type dentits.

A
A1
A2[0-1]
A21
A22
A23[0-1]
A3

A
A1
A2_A21[0-1]
A2_A22[0-1]
A2_A23[0-1]
A3
coex: A2_A22
A2_A23
if: A2_A23
A2_A21

Figure E.18 - Dcomposition dun attribut compos monovalu facultatif


- Statut des composants facultatifs

Le cas dun attribut compos facultatif dont tous les composants sont facultatifs ne
peut pas tre transform par dsagrgation (figure E.19).
A
A1
A2[0-1]
A21[0-1]
A22[0-1]
A3

Figure E.19 - Un attribut compos facultatif dont tous les composants sont facultatifs
ne peut tre dcompos

E.6

Transformation dattributs dun type dentits

17

c) Transformation par concatnation

Lattribut compos est remplac par la concatnation de ses composants. On suggre


dviter cette transformation dans les approches de conception classiques. Elle nest
en effet pas rversible.
A
A1
A2
A21
A22
A3

A
A1
A2_1_2
A3

Figure E.20 - transformation dun attribut monovalu compos par concatnation

E.6.4 Transformation d'un attribut multivalu compos (complexe)


Un attribut la fois multivalu et compos se traitera gnralement comme un
attribut multivalu. Il peut galement, dans certains cas, tre trait par dsagrgation.
a) Transformation en TE

Lattribut est transform en un type dentits, soit par reprsentation des valeurs, soit
par reprsentation des instances. Dans le nouveau type dentits ainsi produit,
lattribut sera gnralement dcompos (figures E.21 et E.22). Cette transformation
nest applicable qu un attribut de niveau 1.
A
A1
A2[a-b]
A21
A22
A3

EA2
A21'
A22'
id: A21'
A22'

A1
A3

a-b

1-N

Figure E.21 - Transformation dun attribut complexe en TE par reprsentation des


valeurs

RA2
A21'
A22'
id: s.A
A21'
A22'

J-L Hainaut - 2009

A
A1
A2[a-b]
A21
A22
A3

A
A1
A3

a-b

1-1

Figure E.22 - Transformation dun attribut complexe en TE par reprsentation des


instances

18

Annexe E Transformations de schmas

b) Transformation par dsagrgation

Il est possible de dsagrger un attribut complexe pour autant quil soit du type liste
ou tableau. Les composants de lattribut source deviennent multivalus et se substituent ce dernier (figure E.23). Les lments de mme rang des attributs cibles
permettent la reconstitution de llment de ce rang de lattribut source.
A
A1
A2[a-b] array
A21
A22
A3

A
A1
A2_A21'[a-b] array
A2_A22'[a-b] array
A3

Figure E.23 - Transformation dun attribut complexe par dsagrgation

E.6.5 Transformation d'un attribut monovalu facultatif


Il est parfois utile dviter les attribut facultatifs. On transformera un attribut monovalu facultatif soit en type dentits soit par extension de son domaine.
a) Transformation en TE

La transformation dun attribut monovalu en type dentits a t tudi en E.6.1/a


pour la reprsentation des valeurs (figure E.24) et E.6.1/b pour la reprsentation des
instances. Cette transformation nest applicable quaux attributs de niveau 1.
EA2
A2'
id: A2'

A
A1
A2[0-1]
A3

A1
A3
r

0-1

1-N

Figure E.24 - Transformation dun attribut facultatif en TE

b) Transformation par extension du domaine

Cette technique consiste rendre lattribut obligatoire mais tendre son domaine
de valeurs une valeur conventionnelle indiquant labsence de valeur ( dans la
figure E.25).
A
A1
A2[0-1]
A3

A
A1
A2'
A3

dom(A2) = dom(A2) {}

Figure E.25 - Reprsentation de labsence de valeur


par une valeur conventionnelle ()

E.6

Transformation dattributs dun type dentits

19

E.6.6 Transformation d'un groupe d'attributs


Un groupe dattributs, dits attributs sriels, prsentant une certaine similitude de
nom, de type et/ou de longueur, peut faire lobjet dune restructuration. On propose
deux techniques.
a) Transformation par agrgation

Un groupe dattributs de tailles et de types ventuellement distincts peuvent tre


rassembls en un attribut compos. Le nom de celui-ci peut sinspirer dun fragment
commun aux attributs du groupe source (figure E.26).
A
A1
A21
A22
A23
A3

A
A1
A2
A21
A22
A23
A3

Figure E.26 - Transformation dattributs sriels par agrgation

b) Transformation en attribut multivalu

Un groupe dattributs de tailles et de types identiques (ou compatibles) peut tre


restructur en un attribut multivalu. En toute rigueur, cet attribut est du type
tableau. Le nom de celui-ci peut sinspirer dun fragment commun aux attributs du
groupe source (figure E.27/haut).
A

A
A1
A21
A2...
A2a
A2...[0-1]
A2b[0-1]
A3

A1
A2[a-b] array
A3

A
A1
A2[a-b]
IdA2
Valeur
A3
id(A2):
IdA2

J-L Hainaut - 2009

Figure E.27 - Deux transformations dattributs sriels en attribut multivalu

Frquemment, le nom des attributs du groupe fournit une information importante


didentification des diffrents membres de ce groupe. Exemple : Dpenses_Janvier,
Dpenses_Fvrier, ..., Dpenses_Dcembre. Une partie du nom agit comme une
dimension, temporelle dans notre exemple. Dans ce cas, il est ncessaire de
conserver cette information. On peut alors proposer la transformation de la figure
E.27/bas. Le domaine de valeurs de lattribut IdA2 est form des parties variables des

20

Annexe E Transformations de schmas

noms A21, ..., A2b du schma source. Dans lexemple qui vient dtre cit, IdA2
pourrait sappeler Mois et son domaine serait {Janvier, Fevrier, ..., Decembre}.

E.6.7 Transformation dattributs en TA


La section E.10.1 tudie une famille de transformations (rversibles) de types
dassociations binaires en cls trangres. Transformer un groupe dattributs constituant une cl trangre revient appliquer les transformations inverses (figure E.28).
Ces transformations ne concernent que les attributs de niveau 1. On rencontrera
surtout cette transformation en rtro-ingnierie.
B
B1
B2
A1
ref: A1

A
A1
A2
id: A1

B
B1
B2

1-1

0-N

A
A1
A2
id: A1

Figure E.28 - Transformation dun attribut constituant une cl trangre


en TA

Des contraintes additionnelles sont imposes (dans la prcondition P). En particulier, aucun composant de la cl trangre source ne peut apparatre dans une autre
contrainte, lexception du cas suivant : la cl trangre est un identifiant ou une
partie dun identifiant. A titre dexemple, aucune des deux cls trangres {A1, A2} et
{A2, A3} dun mme type dentits ne peut tre transforme selon ces techniques
(figure E.29).
B
B1
B2
B3
id: B1
B2

A
A1
A2
A3
ref: A1
A2
ref: A2
A3

C
C1
C2
C3
id: C1
C2

Figure E.29 - Certains patterns de cls trangres ne peuvent tre transforms


simplement en TA

E.6.8 Transformation d'un attribut objet en TA


Un attribut objet a pour domaine de valeurs une classe dobjets (soit en toute gnralit un type dentits). Sa valeur est donc une entit, ou une collection dentits, du
type utilis comme domaine. La transformation remplace cette construction, typique
des schmas orients objet classiques, voire des schmas XML, par un type dassociations quivalent. Les diverses variantes selon les proprits de lattribut source
sont les mmes que celles des attributs standard (section E.6.7).

E.6

Transformation dattributs dun type dentits

A
A1
A2: *B

B
B1
B2

A
A1

21

1-1

A2
0-N

B
B1
B2

Figure E.30 - Transformation d'un attribut-objet en type d'associations

E.6.9 Conversion d'un attribut multivalu non-ensembliste


Les attributs non-ensemblistes se trouveront le plus souvent dans les schmas logiques, bien quon puisse en trouver loccasion dans un schma conceptuel (les
prnoms dune personne se reprsentent par une liste de valeurs distinctes plutt que
par un ensemble de valeurs).
a) Transformation d'un attribut multi-ensemble

Un multi-ensemble (bag ou multiset) est une collection non ordonnes de valeurs


non ncessairement distinctes. Chaque valeur de A2 reprsente une valeur distincte
(Value) de A2 ainsi que sa multiplicit (Multiplicity) (figure E.31).

A
A1
A2[a-b] bag
A3

A
A1
A2'[a-b]
Multiplicity
Value
A3
id(A2'):
Value

Figure E.31 - Transformation ensembliste dun attribut multi-emsemble

b) Transformation d'un attribut liste

J-L Hainaut - 2009

Une liste (list) est une collection ordonne de valeurs non ncessairement distinctes.
On les reprsente pas un attribut ensembliste complexe dont les valeurs (Value) sont
identifies par un numro de squence (Sequence) (figure E.32).

A
A1
A2[a-b] list
A3

A
A1
A2'[a-b]
Sequence
Value
A3
id(A2'):
Sequence

Figure E.32 - Transformation ensembliste dun attribut liste

22

Annexe E Transformations de schmas

c) Transformation d'un attribut liste unique

Une liste unique (unique list) est une collection ordonne de valeurs distinctes. Leur
reprsentation est similaire celle des listes simples, laquelle on ajoute lidentifiant dattribut {Value} (figure E.33).

A
A1
A2[a-b] u-list
A3

A
A1
A2'[a-b]
Sequence
Value
A3
id(A2'):
Sequence
id'(A2'):
Value

Figure E.33 - Transformation ensembliste dun attribut liste unique

d) Transformation d'un attribut tableau

Un tableau (array) est une structure de stockage comportant un nombre fixe (ou
variable, ce que nous ignorerons ici) de cellules indices pouvant contenir chacune
une valeur. Les valeurs ne sont pas ncessairement distinctes. Certaines cellules
peuvent ne pas contenir de valeur. Leur reprsentation est celle dun attribut ensembliste complexe modlisant les cellules. Chaque cellule contient (ou non) une valeur
(Value) et est identifie par une valeur dindice (Index) (figure E.34).

A
A1
A2[0-5] array
A3

A
A1
A2'[5-5]
Index
Value[0-1]
A3
id(A2'):
Index

Figure E.34 - Transformation ensembliste dun attribut tableau

e) Transformation d'un attribut tableau unique

A la reprsentation des tableaux, on ajoute un identifiant {Value} (figure E.35). Nous


avons introduit une cardinalit gnrique [a-b] pour illustrer une contrainte qui apparat lorsque a > 0. Dans cas, il faut vrifier quau moins a cellules contiennent une
valeur.

E.7

Transformation dattributs dun type dassociations

A
A1
A2[a-b] u-array
A3

23

A
A1
A2'[b-b]
Index
Value[0-1]
A3
id(A2'):
Index
id'(A2'):
Value

Figure E.35 - Transformation ensembliste dun attribut tableau unique

E.6.10 Matrialisation d'un domaine utilisateur (TDU)


Il sagit dune transformation technique qui sera utile pour satisfaire les modles qui
ne possde pas le concept de TDU complexe (SQL2 par exemple). On convient de
ne pas la considrer comme parfaitement rversible.
TDU
Domaines
dom1
dom2
Att21
Att22
dom3

A
A1
A2: dom2
A3

A
A1
A2
Att21
Att22
A3

Figure E.36 - Matrialisation du TDU dun attribut

E.7 TRANSFORMATION DATTRIBUTS DUN TYPE


DASSOCIATIONS
Les attributs dun type dassociations peuvent galement faire lobjet de transformations. Un attribut obligatoire monovalu (ventuellement du type objet) peut tre
transform en rle dun nouveau type dentits ou dun type dentits existant.
Certaines transformations exigeront la conversion pralable du type dassociations
parent en type dentits.

J-L Hainaut - 2009

E.7.1 Transformation dun attribut monovalu obligatoire en TE


Lattribut source transform en un rle jou par un nouveau type dentits qui reprsente les valeurs de cet attribut (figure E.37). Celui-ci est monovalu et obligatoire
(un rle peut tre facultatif pour son type dentits mais il est naturellement obligatoire pour son type dassociations). Il peut tre compos et participer un identitiant
du type dassociations, auquel cas il y sera remplac par le nouveau rle.

24

Annexe E Transformations de schmas

Cette transformation nest pas primitive. Elle rsulte de la composition de (1) la


transformation de r en type dentits ER, (2) la transformation de A2 de ER en type
dentits EA2 par reprsentation des valeurs, (3) la transformation de ER en type
dassociations r.
A

0-N

B
r
A1
A2

0-N

B
r'
A1
id: A
B

0-N

0-N

1-N
EA2
A2'
id: A2'

Figure E.37 - Transformation dun attribut dun TA en TE par reprsentation des


valeurs

La transformation en type dentits admet une variante base sur la reprsentation


des instances de lattribut (figure E.38). Elle nest pas non plus primitive,
puisquelle peut tre construite par la composition de transformations existantes.
A

0-N

B
r
A1
A2

0-N

B
r'
A1
id: A
B

0-N

0-N
1-1
EA2
A2'

Figure E.38 - Transformation dun attribut dun TA en TE par reprsentation des


instances

E.7.2 Transformation dun attribut objet monovalu obligatoire en


rle
Il sagit de linverse de la transformation E.10.7. Elle exprime un attribut objet
monovalu dun TA sous la forme dun rle supplmentaire. On lutilisera notamment lors de la rtro-ingnierie dun schma orient objet.

E.7

Transformation dattributs dun type dassociations

B
r
AC: *C
id: A
AC

0-N

25

B
r

0-N

0-N

0-N

id: A
C
0-N

Figure E.39 - Transformation dun attribut objet dun TA en rle

E.7.3 Transformation dune cl trangre en rle


Cette transformation exprime une cl trangre dun TA sous la forme dun rle
supplmentaire. Le concept de cl trangre au dpart dun TA est atypique mais
peut se rencontrer en rtro-ingnierie lorsque cette cl trangre est implicite. On
utilisera surtout cette transformation dans le processus de conceptualisation en rtroingnierie.
A

r
0-N

C1
id: A
C1
ref: C1

r
0-N

0-N

id: A
C

0-N

0-N
C

C1
id: C1

C1
id: C1

Figure E.40 - Transformation dune cl trangre en rle

J-L Hainaut - 2009

E.7.4 Transformation des autres catgories dattributs


Tous les attributs, et en particulier ceux qui sont facultatifs et/ou multivalus,
peuvent faire lobjet de transformations locales (instanciation, concatnation, extension du domaine, matrialisation du domaine, attributs non-ensemblistes, attributs
sriels) tout comme les attributs dun type dentits. Les transformations qui entranent la cration dun type dentits ou dun type dassociations ne pourront tre
appliques lattribut source quaprs transformation du type dassociations parent
en type dentits.

26

Annexe E Transformations de schmas

E.8 TRANSFORMATIONS DE TYPES DENTITS


Un type dentits peut tre transform en type dasssociations, en attribut, en
plusieurs types dentits ou encore tre intgr un autre type dentits. On tudiera
successivement :
1. les transformation d'un TE en type d'associations
2. les transformation d'un TE en attribut
3. la dcomposition d'un TE
4. la fusion de TE
5. la factorisation de composants de TE
6. lassignation d'un identifiant technique un TE

E.8.1 Transformation d'un TE en TA


Sous certaines conditions, un type dentits ER peut tre transform en un type
dassociations r. On qualifie ER de type dentits association sil vrifie les principales prconditions suivantes :
1. ER joue au moins deux rles, tous monotypes et appartenant des types dassociations fonctionnels non cycliques,
2. chacun des rles de ER est de cardinalit [1-1],
3. chacun des identifiants explicites ou implicites de ER comporte au moins un
rle oppos,
4. RE nappartient pas une hirarchie is-a.
Le type dassociations cible r hrite des rles sources opposs ER; ses attributs sont
ceux de ER; ses identifiants sont ceux de ER; ceux de ses identifiants qui satisfont les
caractristiques des identifiants implicites ne sont pas dclars (figure E.41). Cette
transformation est linverse de la transformation dun type dassociations en type
dentits (section E.10.2).
A
a-b

B
c-d

1-1

1-1
ER
R1
R2
id: rA.A
rB.B
R1

rC

a-b

1-1

c-d

e-f

rB
rA

r
R1
R2
id: A
B
R1

Figure E.41 - Transformation dun type dentits association en TA

e-f

E.8

Transformations de types dentits

27

Il existe une transformation plus complexe mais appartenant la mme famille. Elle
est applicable dans les conditions suivantes :
1. ER joue au moins deux rles, tous monotypes et appartenant des types dassociations fonctionnels non cycliques,
2. chacun des rles de ER appartenant ces types dassociations fonctionnels est
de cardinalit [1-1],
3. ER joue en outre un (et un seul) rle de cardinalit [1-N]7 dans un type dassociations rr,
4. lunique identifiant de ER est form des rles opposs des types dassociations
fonctionnels,
5. ER ne possde pas dattribut,
6. ER napparat dans aucune hirarchie is-a.
La transformation sexplique comme suit (figure E.42). Dans le schma source, il
existe une bijection entre ER et le produit cartsien A x B. Si on remplace dans rr
chaque entit ER par le couple de A x B qui lui correspond, on obtient le type dassociations rr.8
A

0-N

0-N

0-N

rA

rB

1-1

1-1

rr
R1

0-N

0-N

rr'
R1

0-N

ER
id: rA.A
rB.B

1-N

Figure E.42 - Une transformation atypique dun TE en TA

Il est intressant de noter quen ralit rr nest pas lquivalent de ER mais plutt de
rr dans le schma source.

E.8.2 Transformation d'un TE en attribut


Sous certaines conditions, un type dentits EA2 peut tre transform en attribut A2.
On qualifie EA2 de type dentits attribut sil vrifie les principales prconditions
suivantes :

J-L Hainaut - 2009

1. EA2 joue un et un seul rle dans un type dassociations r binaire non cyclique,
2. ce rle est obligatoire,
7. Le cas [1-1] nest pas illgal, mais il correspond alors la transformation standard de la figure
E.41.
8. Cette transformation a t dcrite et sa rversibilit dmontre dans [Hainaut, 1996].

28

Annexe E Transformations de schmas

3. EA2 possde au moins un attribut,


4. EA2 possde au plus un identifiant,
5. si EA2 possde un identifiant, celui-ci est constitu de tous les attributs de EA2;
il peut en outre comprendre le rle oppos EA2 dans r,
6. si EA2 ne possde pas didentifiant, alors son rle dans r est de cardinalit [1-1],
7. si lidentifiant de EA2 comprend un rle, alors ce rle est de cardinalit [a-b]
avec b > 1 et le rle jou par EA2 est de cardinalit [1-1],
8. ER napparat dans aucune hirarchie is-a.

a) Le type dentits attribut ne possde pas didentifiant

La transformation produit un attribut monovalu ou un multi-ensemble selon la


cardinalit du rle oppos EA2 (figure E.43). Il est noter que ce pattern impose la
cardinalit [1-1] au rle jou par EA2. Dans le cas contraire, lidentit des entits EA2
serait perdue dans la transformation, laquelle ne serait ds lors plus rversible.
A
A1

0-1

1-1

EA2
A2

A
A1

1-1

1-1

EA2
A2

A
A1

0-N

1-1

EA2
A2

A
A1
A2'[0-N] bag

A
A1

1-N

1-1

EA2
A2

A
A1
A2'[1-N] bag

A
A1
A2'[0-1]

A
A1
A2'

Figure E.43 - Transformation en attribut dun TE sans identifiant

b) Le type dentits attribut possde un identifiant constitu dun attribut

Lorsque le type dentits attribut possde un identifiant constitu dun et un seul


attribut (identifiant non hybride), le schma cible dpend de la classe fonctionnelle
du type dasssociations r. Les quatre classes fonctionnelles sont reprises aux figures
E.44, E.45, E.46 et E.47.

E.8

Transformations de types dentits

A
A1

0-1

1-1

EA2
A2
id: A2

A
A1

1-1

1-1

EA2
A2
id: A2

29

A
A1
A2'[0-1]
id': A2'
A
A1
A2'
id': A2'

Figure E.44 - Transformation en attribut dun TE avec identifiant non hybride - type
dassociations 1:1

A
A1

A
A1

0-N

1-N

1-1

EA2
A2
id: A2

1-1

EA2
A2
id: A2

A
A1
A2'[0-N]
id': A2'[*]

A
A1
A2'[1-N]
id': A2'[*]

Figure E.45 - Transformation en attribut dun TE avec identifiant non hybride - type
dassociations 1:N

A
A1

0-1

1-N

EA2
A2
id: A2

A
A1
A2'[0-1]

A
A1

1-1

1-N

EA2
A2
id: A2

A
A1
A2'

J-L Hainaut - 2009

Figure E.46 - Transformation en attribut dun TE avec identifiant non hybride - type
dassociations N:1

A
A1

0-N

1-N

EA2
A2
id: A2

A
A1
A2'[0-N]

A
A1

1-N

1-N

EA2
A2
id: A2

A
A1
A2'[1-N]

Figure E.47 - Transformation en attribut dun TE avec identifiant non hybride - type
dassociations N:N

30

Annexe E Transformations de schmas

c) Le type dentits attribut possde un identifiant hybride

Le type dentits joue un rle de cardinalit [1-1] et le rle oppos est de cardinalit
[0-N] ou [1-N] (r est de classe fonctionnelle 1:N). EA2 se transforme en un attribut
multivalu identifiant de A (figure E.48). Ces transformations peuvent tre regroupes sous le pattern suivant : le type dentits joue un rle de cardinalit [1-1] et le
rle oppos est de cardinalit [a-b] o b > 1; lattribut cible A2 hrite de cette cardinalit.

A
A1

A
A1

0-N

1-N

1-1

EA2
A2
id: r.A
A2

1-1

EA2
A2
id: r.A
A2

A
A1
A2'[0-N]
id': A2'[*]

A
A1
A2'[1-N]
id': A2'[*]

Figure E.48 - Transformation en attribut dun TE avec identifiant hybride

d) Le TE possde plus dun attribut

Ces attributs sont collectivement soumis aux mmes contraintes que lattribut A2 de
EA2 des cas prcdents et jouent le mme rle. Les transformations produisent des
rsultats similaires, le nouvel attribut tant compos des attributs sources.

A
A1

0-N

1-N

EA2
A21
A22
id: A21
A22

A
A1
A2'[0-N]
A21
A22

Figure E.49 - Transformation en attribut dun TE


avec identifiant multi-attributs

E.8.3 Dcomposition d'un TE


Cette famille de transformation transforme un type dentits en plusieurs types
dentits. On y trouve les oprateurs de normalisation et de partitionnement.
a) Normalisation relationnelle dun TE

La dcomposition dun type dentits dont les composants (attributs et rles) sont
soumis des dpendances fonctionnelles anormales (dont le dterminant nest pas
un identifiant) suit les raisonnements et les rgles de restructuration dvelopps dans
la thorie relationnelle (chapitre 3).
La figure E.50 illustre le processus de dcomposition comme lextraction des
attributs soumis une dpendance anormale (A3, A4) sous la forme dun nouveau

E.8

Transformations de types dentits

31

type dentits EA3 recueillant tous les composants litigieux et dont lidentifiant est
le dterminant de la dpendance incrimine. Un type dassociations N:1 connecte les
deux types dentits.

A
A1
A2
A3
A4

A3

EA3
A3'
A4'
id: A3'

1-N
A
A1
A2

A4

1-1

Figure E.50 - Dcomposition de normalisation dun TE Dterminant simple

Tant le dterminant que le dtermin de la dpendance anormale peuvent


comprendre des rles opposs au type dentuits source. La figure E.51 montre la
normalisation dans le cas o le dterminant comporte un rle. Lidentifiant du
nouveau type dentits est par consquent hybride.

B
0-N
rAB

1-1

rAB.B, A3

A
A1
A2
A3
A4

A4

0-N

rAB'

EA3
A3'
1-1 A4'
id: rAB'.B
A3'
1-N

A
A1
A2

1-1

Figure E.51 - Dcomposition de normalisation dun TE Dterminant complexe

J-L Hainaut - 2009

b) Partitionnement vertical

Le partitionnement vertical dun type dentits consiste extraire un sous-ensemble


de ses composants (attributs et rles) et les dplacer dans un autre type dentits
connect au premier un type dassociations 1:1 (Figure E.52). Cette transformation,
linverse de la prcdente, ne rsoud pas les ventuels problmes de normalisation.
Elle est principalement utilise en vue de loptimisation dun schma logique ou
encore pour isoler des composants smantiquement homognes dun type dentits
trop complexe.
Si les composants dplacs sont tous facultatifs et soumis une contraine de
coexistence, alors ils deviennent obligatoires dans le schma cible et le nouveau rle
rAB.A est de cardinalit [1-1] (figure E.53).

32

Annexe E Transformations de schmas

0-N

0-N

A
A1
A2
A3
A4

1-1

rAB

A
A1
A2
1-1

A'
A3
A4
r

1-1

rAB

1-1

Figure E.52 - Partitionnement vertical des composants dun TE (1)

A
A1
A2
A3[0-1]
A4[0-1]
coex: rAB.B
A3
A4

0-N

0-N
0-1

rAB

A
A1
A2
0-1

A'
A3
A4
r

1-1

rAB

1-1

Figure E.53 - Partitionnement vertical des composants dun TE (2)

c) Partitionnement horizontal

Le partitionnement horizontal consiste remplacer un type dentits par plusieurs


types dentits de mme structure, chacun deux accueillant un sous-ensemble de la
population du type dentits source (figure E.54)9. Cette transformation est principalement utilise pour optimiser un schma physique.
A
A1
A2
A3
A4[0-1]
id: A1

A'
A1
A2
A3
A4[0-1]
id: A1

A"
A1
A2
A3
A4[0-1]
id: A1

les ensembles
A'.A1,
A".A1
sont disjoints

Figure E.54 - Partitionnement horizontal de la population dun TE (1)

Cette transformation peut cependant avoir une utilit au niveau conceptuel et


logique pour clarifier lexistence de sous-population dotes de proprits diffrentes. Cest ce quillustre la figure E.55, qui montre en outre que le partitionnement
peut tre vu comme la composition de deux transformations standard.

9. On rsistera la tentation de connecter ces types dentits par un type dassociations 1:1 !

E.8

Transformations de types dentits

A
A1
A2
A3[0-1]
A4[0-1]
id: A1
coex: A3
A4

A
A1
A2
id: A1

33

A'
A1
A2
id: A1

A"
A3
A4

A"
A1
A2
A3
A4
id: A1

les ensembles
A'.A1,
A".A1
sont disjoints

Figure E.55 - Partitionnement horizontal de la population dun TE (2)

E.8.4 Fusion de types dentits


Ces transformations permettent de remplacer plusieurs types dentits par un seul.
a) Fusion de dnormalisation

La dnormalisation dun schma est une transformation doptimisation. Elle constitue linverse de la transformation de normalisation (E.8.3/a). On introduit de la
sorte une redondance interne conduisant diverses anomalie de mise jour des
donnes.
b) Fusion bijective

Cette transformation apparat comme linverse dun partitionnement vertical (E8.3/


b). On distingue gnralement le type dentits absorbant, qui conserve son identit
dans la transformation, et le type dentits absorb, dont les composants sont migrs
vers le premier (dans la figure E.56, ces rles sont indistincts). Elle est applicable
lorsque deux types dentits sont connects par un type dassociations 1:1. Ce type
dassociations est obligatoire ou facultatif. Dans ce dernier cas, la transformation
peut induire une contrainte de coexistence dans le type dentits absorbant. Dans
certains cas simplifis, cet oprateur correspond la transformation dun type
dentits attribut en attribut.
B

0-N

J-L Hainaut - 2009

A1
A1
A2
1-1

A2
A3
A4
r

1-1

1-1

rAB

A
A1
A2
A3'
A4'

Figure E.56 - Fusion de deux TE

0-N
1-1

rAB'

34

Annexe E Transformations de schmas

c) Union de TE

Cette transformation est linverse dun partitionnement horizontal (E8.3/c). Elle est
applicable lorsque deux types dentits ont le mme schma et que leurs populations
sont disjointes.

E.8.5 Factorisation de composants de TE


Lide de cette transformation est intuitive mais sa description complte est relativement complexe. Elle correspond en fait une famille de transformations.
Dans le cas le plus simple, deux types dentits prsentent des attributs quon
pourrait qualifier de communs (mme nom, mme type, smantique externe identique). On convient de dfinir un nouveau type dentits qui regroupe les attributs
communs et qui est dclar surtype des types dentits sources (figure E.57). On
impose une contrainte de totalit, mais lventuelle contrainte de disjonction
dpendra de la smantique des types dentits.

A
A1
A2
AB1
AB2

B
B1
B2
AB1
AB2

AB
AB1
AB2

T
A
A1
A2

B
B1
B2

Figure E.57 - Factorisation des lments communs deux TE

En toute gnralit, le schma source contient un nombre quelconque de types


dentits traiter. En outre, les composants communs sont des attributs, des rles de
types dassociations et des contraintes. La factorisation dans ce cas produira le plus
souvent une hirarchie is-a plus de deux niveaux et des surtypes multiples. La
figure E.58 en fournit un exemple lmentaire.
ABC
A1
T

A
A1
A2
A4

B
A1
A2
A3
A5

C
A1
A3
A6

A
A4

AB
A2

BC
A3

T
B
A5

Figure E.58 - Factorisation de plusieurs TE

C
A6

E.9

Transformation de relations is-a

35

Cet oprateur est linverse de la transformation de relations is-a par hritage descendant (E.9.2).
La construction de cette hirarchie relve dun processus appel FCA (Formal
Concept Analysis). Cette hirarchie est galement un cas particulier de treillis de
Galois. On en trouvera une application non triviale et des rfrences lannexe F.

E.8.6 Assignation d'un identifiant technique un TE


Cette transformation ajoute au type dentits un attribut technique sans signification
et en fait lidentifiant primaire. Si le type dentits source dispose dj dun identifiant primaire, ce dernier est est repris mais sous statut de secondaire. Il sagit dune
transformation technique visant plusieurs objectifs : attribuer un identifiant un type
dentits qui nen possde pas, substituer un identifiant simple un identifiant jug
trop complexe ou trop long, attribuer aux types dentits des identifiants non significatifs dans une perspective oriente objet (object id). On lutilisera principalement
lors de la conception logique.
A
A1
A2
A3
id: A1
A2

A
Id_A
A1
A2
A3
id: Id_A
id': A1
A2

Figure E.59 - Assignation dun identifiant technique un TE

E.9 TRANSFORMATION DE RELATIONS IS-A


Cette famille relativement tendue de transformations comprend des oprateurs de
restructuration de hirarchies is-a ainsi que des oprateurs qui font disparatre et qui
crent ces hirarchies. On les utilisera dans tous les processus dingnierie des bases
de donnes. Nous ne donnerons de ces transformations, souvent complexes, que les
principes gnraux. Nous tudierons successivement :
1. la transformation par matrialisation en TA
2. la transformation par hritage descendant
3. la transformation par hritage ascendant

J-L Hainaut - 2009

4. la traduction des autres aspects


5. la disjonction de sous-types
6. la couverture dun surtype
7. le partitionnement d'un surtype
8. les transformations dune rpartition multiple

36

Annexe E Transformations de schmas

9. les transformations dune hirarchie surtypes multiples


10. les autres transformations

E.9.1 Transformation par matrialisation en TA


On considre un schma source constitu dun surtype et de ses sous-types. Le
schma cible reprsente la fois le surtype et ses sous-types. Les relations is-a
sont reprsentes par des types dassociations 1:1. Les contraintes de sous-types sont
reprsentes par des contraintes dexistence (figure E.60).
Cette transformation est celle qui prserve le mieux la topologie du schma
source et offre une volutivit maximale mais lventuelle traduction relationnelle
ultrieure des contraintes dexistence posera problme (voir section 18.6.2). Cette
transformation ainsi que les deux suivantes sont largement utilises en conception
logique relationnelle mais aussi relationnelle objet. En effet, les contraintes
quimpose le modle relationnel objet sur les relations is-a obligent dans certains
cas de figure recourir la transformation de ces relations.
Ces oprateurs sont dcrits plus en dtail dans les rfrences [Wagner 1989],
[Hainaut, 1996] et [Da Silva, 2000].
A
A1
A2

A
A1
A2

D
C
C1
C2

B
B1
B2

A
A1
A2
at-lst-1: ca.C
ba.B

A
A1
A2

P
C
C1
C2

B
B1
B2

C
C1
C2

B
B1
B2

C
C1
C2

B
B1
B2

A
A1
A2

A
A1
A2

A
A1
A2
excl: ca.C
ba.B

A
A1
A2
exact-1: ca.C
ba.B

0-1

0-1

0-1

0-1

0-1

0-1

0-1

0-1

ba

ca

ba

ca

ba

ca

ba

ca

1-1

1-1

1-1

1-1

1-1

1-1

1-1

1-1

B
B1
B2

C
C1
C2

B
B1
B2

C
C1
C2

B
B1
B2

C
C1
C2

B
B1
B2

C
C1
C2

Figure E.60 - Transformation de relations is-a par matrialisation

E.9

Transformation de relations is-a

37

E.9.2 Transformation par hritage descendant


On considre un schma constitu dun surtype et de ses sous-types. Le schma
cible ne reprsente que les sous-types, lesquels sont complts des composants de
leur surtype (figure E.61). Lorsque le recouvrement nest pas total, on considre un
sous-type qui recueille les entits du surtype qui nappartiennent aucun sous-type
(transformation de couverture dun surtype, section E.9.6).
Cette transformation est peu approprie aux structures dont le surtype comporte
des composants importants tels que des identifiants, des rles et des contraintes. La
distribution de ces composants parmi les sous-types pose en effet des problmes
dexpression non triviaux (section 18.6.3).
En outre, la non disjonction des sous-types entrane des difficults importantes
relatives des redondances internes qui apparaissent dans les structures cibles. On
observe galement que cette transformation repose sur une contrainte de totalit,
puisque, lorsquelle nexiste pas, on la rcre sous la forme dun sous-type complment A. En rsum, cette transformation nest rellement applicable que dans une
structure soumise une contraite de partition.
On se reportera la section 18.6.3. pour plus de dtails sur cette transformation.
On y dcrit en particulier un compromis permettant de rsoudre simplement le
problme des identifiants du surtype.
A
A1
A2

A
A1
A2

B
A1
A2
B1
B2

A'
A1
A2

C
A1
A2
C1
C2

B
A1
A2
B1
B2

D
C
C1
C2

B
B1
B2

C
A1
A2
C1
C2

B
A1
A2
B1
B2

P
C
C1
C2

B
B1
B2

C
A1
A2
C1
C2

B
A1
A2
B1
B2

B
B1
B2

C
C1
C2

B
B1
B2

A
A1
A2

A'
A1
A2

C
C1
C2

A
A1
A2

C
A1
A2
C1
C2

Figure E.61 - Transformation de relations is-a par hritage descendant

J-L Hainaut - 2009

E.9.3 Transformation par hritage ascendant


On considre un schma constitu dun surtype et de ses sous-types. Le schma
cible ne reprsente que le surtype, lequel est complt des composants de chacun
des sous-types (figure E.62). Les attributs dun sous-type sont rassembls sous la
forme dun attribut compos facultatif. Les rles des sous-types deviennent facultatifs et font lobjet dune contrainte de coexistence avec lattribut compos propre

38

Annexe E Transformations de schmas

son sous-type. Les contraintes des sous-types sont traduites en contraintes dexistence imposes aux attributs composs propres aux sous-types.
Cette transformation produit un schma cible peu naturel et peu lisible dans
lequel les surtypes paraissent hypertrophis. En revanche, contrairement aux deux
autres transformations, la traduction complte du schma cible en structures relationnelles nexigera que des techniques lgres telles que des checks.

A
A1
A2

A
A1
A2

A
A1
A2
B[0-1]
B1
B2
C[0-1]
C1
C2

B
B1
B2

D
C
C1
C2

C
C1
C2

A
A1
A2

A
A1
A2
B[0-1]
B1
B2
C[0-1]
C1
C2
at-lst-1: B
C

B
B1
B2

P
C
C1
C2

A
A1
A2
B[0-1]
B1
B2
C[0-1]
C1
C2
excl: B
C

B
B1
B2

C
C1
C2

B
B1
B2

A
A1
A2

A
A1
A2
B[0-1]
B1
B2
C[0-1]
C1
C2
exact-1: B
C

Figure E.62 - Transformation de relations is-a par hritage ascendant

E.9.4 Traduction des autres aspects


Dans chacune des transformations prcdentes, nous navons tudi que le sort des
attributs. Il faut en outre considrer la manire dont sont traits les identifiants, les
rles et les contraintes pour le surtype et les sous-types. Ces aspects sont discuts
dans [Hainaut, 1996].

E.9.5 Disjonction de sous-types


Lensemble des sous-types dun surtype est transform de sorte que ces sous-types
soient disjoints. Cet oprateur est ncessaire en conception logique base sur un
modle qui admet les relations is-a mais impose la contrainte de disjonction. Tel est
le cas de SQL3, C++ et Java par exemple. On trouvera une discussion relative cette
transformation dans le cadre de SQL3 la section 19.7.

E.9

Transformation de relations is-a

39

Il sagit plus gnralement dune famille de transformations. Elle savre plus


complexe quelle pourrait paratre premire vue. Nous traiterons principalement le
cas de structures deux sous-types. Les sections suivantes nabordent ces transformations que de manire superficielle. Leur approfondissement dans des cas
particuliers est laisse linitiative du lecteur.
a) Disjonction de deux sous-types

La transformation dun ensemble de deux sous-types non disjoints en un ensemble


de sous-types disjoints admet deux variantes : symtrique et asymtrique. On considre pour linstant que ces sous-types nont pas eux-mmes de sous-types.
La transformation symtrique (figure E.63) remplace lensemble des deux soustypes par les trois types suivants : B qui reprsente les entits B qui nappartiennent
pas C, C qui reprsente les entits C qui nappartiennent pas B, et BC qui
regroupe les entits dintersection appartenant la fois B et C. Les proprits des
populations des types dentits du schma cible sont les suivantes :
B = B - C
C = C - B
BC = BC
A
A1

A
A1

B
B1

C
C1

B'
B1

BC
B1
C1

C'
C1

Figure E.63 - Transformation de disjonction symtrique de deux sous-types

La transformation asymtrique prserve un des sous-types B ou C, qui est repris dans


le schma cible, tandis quelle dcompose lautre (figure E.64). Le sous-type
prserv admet le sous-type BC du schma prcdent.
A
A1

J-L Hainaut - 2009

B
B1

C
C1

B'
B1

A
A1

A
A1

D
C
C1

BC
B1

ou

B
B1

BC
C1

Figure E.64 - Transformation de disjonction asymtrique de deux sous-types

C'
C1

40

Annexe E Transformations de schmas

Les proprits des populations du schma cible sont les suivantes :


B = B - C
BC = BC

ou

C = C - B
BC = BC

b) Traitement des sous-types communs aux deux sous-types

Lorsque les deux sous-types B et C du schma source possdent en commun un ou


plusieurs sous-types (D et/ou E par exemple), et que ces sous-types communs
nappartiennent qu B et C, ils sont transfrs collectivement vers le type dentits
dintersection BC (figure E.65). Il existe galement une variante base sur la disjonction asymtrique, illustre la section 19.7.
A
A1

A
A1

B
B1

C
C1

B
B1

BC
B1
C1

C
C1

Figure E.65 - Transformation de disjonction - Traitement des sous-types communs


aux deux sous-types

c) Traitement des sous-types dun des sous-types

La propagation des sous-types (E et D, figure E.66) dun seul des sous-types B ou C


dans la transformation est complique par le fait que leur surtype (B) est clat en
deux types disjoints B et BC. Dans la section 19.7, on recommandait de transformer
ces sous-types par matrialisation ou hritage ascendant. La figure E.66 suggre une
autre technique de rsolution, par ddoublement de la hirarchie issue de B entre B
et BC.
d) Transformation des autres composants des sous-types

Dans les transformations qui prcdent, on na tudi que la propagation des attributs des sous-types transforms. Il faudrait de la mme manire analyser la propagation des rles et les contraintes du schma source. La section 19.7 abordent certaines
de ces questions.

E.9

Transformation de relations is-a

41

A
A1

A
A1

D
B
B1

E
E1

C
C1

D
D1

B'
B1

B'E
E1

BC
B1
C1

B'D
D1

BCE
E1

C'
C1

BCD
D1

Figure E.66 - Transformation de disjonction - Traitement des sous-types dun des


sous-types

e) Disjonction de plus de deux sous-types

La figure E.67 montre lextension de la disjonction symtrique une collection de


trois sous-types. En toute gnralit, tant donn n sous-types non-disjoints, la transformation produit 2n - 1 sous-types disjoints, structure qui devient pratiquement illisible et ingrable au-del de 3.
A
A1

A
A1

B
B1

C
C1

D
D1

B'
B1

C'
C1

D'
D1

BC'
B1
C1

BD'
B1
D1

CD'
C1
D1

BCD'
B1
C1
D1

Figure E.67 - Disjonction de plus de deux sous-types

Il est possible damliorer la prsentation de cet ensemble par une hirarchisation


suggre par lobservation de la rpartition des entits illustre par la figure E.68.

J-L Hainaut - 2009

D
Figure E.68 - Distribution des entits B, C et D

42

Annexe E Transformations de schmas

En regroupant les entits qui appartiennent plus dun sous-type dans un type de
nom BCD, on obtient le schma de la figure E.69. cette approche est gnralisable
plus de trois sous-types mais le rsultats est de plus en plus complexe puisque
chaque surtype possde n + 1 sous-types et que le nombre total de sous-types feuilles
reste 2n - 1.
A
A1

A
A1

B
B1

C
C1

D
D1

B'
B1

C'
C1

D'
D1

BCD
P

BC'
B1
C1

BD'
B1
D1

CD'
C1
D1

BCD'
B1
C1
D1

Figure E.69 - Restructuration de lensemble des sous-types disjoints

f) Disjonction dans les hirarchies multiples

Lorsquun des sous-types soumis une transformation de disjonction possde un


autre surtype, la procdure se complique mais reste intuitive. On procdera de
manire progressive, en traitant dabord un surtype puis lautre (figure E.70).
Puisquun des sous-types (C) joue un double rle, contrairement chacun de ses
voisins (B et D), on donnera la prfrence, lors de la premire transformation qui
concerne A1, la disjonction asymtrique qui prserve C. On pourra ensuite aborder
le traitement de A2 sans contrainte.
La disjonction des sous-types {B, C} de A1 est illustre dans la partie suprieure de
la figure E.70. Elle prserve C, auquel elle associe le sous-type BC. On procde
ensuite la disjonction asymtrique de A2. Celle-ci prserve galement C et lui
associe le sous-type CD. Ce dernier tant indpendant de BC, C nest soumis
aucune contrainte de sous-type (schma infrieur droit). Il reste donc rendre les
sous-types de C disjoints par une disjonction symtrique. Le schma infrieur
gauche constitue le rsultat final. La gnralisation des schmas de plus de deux
sous-types et/ou plus de deux surtypes est laisse linitiative du lecteur
(courageux).

E.9

Transformation de relations is-a

A1
A11

43

A2
A21

A1
A11
D

B
B1

C
C1

B'
B1

D
D1

A2
A21

C
C1

D
D1

BC
B1

A1
A11

A2
A21

A1
A11

A2
A21

B'
B1

C
C1

D'
D1

B'
B1

C
C1

D'
D1

D
BC'
B1

BCD
B1
D1

CD'
D1

BC
B1

CD
D1

Figure E.70 - Disjonction dans les hirarchies multiples

E.9.6 Couverture dun surtype

J-L Hainaut - 2009

Lorsque lensemble des sous-types nest pas soumis une contraite de totalit, il est
possible que des entits du surtype nappartiennent aucun sous-type. On peut
demander de complter cet ensemble de manire imposer cette contrainte. On fait
ainsi apparatre un nouveau sous-type A sans composants propres (figure E.71).
Attention cependant lasymtrie des sous-types en cas de non-disjonction (schma
suprieurs) : B et C restent non disjoints mais A est disjoint de B et C. Lorsque les
sous-types sources sont disjoints, le rsultat est une partition (schmas infrieurs).

44

Annexe E Transformations de schmas

A
A1

A
A1

B
B1

C
C1

A'

B
B1

A
A1

A
A1

D
B
B1

C
C1

P
A'

C
C1

B
B1

C
C1

Figure E.71 - Couverture dun surtype

E.9.7 Partitionnement d'un surtype


Cette transformation est la composition de la disjonction des sous-types et de la
couverture du surtype. Elle transforme en partition un ensemble quelconque de soustypes relatifs un mme surtype. Il existe plusieurs schmas cibles selon quon a
utilis une disjonction symtrique (figure E.72) ou asymtrique. Comme nous
lavons observ prcdemment, cette transformation nest gure praticable pour des
structures de plus de 3 sous-types, moins de hirarchiser lensemble de ces soustypes (figure E.69).
A
A1

A
A1

B
B1

C
C1

A
A1

D
B'
B1

BC
B1
C1

C'
C1

P
A'

B'
B1

BC
B1
C1

C'
C1

Figure E.72 - Partitionnement dun surtype

E.9.8 Transformation dune rpartition multiple


Une rpartition multiple dun surtype offre plus dune manire de classer les entits
de ce surtype (figure E.73/gauche). Il nexiste pas de transformation de rpartitions
multiples en une rpartition unique qui soit totalement satisfaisante. On propose
quatre techniques permettant de grer n rpartitions (n > 1) : le ddoublement du
surtype, le clonage du surtype, la hirarchisation des rpartitions et le croisement

E.9

Transformation de relations is-a

45

des rpartitions. Nous dcrirons ces transformation pour deux rpartitions. Elles se
gnralisent sans difficult plus de deux rpartitions.
Le ddoublement du surtype (figure E.73) consiste attacher en bijection au
surtype n-1 types dentits sans proprits (ni attribut, ni rle, ni contrainte). Le
surtype ainsi que ses doublures reoivent chacun une rpartition. Les mcanismes
dhritage sont propres cette structure et doivent donc tre, partiellement du
moins, grs de manire procdurale (lhritage de A vers D et E doit tre simul).
Une variante consiste dupliquer les proprits de A dans A. Dans ce cas, les mcanismes dhritage standard sont dapplication mais cest la redondance A/A quil
faut contrler de manire procdurale.
A
A
A1

A
A1

1-1

1-1

A'

B
B1

C
C1

D
D1

E
E1

B
B1

C
C1

D
D1

E
E1

Figure E.73 - Transformation dune rpartition multiple par ddoublement du surtype

Le clonage du surtype (figure E.74) consiste dfinir n sous-types du surtype


source, raison dun par rpartition. Chaque clone est son tour surtype dune des
rpartitions. Chaque sous-type clone possde la mme population que le surtype : A
= A" = A. Cette proprit tant inconnue dans le modle Entit-association, il faudra
la grer de manire procdurale.
A
A1

A
A
A1

T
A'

B
B1

C
C1

D
D1

E
E1

A"

B
B1

C
C1

D
D1

E
E1

J-L Hainaut - 2009

Figure E.74 - Transformation dune rpartition multiple par clonage du surtype

La transformation par hirarchisation (figure E.75) consiste subordonner une


rpartition lautre. Une des rpartitions (idalement une partition) est conserve
alors que la seconde est reproduite sous chacun des sous-types de la premire. On
procdera au pralable, si ncessaire, la transformation en une partition de la
premire rpartition. Par exemple, le nouveau sous-type BD reprsente les entits
appartenant la fois aux types B et D du schma source. La transformation par
hirarchisation prserve une des rpartitions mais duplique lautre. Le schma final
implique des redondances dans les composants des sous-types dupliqus : les

46

Annexe E Transformations de schmas

proprits de D sont dupliques dans BD et CD. Il nexiste cependant pas de redondance au niveau des instances.
A
A1

A
A
A1

B
B1

C
C1

D
D1

E
E1

B
B1

BD
D1

C
C1

BE
E1

CD
D1

CE
E1

Figure E.75 - Transformation dune rpartition multiple par


hirarchisation des rpartitions

La transformation par croisement des rpartitions (figure E.76) remplace les rpartitions multiples par une seule rpartition dont les sous-types sont obtenus par le
produit cartsien des n ensembles de sous-types. Le nouveau sous-type BD reprsente les entits appartenant la fois aux types B et D du schma source. Cette transformation exige que chaque rpartition soit une partition (il est possible de
supprimer cette contrainte mais au prix dun grande complexit de schma rsultant). On procdera donc au pralable, si ncessaire, la transformation de chaque
ensemble de sous-types en une partition. Le schma final implique des redondances
dans les composants des sous-types : les proprits de B sont dupliques dans BD et
BE. Il nexiste cependant pas de redondance au niveau des instances. Cette transformation nest envisageable que si le fragment de schma source ne comprend quun
petit nombre de sous-types. On observera que cet oprateur nest pas primitif. Il
sobtient par application de la transformation des relations is-a par hritage descendant (section E.9.2) aux sous-types BD, BE, CD et CE de la figure E.75.
A
A
A1

A
A1

B
B1

C
C1

D
D1

E
E1

BD
B1
D1

CD
C1
D1

BE
B1
E1

Figure E.76 - Transformation dune rpartition multiple par


croisement des rpartitions

CE
C1
E1

E.9

Transformation de relations is-a

47

E.9.9 Transformation dune hirarchie surtypes multiples


Il est possible de rduire une hirarchie dans laquelle des surtypes multiples apparaissent de manire telle quun type dentits nait pas plus dun surtype. On peut
envisager plusieurs techniques mais il est vident quaucune ne sera satisfaisante
puisquelles conduiront toutes une perte dexpressivit du schma et donc rduiront sa lisibilit.
La technique illustre la figure E.77 a pour principal avantage de nintroduire
aucune redondance dans les types dentits : chacun reprsente un ensemble spcifique de la population de A, lanctre commun le plus proche des deux surtypes
litigieux A1 et A2. On considre que chaque sous-types de A est soumis une
contraite de disjonction. Il sagit dune hypothse simplificatrice mais raliste : si un
modle exige lhritage simple, il imposera galement la disjonction des sous-types
(exemple : SQL3, Java).
A partir du schma source (gauche), on introduit la reprsentation explicite de
lintersection de A1 et A2, quon note A1*A2. C est un sous-type de A1*A2. Cette
transformation est videmment rversible. En outre, on transforme les sous-types de
A2 en une partition en introduisant le type dentits A2, qui regroupe les entits de
A2 qui nappartiennent ni A1*A2 ni D. On obtient ainsi le schma central.
On applique ensuite la transformation des relations is-a issues de A2 par hritage
descendant. On associe donc les composants de A2, symboliss par lattribut A21,
chacun de ses sous-types A1*A2, D et A2. Le type dentits A2 peut ds lors disparatre, ses sous-types devenant directement dpendante de A. Le relation is-a entre A
et A1*A2 est transitive et est donc supprime. On observe que D est disjoint de A1.
En effet, sil possdait des entits communes avec A1, celles-ci se trouveraient obligatoirement dans lintersection A1*A2. Or, D est par dfinition disjoint de A1*A2. Il
en est de mme pour A2. Les trois types dentits A1, D et A2 sont donc disjoints. Il
en rsulte le schma de droite. La transformation par hritage descendant impose
certaines contraintes dont il faudra tenir compte dans cette procdure.
A

A
D

J-L Hainaut - 2009

B
B1

A1
A11

A2
A21

D
C
C1

D
D1

B
B1

A1
A11

A2
A21

A1*A2

C
C1

D
D1

A1
A11

A2'

D
B
B1

A1*A2
A21

C
C1

Figure E.77 - Rduction dune hirarchie surtypes multiples

D
A21
D1

A2'
A21

48

Annexe E Transformations de schmas

E.9.10 Autres transformations


Les hirarchies is-a constituent des structures riches et expressives. Elles font lobjet
dautres transformations que celles qui ont t prsentes dans cette section.
Certaines prservent la smantique tandis que dautres lenrichissent en modifiant
linterprtation des structures. Citons quelques exemples :
insertion dun type dentits dans une hirarchie
limination dun type intermdiaire (rattachement des enfants leurs grands
parents)
introduction dun type ou plusieurs types intermdiaire(s) entre un parent et ses
enfants
regroupement de deux hirarchies indpendantes
limination dun sous-type terminal sans composants dans une partition
transformation de sous-types terminaux sans composants par un attribut indicateur de sous-type (et inverse).

E.10 TRANSFORMATION DE TYPES DASSOCIATIONS


Un type dassociations peut tre transform en attributs (formant une cl trangre),
en type dentits ou encore tre dcompos en plusieurs types dassociations plus
simples. Nous tudierons successivement :
1. les transformations dun TA binaire en cl trangre
2. les transformations dun TA en TE
3. la transformation de TA 1:1 en relations is-a
4. les transformation dun rle multitypes
5. la transformation dun TA binaire en attribut objet
6. la transformation dun attribut (objet) en un rle supplmentaire
7. la rduction du degr dun TA n-aire
8. les dcompositions dun TA n-aire

E.10.1 Transformation dun TA binaire en cl trangre


On dtaille ci-dessous les principaux cas de figure de la transformation de mutation
dun type dassociations en attributs, lesquels forment une cl trangre. On utilisera principalement ces transformations dans les processus de conception logique.
On notera que cette famille de transformation peut produire des cls trangres
multivalues. On tudiera successivement la transformation des types dassociations
de classes fonctionnelles 1:1, N:1, 1:N et N:N. Le type dentits cible de la cl trangre produite doit disposer dun identifiant (primaire de prfrence) constitu exclu-

E.10

Transformation de types dassociations

49

sivement dattributs. Il sera dans certains cas ncessaire dassigner un identifiant


technique ce type dentits.
Il aurait t possible de simplifier cette tude par lusage de transformations gnriques, mais, en raison de limportance de ces transformations, nous avons prfr en
prsenter le dtail.
a) Types dassociations 1:1

Un type dassociations 1:1 se transforme en une cl trangre monovalue identifiante (figure E.78). Cette cl est obligatoire ou facultative, simple ou totale.

B
0-1

B1
B2

0-1

1-1

0-1

0-1

1-1

A1
A2
id: A1

B
B1
B2

A1
A2
id: A1

B
B1
B2

B
B1
B2

A1
A2
id: A1

1-1

1-1

A1
A2
id: A1

B
B1
B2
A1[0-1]
id': A1
ref

A
A1
A2
id: A1

B
A1
B1
B2
id: A1
ref

A
A1
A2
id: A1

B
B1
B2
A1[0-1]
id': A1
equ

A
A1
A2
id: A1

B
A1
B1
B2
id: A1
equ

A
A1
A2
id: A1

Figure E.78 - Transformation dun type dassociations 1:1

b) Types dassociations N:1

J-L Hainaut - 2009

Un type dassociations N:1 se transforme en une cl trangre monovalue non


identifiante (figure E.79). Cette cl est obligatoire ou facultative, simple ou totale.

50

Annexe E Transformations de schmas

B
0-1

B1
B2

0-N

B
1-1

B1
B2

0-N

0-1

1-N

A1
A2
id: A1

B
1-1

B1
B2

A
A1
A2
id: A1

B
B1
B2

A1
A2
id: A1

1-N

A1
A2
id: A1

B
B1
B2
A1[0-1]
ref: A1

A
A1
A2
id: A1

B
B1
B2
A1
ref: A1

A
A1
A2
id: A1

B
B1
B2
A1[0-1]
equ: A1

A
A1
A2
id: A1

B
B1
B2
A1
equ: A1

A
A1
A2
id: A1

Figure E.79 - Transformation dun type dassociations N:1

c) Types dassociations 1:N

Un type dassociations 1:N se transforme en une cl trangre multivalue identifiante (figure E.80). Cette cl est obligatoire ou facultative, simple ou totale.
Si lidentifiant de A est constitu de plusieurs attributs, les composants de la cl
trangre sont regroups sous la forme dun attribut compos. La cardinalit
maximum du rle jou par B, note N, peut tre toute valeur suprieure 1.
A

B
0-N

B1
B2

0-1

B
B1
B2

A1
A2
id: A1

1-N

0-1

A1
A2
id: A1

B
A1[0-N]
B1
B2
id': A1[*]
ref
B
A1[1-N]
B1
B2
id': A1[*]
ref

A
A1
A2
id: A1

A
A1
A2
id: A1

E.10

Transformation de types dassociations

51

B
A

B
0-N

B1
B2

1-1

A1
A2
id: A1

A1[0-N]
B1
B2
id': A1[*]
equ

A1[1-N]
B1
B2
id': A1[*]
equ

A
A1
A2
id: A1

B
A

B
1-N

B1
B2

1-1

A1
A2
id: A1

A
A1
A2
id: A1

Figure E.80 - Transformation dun type dassociations 1:N

d) Types dassociations N:N

Un type dassociations N:N se transforme en une cl trangre multivalue non


identifiante (figure E.81). Cette cl est obligatoire ou facultative, simple ou totale.
Si lidentifiant de A est constitu de plusieurs attributs, les composants de la cl
trangre sont regroups sous la forme dun attribut compos. La cardinalit
maximum du rle jou par B, note N, peut tre toute valeur suprieure 1.

B
0-N

B1
B2

0-N

B
1-N

B1
B2

0-N

0-N

1-N

J-L Hainaut - 2009

A1
A2
id: A1

B
B1
B2

A1
A2
id: A1

B
B1
B2

A
A1
A2
id: A1

1-N

1-N

A1
A2
id: A1

B
B1
B2
A1[0-N]
ref: A1[*]

B1
B2
A1[1-N]
ref: A1[*]

B1
B2
A1[0-N]
equ: A1[*]

B
B1
B2
A1[1-N]
equ: A1[*]

Figure E.81 - Transformation dun type dassociations N:N

A
A1
A2
id: A1

A
A1
A2
id: A1

A
A1
A2
id: A1

A
A1
A2
id: A1

52

Annexe E Transformations de schmas

E.10.2 Transformation dun TA en TE


Cette famille doprateurs ralise une mutation du type dassociations en un type
dentits. Elle admet deux variantes. La premire, la plus classique, reprsente
chaque association par une entit. La seconde, moins connue, exploite une forme
particulire de dcomposition dun type dassociations par rduction de son degr.
Elle sera dcrite la section E.10.9.
La figure E.82 illustre la mutation classique. Elle montre la propagation des
cardinalits, des attributs et des identifiants.
A

c-d

r
R1
R2
id: A
B
R1

a-b

a-b

c-d

e-f

rA

rB

rC

1-1

e-f

ER
R1'
R2'
id: rA.A
rB.B
R1'

1-1

1-1

Figure E.82 - Transformation standard dun type dassociation en TE

E.10.3 Transformation de TA 1:1 en relations is-a


Cet oprateur est linverse de la transformation de relations is-a par matrialisation
(section E.9.1). Des prconditions existent sur les contraintes de cardinalits des
types dassociations et sur les contraintes dexistence. La figure E.83 montre un
exemple de transformation conduisant une partition des sous-types.
A
A1
A2
exact-1: ca.C
ba.B
0-1

0-1

ba

ca

1-1

1-1

B
B1
B2

C
C1
C2

A
A1
A2

P
B
B1
B2

C
C1
C2

Figure E.83 - Transformation de types dassociations 1:1 en relations is-a

E.10

Transformation de types dassociations

53

E.10.4 Remarque sur la transformation de TA 1:1


Nous avons rencontr plusieurs transformations applicables des types dassociations 1:1. Il est utile de rappeler que le choix dune transformation est souvent guid
par des considrations smantiques. A titre dexemple, un type dassociations 1:1
entre les types dentits :
VEHICULE et UTILITAIRE se traduira probablement par une relation is-a,
PATIENT et STATISTIQUES pourra se traduire par une fusion bijective,
DELEGUE et VEHICULE sera gnralement conserv tel quel.

E.10.5 Transformation dun rle multitypes


Un rle multitypes est jou non par un type dentits, comme un rle ordinaire, mais
par plusieurs types dentits (figure E.84/gauche). La transformation la plus
vidente consiste partitionner les associations r selon le type dentits du rle
multitypes. On produit ainsi autant de types dassociations simples que le rle
couvre de types dentits (schma central). Si ncessaire, on peut ensuite appliquer
une transformation de factorisation (section E.8.5), ce qui donne le schma de
droite.
Si le rle r.A du schma source est de cardinalit [1-b], avec b > 1, les rles r1.A et
r2.A du schma central sont tous de cardinalit [0-b]. Si le rle r.A du schma source
est de cardinalit [0-b], avec b 1, la contrainte dexistence du schma central tombe
et les rles r1.A et r2.A du schma central sont de cardinalit [0-b]. Les rles r.A et r.A
sont de mme cardinalit. La cardinalit du rle r.b est transmise sans modification
aux rles r1.B1, r2.B2 et r.B12.
B1

B2
b
0-N
r

B1

B2

0-N

0-N

r1

r2

0-1

0-1

B12

0-N

P
r'
B1

B2

1-1

A
A

1-1

exact-1: r2.B2
r1.B1

Figure E.84 - Transformation dun rle multitypes

J-L Hainaut - 2009

E.10.6 Transformation dun TA binaire en attribut objet


Cette transformation est linverse de la transformation E.6.8. Elle sera plus particulirement utilise dans le dveloppement de bases de donnes orientes objet. Les
diffrentes variantes selon les cardinalits du type dassociations se traitent de la
mme manire que pour les cls trangres (section E.10.1).

54

Annexe E Transformations de schmas

E.10.7 Transformation dun rle en attribut objet


Il sagit de linverse de la transformation E.7.2. Elle permet de rduire (en apparence
du moins) le degr dun TA et est applicable tout TA de degr suprieur 2. On
lutilisera notamment lors de la traduction dun schma conceptuel dans un modle
orient objet.
A

B
r

0-N

id: A
C

0-N

0-N

B
r
AC: *C
id: A
AC

0-N

0-N
C

Figure E.85 - Transformation dun rle en attribut objet

E.10.8 Transformation dun rle en cl trangre


Il sagit de linverse de la transformation E.7.3. Elle permet de rduire (en apparence
du moins) le degr dun TA et est applicable tout TA de degr suprieur 2. Le
concept de cl trangre au dpart dun TA tant atypique, cette transformation doit
tre considre comme anecdotique.
A

B
r

r
0-N

id: A
C

0-N

0-N

C1
id: A
C1
ref: C1

0-N
C

C1
id: C1

C1
id: C1

Figure E.86 - Transformation dun rle en cl trangre

E.10.9 Rduction du degr dun TA n-aire


Il est possible de rduire un type dassociations r de degr n en
1. un type dassociations r de degr n - k + 1,
2. k types dassociations fonctionnels,
3. un nouveau type dentits,
k, tel que 1 k n, est un paramtre de la transformation.

0-N

E.10

Transformation de types dassociations

55

Cet oprateur, dcrit plus en dtail dans [Hainaut, 1991], regroupe plusieurs
transformations classiques et moins classiques.
Son principe est assez intuitif. Considrons, dans le schma de gauche de la
figure E.87, un sous-ensemble quelconque de k rles de r. Soit par exemple {r.A, r.B}
cet ensemble (k = 2). Lensemble de tous les couples (a,b) de A x B prsents dans les
instances de r sexprime par la projection r[A,B].
Reprsentons chacun de ces couples par une entit dun nouveau type nomm AB.
Nous pouvons ds lors substituer AB aux deux rles r.A et r.B dans r, ce qui nous
donne un nouveau type dassociations r de degr n - k - 1, soit ici 3, entre AB, C et D.
Il nous faut encore dfinir les entits de AB comme reprsentant des couples de
A x B, ce quon ralise par les k = 2 types dassociations fonctionnels rA et rB et par
lidentifiant {rA.A, rB.B} de AB.
A

0-N

0-N

0-N

0-N

0-N

0-N

rA

rB

1-1

1-1

0-N

0-N

AB
id: rA.A
rB.B

1-N

Figure E.87 - Rduction du degr dun TA (k = 2)

Lorsque k = 1, le nouveau type dentits (soit A) reprsente toutes les entits actives
du rle slectionn (r[A]). Dans ce cas limite, le degr de r est conserv (n - 1 + 1). Le
type dassociations fonctionnel rA est 1:1 (il constitue un identifiant implicite de A).
Il peut ensuite, si ncessaire, tre transform en une relation is-a (figure E.88)
A

0-N

0-N

0-N

0-N

A'

0-N

0-N

0-N

1-N

J-L Hainaut - 2009

Figure E.88 - Rduction du degr dun TA (k = 1)

Considrons lautre cas limite : k = n. Dans ce cas, le nouveau type dentits ABCD
reprsente toutes les instances de r (r[A,B,C,D]). On introduit n types dassociations
fonctionnels rA, ..., rD dont les rles opposs forment lidentifiant de ABCD. r est ici
inexistant et on retrouve la transformation classique de la section E.10.2, rappele
la figure E.89.
En pratique, lidentifiant minimal du nouveau type dentits dpend des identifiants de r.

56

Annexe E Transformations de schmas

0-N

0-N

0-N

0-N

0-N

0-N

0-N

0-N

rA

rB

rC

rD

1-1

1-1

1-1

1-1

ABCD
id: rA.A
rB.B
rC.C
rD.D

Figure E.89 - Rduction du degr dun TA (k = n)

E.10.10Dcomposition dun TA n-aire


La dcomposition dun type dassociations remplace celui-ci par plusieurs types
dassociations de degr infrieur. On considre deux oprateurs : la dcomposition
selon un rle de cardinalit [i-1] et la dcomposition de normalisation.
a) Dcomposition selon un rle de cardinalit [i-1]

Un type dassociations dont un rle est de cardinalit [0-1] ou [1-1] peut tre dcompos selon ce rle. Celui-ci est un effet un dterminant de chacun des autres rles.
Cette transformation et sa justification ont t prsentes la section 15.18.9.
La figure E.90 prsente cette transformation selon les deux configurations de
cardinalit du rle r.B. Dans le cas dun rle de cardinalit [0-1], il est possible
dabandonner la contrainte de coexistence au profit dune relation is-a (section
E.11.1).
b) Normalisation relationnelle dun TA

On a montr (section 15.18) quun type dassociations pouvait tre reprsent par
une relation constitue de la reprsentation de ses rles et de ses attributs. Cette relation peut tre le sige de dpendances anormales, auquel cas il convient de la normaliser par dcomposition.

E.10

Transformation de types dassociations

57

C
r

a-b

c-d

1-1

a-b

c-d

rA

rC

1-1

1-1

A
a-b

C
r

c-d

0-1

a-b

c-d

rA

rC

0-1

0-N

0-N

rA

rC

0-1
1-1

coex: rA.A
rC.C

B'

1-1

Figure E.90 - Dcomposition selon un rle de cardinalit [i-1]

Le cas le plus simple est celui dun type dassociations n-aire sans attributs, dont la
normalisation a t discute la section 17.5.8. Il est repris la figure E.91. Lorsque
le rle dterminant de la dpendance anormale (r.B) est facultatif, le schma cible
comporte une contrainte de coexistence, qui peut ensuite tre limine, par exemple
par la dfinition dun sous-type (B) selon les transformations de la section E.11.1.
A
0-N

C
r

0-N

0-N

0-N

r'

0-N

0-N

r'

0-N
B

B C

0-N

0-1

1-N

B'

1-1

coex: s.C
r'.A[*]

Figure E.91 - Normalisation relationnelle dun TA

J-L Hainaut - 2009

La prsence dattributs ne pose pas de problme particulier, la procdure de normalisation relationnelle sappliquant telle quelle (figure E.92). Cependant, les configurations de dpendances fonctionnelles dans lesquelles le dterminant est
exclusivement constitu dattributs ne sont pas valide.

58

Annexe E Transformations de schmas

A
0-N

C
r
R1

0-N

0-N

0-N

0-N

r'
R1

0-N

B C

B
0-1
coex: s.C
r'.A[*]

Figure E.92 - Normalisation relationnelle dun TA en prsence dattributs

E.11 TRANSFORMATIONS RELATIVES AUX CONTRAINTES


Ces transformations ont pour effet de remplacer une contrainte par une structure
quivalente. On les utilise en particulier dans le processus de normalisation et en
rtro-ingnierie.

E.11.1 Contrainte de coexistence


Un groupe dattributs soumis une contrainte de coexistence peut faire lobjet dune
transformation dagrgation en un attribut compos facultatif. Ce dernier peut, si
ncessaire, tre transform en un type dentits, lequel peut ensuite, selon la smantique qui lui est assigne, tre dclar sous-type du type dentits source (figure
E.93).
A
A1
A2[0-1]
A3[0-1]
coex: A2
A3

A
A1
A23[0-1]
A2'
A3'

A
A1
0-1

A
A1

r
1-1
A23
A2'
A3'

A23
A2'
A3'

Figure E.93 - Transformations successives des composants dune contrainte de


coexistence

Ces transformations restent dapplication lorsque la contrainte implique un ou


plusieurs rles (figure E.94).

E.12

Pour en savoir plus

59

A
A1

A1

0-N
r

0-1

A
A1
A2[0-1]
coex: r.B
A2

0-1
0-N

0-N

1-1
r

1-1

AA
A2

1-1

AA
A2

Figure E.94 - Transformations successives des composants dune contrainte de


coexistence impliquant des rles

E.11.2 Contrainte dimplication


Le traitement dune contrainte dimplication (if) est similaire celui de la contrainte
de coexistence (figure E.95). Il en est de mme des contraintes impliquant des rles.
A
A1
A2[0-1]
A3[0-1]
if: A3
A2

A
A1
A23[0-1]
A2'
A3'[0-1]

A
A1
0-1

A
A1

r
1-1
A-A2
A2'
A3'[0-1]

A-A2
A2'
A3'[0-1]

Figure E.95 - Transformations successives des composants dune contrainte


dimplication

J-L Hainaut - 2009

E.12 POUR EN SAVOIR PLUS


Le concept de transformation, par ailleurs trs ancien [Navathe, 1980], fait partie
intgrante du domaine des bases de donnes. En effet, depuis prs de 40 ans, la
plupart des processus dingnierie de bases de donnes, et en particulier la normalisation conceptuelle, la conception logique, loptimisation et la rtro-ingnierie, ont
t modliss comme des chanes de transformations. Les techniques transformationnelles constituent le moteur des approches dites diriges par les modles, ou
MDE, selon la terminologie de lOMG. Lide de spcifier de manire rigoureuse un
composant dun systme informatique dans un langage abstrait, puis de transformer
cette spcification par des rgles de conversion vers du code excutable est le rve
de linformaticien depuis la nuit des temps (estime au dbut des annes 60 pour
cette question).

60

Annexe E Transformations de schmas

Lapproche suivie dans cette annexe se base sur un ensemble de travaux dont les
rfrences sont reprises dans la section E.13 et dont la synthse a t publie dans
[Hainaut, 2006].

E.13 RFRENCES ET BIBLIOGRAPHIE


Alves, T.L., Silva, P.F., Visser, J., Oliveira, J.N., Strategic Term Rewriting and Its Application to a Vdm-SL to SQL Conversion, in Proc. FM 2005, LNCS, No 3582, SpringerVerlag. (2005) 399-414
Baader, F., Horrocks, I., and Sattler, U. Description logics. In Staab, S. and Studer, R. (Ed.),
Handbook on Ontologies, International Handbooks on Information Systems, pages 3-28.
Springer, (2004).
Balzer, R. Transformational implementation : An example. IEEE TSE, Vol. SE-7(1). (1981)
Batini, C., Ceri, S., & Navathe, S., B. Conceptual Database Design, Benjamin/Cummings.
(1992)
Batini, C., Di Battista, G., Santucci, G. Structuring Primitives for a Dictionary of Entity Relationship Data Schemas, IEEE TSE, Vol. 19, No. 4. (1993)
Bolois, G., & Robillard, P. Transformations in Reengineering Techniques. Proc. of the 4th
Reengineering Forum "Reengineering in Practice", Victoria, Canada. (1994)
Boyd, M., McBrien. Towards a Semi-Automated Approach to Intermodel Transformation,
In Proceedings of EMMSAD'04,Volume 1, CAiSE Workshop Proceedings, Riga Technical
University. (2004) 175-188
Casanova, M., A., Amaral De Sa. Mapping uninterpreted Schemes into Entity-Relationship
diagrams : two applications to conceptual schema design. IBM J. Res. & Develop., 28(1).
(1984)
Clve, A., Henrard, J., Hainaut, J-L. Co-transformations in Information System Reengineering, in Proc. of WCRE'04/ATEM-04, (2004)
Darwen, H., Date, C., J. Relation-valued Attributes, in Date, C., J., Darwen, H., Relational
Database Writings 1989-1991, Addison-Wesley (1993)
D'Atri, A., & Sacca, D. Equivalence and Mapping of Database Schemes, Proc. 10th VLDB
conf., Singapore. (1984)
Estivenart, F., Franois, A., Henrard, J., Hainaut, J-L. Web Site Engineering. Proc. of the
5th International Workshop on Web Site Evolution, Amsterdam, Sept. 2003, IEEE CS
Press. (2003)
Fagin, R. Multivalued dependencies and a new normal form for relational databases, ACM
TODS, 2(3). (1977)
Fikas, S., F. Automating the transformational development of software, IEEE TSE, Vol. SE11. (1985)
Hainaut, J-L. Theoretical and practical tools for database design, in Proc. of the Very Large
Databases Conf., pp. 216-224, September, IEEE Computer Society Press. (1981)
Hainaut, J.-L. A Generic Entity-Relationship Model. Proc. of the IFIP WG 8.1 Conf. on
Information System Concepts: an in-depth analysis, North-Holland. (1989)
Hainaut, J-L. Entity-generating Schema Transformations for Entity-Relationship Models, in
Proc. of the 10th Entity-Relationship Approach, San Mateo (CA), 1991, North-Holland.
(1992)

J-L Hainaut - 2009

E.13

Rfrences et bibliographie

61

Hainaut, J-L., Chandelon M., Tonneau C., & Joris M. (1993). Contribution to a Theory of
Database Reverse Engineering. Proc. of the IEEE Working Conf. on Reverse Engineering,
Baltimore, May 1993, IEEE Computer Society Press.
Hainaut, J-L, Chandelon M., Tonneau C., Joris M. Transformational techniques for database
reverse engineering. Proc. of the 12th Int. Conf. on ER Approach, Arlington-Dallas, ER
Institute (and LNCS Springer-Verlag in 1994). (1993)
Hainaut, J-L. Transformation-based database engineering. Tutorial notes, VLDB'95, Zrich,
Switzerland, (1995) (available at http://www.info.fundp.ac.be/libd).
Hainaut, J-L. Specification preservation in schema transformations - application to semantics and statistics, Data & Knowledge Engineering, 11(1). (1996)
Hainaut, J-L., Henrard, J., Hick, J-M., Roland, D., Englebert, V. Database Design Recovery,
in Proc. of the 8th Conf. on Advanced Information Systems Engineering (CAiSE96),
Springer-Verlag (1996)
Hainaut, J.-L., Hick, J.-M., Englebert, V., Henrard, J., Roland, D. Understanding implementations of IS-A Relations, in Proc. of the conference on the ER Approach, Cottbus, Oct.
1996, LNCS, Springer-Verlag (1996).
Hainaut, J-L. Transformation-based Database Engineering. In: [van Bommel, 2005]. (2005)
128
Hainaut, J-L., The transformational approach to database engineering, in Generative and
Transformational Techniques in Software Engineering. Ralf Lmmel, Joo Saraiva, Joost
Visser, eds, LNCS 4143, Springer-Verlag, pp. 89-138, 2006
Halpin, T., A., & Proper, H., A. Database schema transformation and optimization. Proc. of
the 14th Int. Conf. on ER/OO Modelling (ERA). (1995)
Henrard, J., Hick, J-M. Thiran, Ph., Hainaut, J-L. Strategies for Data Reengineering, in Proc.
of WCRE'02, IEEE Computer Society Press. (2002)
Hick, J-M., Hainaut, J-L. Strategy for Database Application Evolution: the DB-MAIN
Approach, in Proc. ER'2003 conference, Chicago, Oct. 2003, LNCS Springer-Verlag.
(2003)
Jajodia, S., Ng, P., A., & Springsteel, F., N. The problem of Equivalence for Entity-Relationship Diagrams, IEEE Trans. on Soft. Eng., SE-9(5). (1983)
Kobayashi, I. Losslessness and Semantic Correctness of Database Schema Transformation :
another look of Schema Equivalence, Information Systems, 11(1). (1986) 41-59
Lmmel, R. Coupled Software Transformations (Extended Abstract), In Proc. First International Workshop on Software Evolution Transformations (SET 2004). (2004) [http://
banff.cs.queensu.ca/set2004/set2004_proceedings_acrobat4.pdf]
Levene, M. The Nested Universal Relation Database Model, LNCS 595, Springer-Verlag.
(1992)
Lien, Y., E. On the equivalence of database models, JACM, 29(2). (1982)
Ling, T., W. External schemas of Entity-Relationship based DBMS, in Proc. of Entity-Relationship Approach : a Bridge to the User, North-Holland. (1989)
McBrien P., & Poulovassilis, A. Data integration by bi-directional schema transformation
rules, Proc 19th International Conference on Data Engineering (ICDE'03), IEEE
Computer Society Press. (2003)
Motro, Superviews: Virtual integration of Multiple Databases, IEEE Trans. on Soft. Eng. SE13, 7, (1987)

62

Annexe E Transformations de schmas

Navathe, S., B. Schema Analysis for Database Restructuring, ACM TODS, 5(2), June 1980.
(1980)
Partsch, H., & Steinbrggen, R. Program Transformation Systems. Computing Surveys,
15(3). (1983)
Poole, J. Model-Driven Architecture : Vision, Standards And Emerging Technologies. in
Proc. of ECOOP 2001, Workshop on Metamodeling and Adaptive Object Models, (2001)
Rauh, O., & Stickel, E. Standard Transformations for the Normalization of ER Schemata.
Proc. of the CAiSE95 Conf., Jyvskyl, Finland, LNCS, Springer-Verlag. (1995)
Roland, D. Database engineering process modelling, PHD Thesis, University of Namur.
http://www.info.fundp.ac.be/~dbm/publication/2003/these-dro.pdf (2003)
Rosenthal, A., & Reiner, D. Theoretically sound transformations for practical database
design. Proc. of Entity-Relationship Approach. (1988)
Rosenthal, & A., Reiner, D. Tools and Transformations - Rigourous and Otherwise - for
Practical Database Design, ACM TODS, 19(2). (1994)
Schek, H-J., Scholl, M., H. () The relational model with relation-valued attributes, Information Systems, 11. (1986) 137-147
Thalheim, B. Entity-Relationship Modeling: Foundation of Database Technology. SpringerVerlag, (2000)
Thiran, Ph., Hainaut, J-L. Wrapper Development for Legacy Data Reuse. Proc. of WCRE'01,
IEEE Computer Society Press. (2001)
Thiran, Ph., Estivenart, F., Hainaut, J-L., Houben, G-J, A Generic Framework for Extracting XML Data from Legacy Databases, in Journal of Web Engineering, Rinton Press,
(2005)
van Bommel, P. (Ed.). Transformation of Knowledge, Information and Data: Theory and
Applications, Information Science Publ., Hershey. (2005)
van Griethuysen, J.J., (Ed.). Concepts and Terminology for the Conceptual Schema and the
Information Base. Publ. nr. ISO/TC97/SC5-N695. (1982)

Das könnte Ihnen auch gefallen