38
Introduction pratique aux bases de données relationnelles
Les différentes
hiérarchies de
généralisation
La structure des liens dans une hiérarchie de généralisation n’est
pas prise en charge directement par le modèle relationnel. C’est
pourquoi nous devons exprimer ses propriétés de manière indirecte.
Dans une généralisation de type «avec intersection et incomplet» ou
«avec intersection et complet», «disjoint incomplet» ou «disjoint
complet», les clés d'identification des tables spécialisées doivent
toujours correspondre à celle de la table ascendante. Aucune règle de
test n'est nécessaire pour garantir la propriété des ensembles
spécialisés avec intersection non vide. L'implémentation des
ensembles disjoints dans le modèle relationnel requiert en revanche
une attention particulière. Une méthode consiste à introduire dans la
table ascendante un nouvel attribut Catégorie qui permet de réaliser
une classification : chaque valeur de l’attribut désigne l'ensemble
spécialisé représentant une catégorie. En outre, dans une
généralisation de type disjoint complet, il faut assurer qu’à chaque
occurrence dans la table ascendante correspond une occurrence dans
l’une des tables spécialisées, et vice versa.
Exemple d’une
généralisation de
type disjoint
complet
Dans la figure 2-13, les données sur les employés forment une
hiérarchie de généralisation. La règle 6 nous amène à créer quatre
tables, EMPLOYÉ, CADRE SUPÉRIEUR, SPÉCIALISTE et APPRENTI.
Nous devons définir la même clé d'identification E# pour toutes les
tables subordonnées à la table EMPLOYÉ. Afin qu'un employé
particulier ne puisse appartenir simultanément à plusieurs catégories,
nous introduisons l'attribut Catégorie dont les valeurs possibles
sont : «Cadre supérieur», «Spécialiste» et «Apprenti». Par cette
méthode, nous garantissons la propriété d'une hiérarchie de
généralisation disjointe (au sens défini dans la section 2.2.3) ; c'est-àdire que l'intersection des ensembles d'entités spécialisés est vide. La
propriété de complétude ne peut pas s'exprimer explicitement dans un
schéma de base de données, et doit donc être implémentée sous la
fome d'une contrainte d'intégrité spéciale.
Règle 7 (agrégation)
Règle de passage
d’une structure
MEMBRE-DE
Dans une structure d'agrégation, si le type de liens est complexecomplexe, une table distincte doit être créée pour l'ensemble d'entités
et une deuxième pour l'ensemble de liens. La table de l'ensemble de
liens contient deux fois la clé provenant de la table de l'ensemble
Introduction pratique aux bases de données relationnelles
Les différentes
hiérarchies de
généralisation
La structure des liens dans une hiérarchie de généralisation n’est
pas prise en charge directement par le modèle relationnel. C’est
pourquoi nous devons exprimer ses propriétés de manière indirecte.
Dans une généralisation de type «avec intersection et incomplet» ou
«avec intersection et complet», «disjoint incomplet» ou «disjoint
complet», les clés d'identification des tables spécialisées doivent
toujours correspondre à celle de la table ascendante. Aucune règle de
test n'est nécessaire pour garantir la propriété des ensembles
spécialisés avec intersection non vide. L'implémentation des
ensembles disjoints dans le modèle relationnel requiert en revanche
une attention particulière. Une méthode consiste à introduire dans la
table ascendante un nouvel attribut Catégorie qui permet de réaliser
une classification : chaque valeur de l’attribut désigne l'ensemble
spécialisé représentant une catégorie. En outre, dans une
généralisation de type disjoint complet, il faut assurer qu’à chaque
occurrence dans la table ascendante correspond une occurrence dans
l’une des tables spécialisées, et vice versa.
Exemple d’une
généralisation de
type disjoint
complet
Dans la figure 2-13, les données sur les employés forment une
hiérarchie de généralisation. La règle 6 nous amène à créer quatre
tables, EMPLOYÉ, CADRE SUPÉRIEUR, SPÉCIALISTE et APPRENTI.
Nous devons définir la même clé d'identification E# pour toutes les
tables subordonnées à la table EMPLOYÉ. Afin qu'un employé
particulier ne puisse appartenir simultanément à plusieurs catégories,
nous introduisons l'attribut Catégorie dont les valeurs possibles
sont : «Cadre supérieur», «Spécialiste» et «Apprenti». Par cette
méthode, nous garantissons la propriété d'une hiérarchie de
généralisation disjointe (au sens défini dans la section 2.2.3) ; c'est-àdire que l'intersection des ensembles d'entités spécialisés est vide. La
propriété de complétude ne peut pas s'exprimer explicitement dans un
schéma de base de données, et doit donc être implémentée sous la
fome d'une contrainte d'intégrité spéciale.
Règle 7 (agrégation)
Règle de passage
d’une structure
MEMBRE-DE
Dans une structure d'agrégation, si le type de liens est complexecomplexe, une table distincte doit être créée pour l'ensemble d'entités
et une deuxième pour l'ensemble de liens. La table de l'ensemble de
liens contient deux fois la clé provenant de la table de l'ensemble
