UML 2 pour les bases de données
108
© Éditions Eyrolles
cas, il convient de considérer chaque DF en gardant la partie gauche et en faisant intervenir un
seul attribut dans la partie droite.
Supposons les exemples suivants, qui concernent des pilotes ayant un numéro, un nom, une
fonction (copilote , commandant, instructeur…) :
●
l’écriture numPilote,jour Æ nbHeuresVol est une DF, car à un couple (numPilote, jour) correspond au plus un nombre d’heures de vol ;
●
l’écriture numPilote Æ nomPilote, fonction est équivalente aux écritures numPilote Æ nomPilote et numPilote Æ fonction qui sont deux DF. En conséquence numPilote Æ nomPilote, fonction est une DF ;
●
l’écriture nomPilote Æ fonction est une DF s’il n’y a pas d’homonymes dans la
population des pilotes enregistrés dans la base de données. Dans le cas contraire, ce n’est
pas une DF, car à un nom de pilote peuvent correspondre plusieurs fonctions ;
●
l’écriture fonction Æ nomPilote n’est pas une DF, car à une fonction donnée correspondent éventuellement plusieurs pilotes.
DF élémentaire
Une DF a,b→c est élémentaire si ni a→c, ni b→c ne sont des DF.
Considérons les exemples suivants :
●
la dépendance fonctionnelle numPilote,jour Æ nbHeuresVol est élémentaire, car
numPilote Æ nbHeuresVol n’est pas une DF (un pilote vole différents jours, donc
pour un pilote donné, il existe plusieurs nombres d’heures de vol), pas plus que jour Æ
nbHeuresVol (à un jour donné, plusieurs vols sont programmés) ;
●
la dépendance fonctionnelle numPilote,nomPilote Æ fonction n’est pas élémentaire, car le numéro du pilote suffit pour retrouver sa fonction (numPilote Æ fonction est
une DF).
DF directe
Une DF a Æ c est directe si elle n’est pas déduite par transitivité, c’est-à-dire s’il n’existe pas de
DF a Æ b et b Æ c.
L’expérience montre qu’il est difficile de savoir si une DF est directe, mais il est aisé de voir si
elle est indirecte. En conséquence si une DF n’est pas indirecte, elle est directe (ouf !).
Illustrons cette définition par la figure suivante. Soit les trois dépendances fonctionnelles (1),
(2) et (3). La dépendance fonctionnelle (3) est non directe et les dépendances (1) et (2) sont
directes.
108
© Éditions Eyrolles
cas, il convient de considérer chaque DF en gardant la partie gauche et en faisant intervenir un
seul attribut dans la partie droite.
Supposons les exemples suivants, qui concernent des pilotes ayant un numéro, un nom, une
fonction (copilote , commandant, instructeur…) :
●
l’écriture numPilote,jour Æ nbHeuresVol est une DF, car à un couple (numPilote, jour) correspond au plus un nombre d’heures de vol ;
●
l’écriture numPilote Æ nomPilote, fonction est équivalente aux écritures numPilote Æ nomPilote et numPilote Æ fonction qui sont deux DF. En conséquence numPilote Æ nomPilote, fonction est une DF ;
●
l’écriture nomPilote Æ fonction est une DF s’il n’y a pas d’homonymes dans la
population des pilotes enregistrés dans la base de données. Dans le cas contraire, ce n’est
pas une DF, car à un nom de pilote peuvent correspondre plusieurs fonctions ;
●
l’écriture fonction Æ nomPilote n’est pas une DF, car à une fonction donnée correspondent éventuellement plusieurs pilotes.
DF élémentaire
Une DF a,b→c est élémentaire si ni a→c, ni b→c ne sont des DF.
Considérons les exemples suivants :
●
la dépendance fonctionnelle numPilote,jour Æ nbHeuresVol est élémentaire, car
numPilote Æ nbHeuresVol n’est pas une DF (un pilote vole différents jours, donc
pour un pilote donné, il existe plusieurs nombres d’heures de vol), pas plus que jour Æ
nbHeuresVol (à un jour donné, plusieurs vols sont programmés) ;
●
la dépendance fonctionnelle numPilote,nomPilote Æ fonction n’est pas élémentaire, car le numéro du pilote suffit pour retrouver sa fonction (numPilote Æ fonction est
une DF).
DF directe
Une DF a Æ c est directe si elle n’est pas déduite par transitivité, c’est-à-dire s’il n’existe pas de
DF a Æ b et b Æ c.
L’expérience montre qu’il est difficile de savoir si une DF est directe, mais il est aisé de voir si
elle est indirecte. En conséquence si une DF n’est pas indirecte, elle est directe (ouf !).
Illustrons cette définition par la figure suivante. Soit les trois dépendances fonctionnelles (1),
(2) et (3). La dépendance fonctionnelle (3) est non directe et les dépendances (1) et (2) sont
directes.
