© Éditions Eyrolles
203
chapitre n° 3
Le niveau physique : de SQL2 à SQL3
Il en va de même pour le déclencheur de la table PNC qui devra s’assurer qu’il n’existe pas
d’enregistrement de PNT ayant même numéro.
Bien que les deux déclencheurs soient écrits avec une syntaxe Oracle, il est aisé de les programmer par analogie avec un autre SGBD.
Tableau 3.16 Différents cas d’héritage
Décomposition
Héritage
distinction
descendante
ascendante
Partition
Merise/2 :
UML : {complete,
disjoint}
$ un personnel à la fois
PNT et PNC (A)
$ un personnel ni PNT
ni PNC (B)
Personnel[numPers,
nomPers]
PNC[numPers#,
indice, prime]
PNT[numPers#,
brevet,
validiteLicence]
PNC[numPers,
nomPers, indice,
prime]
PNT[numPers,
nomPers, brevet,
validiteLicence]
Personnel[numPers,
nomPers, indice,
prime, brevet,
validiteLicence]
Totalité
Merise/2
UML : {complete,
overlapping}
$ un personnel ni PNT
ni PNC (B)
$ un personnel à la fois
PNT et PNC (C)
Exclusivité
Merise/2 :
UML : {incomplete,
disjoint} ou rien
$ un personnel à la fois
PNT et PNC (A)
$ un personnel ni PNT
ni PNC (D)
Personnel[numPers,
nomPers]
PNC[numPers#,
nomPers, indice,
prime]
PNT[numPers#,
nomPers, brevet,
validiteLicence]
Sans contrainte
Merise/2 :
UML : {incomplete,
overlapping}
$ un personnel à la fois
PNT et PNC (C)
$ un personnel ni PNT
ni PNC (D)
XT
T
X
203
chapitre n° 3
Le niveau physique : de SQL2 à SQL3
Il en va de même pour le déclencheur de la table PNC qui devra s’assurer qu’il n’existe pas
d’enregistrement de PNT ayant même numéro.
Bien que les deux déclencheurs soient écrits avec une syntaxe Oracle, il est aisé de les programmer par analogie avec un autre SGBD.
Tableau 3.16 Différents cas d’héritage
Décomposition
Héritage
distinction
descendante
ascendante
Partition
Merise/2 :
UML : {complete,
disjoint}
$ un personnel à la fois
PNT et PNC (A)
$ un personnel ni PNT
ni PNC (B)
Personnel[numPers,
nomPers]
PNC[numPers#,
indice, prime]
PNT[numPers#,
brevet,
validiteLicence]
PNC[numPers,
nomPers, indice,
prime]
PNT[numPers,
nomPers, brevet,
validiteLicence]
Personnel[numPers,
nomPers, indice,
prime, brevet,
validiteLicence]
Totalité
Merise/2
UML : {complete,
overlapping}
$ un personnel ni PNT
ni PNC (B)
$ un personnel à la fois
PNT et PNC (C)
Exclusivité
Merise/2 :
UML : {incomplete,
disjoint} ou rien
$ un personnel à la fois
PNT et PNC (A)
$ un personnel ni PNT
ni PNC (D)
Personnel[numPers,
nomPers]
PNC[numPers#,
nomPers, indice,
prime]
PNT[numPers#,
nomPers, brevet,
validiteLicence]
Sans contrainte
Merise/2 :
UML : {incomplete,
overlapping}
$ un personnel à la fois
PNT et PNC (C)
$ un personnel ni PNT
ni PNC (D)
XT
T
X
