Cours 4 Dependance Fonctionnel
Cours 4 Dependance Fonctionnel
Cours 4 Dependance Fonctionnel
LE CONTENU TECHNIQUE
1- Définition :
Etant donné une relation R, on dit qu’il y a dépendance fonctionnelle (DF) d’un groupe
d’attribut X
de R vers un groupe d’attribut Y de R si à une valeur de X est associé une seule valeur de Y.
On note
X ---------> Y
On l’exprime par :
X détermine Y
Y Dépend fonctionnellement de X
Exemple1 :
NumEmp NomEmp.
La connaissance du numéro de l’employé détermine une seule valeur du nom employé.
Autrement dit, si on connaît le numéro de l’employé en doit pouvoir connaître son non et celui-ci sera unique.
La réciproque est fausse NomEmp NumEmp
Faux
Le nom de l’employé ne permet pas de déterminer son numéro, car plusieurs employés peuvent avoir
le même nom.
Exemple2 :
A B C
a1 b1 c4
a2 b4 c6
a1 b3 c4
A ---/--> B car pour la valeur a1 de A correspond deux valeur différentes de B (b1 et b3)
A -------> C car pour chaque valeur de A correspond une et une seule valeur de C
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
Dans une colonne, si toutes les valeurs sont différentes (distinctes) alors cet attribut détermine
tous les autres attributs.
A,B ---------> C car Chaque combinaison de A,B correspond une et une seule valeur de C
Questions :
A,C -------> B
C ---------> A
C --------> B
C,B --------> A
2- DF Elémentaire :
On dit qu’il y a dépendance fonctionnelle élémentaire entre les propriétés A et B si on a
A B
Aucune partie de A ne détermine B
Exemple2 :
• NumEmp, NomEmp --------- > AdrEmp cette DF n’est pas élémentaire car NumEmp détermine
adrEmp
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
Pour trouver les dépendances fonctionnelles il faut prendre en compte le « sens » des données dans la
vie réelle.
Exemple 3:
Dans un lycée, les professeurs sont caractérisés par un numéro, leur nom, leur prénom et leur discipline. Un
professeur enseigne dans une seule discipline.
Question : Recensez toutes les dépendances fonctionnelles.
Réponse :
Exemple 4 :
Exercices
Exercice 1:
A B C
A1 B1 C1
A2 B1 C2
A3 B3 C1
A4 B3 C3
Parmi les Dfs suivantes, quelles sont celles qui sont correctes et celles qui sont incorrectes ?
justifier.
A C
A B
B C
B A
C A
A, B C
B, C A
B, C C
Exercice 2:
On considère la relation Micro ayant pour extension:
Questions:
1) Enumérer les dépendances fonctionnelles (seulement des dfs ayant un seul attribut comme
membre gauche).
Exercice 3 :
Soit l’extension de la relation R :
R:
Exercice 4:
Une bibliothèque dispose de plusieurs ouvrages de toute spécialité.
Un ouvrage est décrit par un titre, une année d'édition et une maison d'édition.
Un ouvrage est écris par plusieurs auteurs. Chaque auteur est décrit par un numéro, un nom, un
prénom, une année de naissance.
Un ouvrage contient plusieurs chapitres. Un chapitre correspond à un seul ouvrage. Un chapitre est
décrit par un numéro est un titre.
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
Question:
1- Déterminer les dépendances fonctionnelles existantes sur l'ensemble des attributs ainsi
définis.
2- Représenter les DFs à l’aide d’un graphe de DF.
Exercice 5 :
(Cours,Professeurs,Heure,Salle,Etudiant,Note)
Exercice 6 :
NumClient NomClient
Num Client
Num Client
Exemple d’application :
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
Soit les Dfs suivante représentant les notes obtenues par les stagiaires dans les matières.
Numstag Nomstag
Numstag Prénomstag
Numstag datenaiss
Codemat,Numsatg noteD,NoteE
Codemat,Numsatg,codeSpecialite NoteE
Codespecialité NomSpecialité
NumStag NomSpecialité
1- La fermeture transitive :
6-1- Définition :
Si F est un ensemble de DFs sur R, la fermeture transitive de F notée F+ est F Union (U)
l’ensemble des DFs pouvant êtres déduites en appliquant la transitivité.
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
F+ = F U {Dfs transitives}
6-2- Exemple 1 :
Soit la relation Voiture dont le schéma relationnel est <U,F>
U = {Châssis, Type,marque, puissance}
F = { châssis Type,
Type Marque,
Type Puissance}
F+ = F U {châssis Marque, châssis Puissance}
6-3- Exemple 2 :
F = { No_matière Charge_horaire
No_spécialité Code_filière
No_formateur Grade
No_spécialité Nom_spécialité
No_matière No_formateur
No_matière Nom_matière
No_matière Coef
No_formateur Nom_formateur
Code_filière Intitulé_filière
Grade Indice
}
Questions :
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
Autrement : F est une couverture minimale ssi toutes les dfs sont élémentaire et non redondante.
Exemple :
Type Puissance ;
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
F = { châssis Type ;
Type Marque ;
Type Puissance ;
châssis couleur }
Autrement: une clé est un attribut ou ensemble d’attribut qui détermine tous les autres.
Exemple :
F = { châssis Type ;
Type Marque ;
Type Puissance ;
châssis couleur }
Châssis est une clé car Châssis détermine tous les attributs directement ou indirectement.
de même nom)
Résumé
L’approche relationnelle modélise les faits de la vie réelle par des tuples, qui sont des ensembles de
valeurs de différents champs (ou attributs) : (réfrigérateur, 2003, rouge) est un tuple qui représente
des valeurs des champs ‘Objet’, ‘Année’, ‘Couleur’ liées dans le monde réel. L’ensemble des tuples
s’appelle une relation. Il s’agit du concept de base qui sera manipulé par l’approche relationnelle et
Pour identifier un tuple, on utilise le contenu d’un ou de plusieurs champs que l’on nommera la clé
d’une relation. Cette dernière est établie en utilisant le concept de dépendance fonctionnelle entre
les différents champs. La clé est constituée par le plus petit ensemble de champs dont dépendent
fonctionnellement les autres champs. Si plusieurs clés sont possibles, on parle de clés candidates. La
Exercices
Exercice 1:
Solution :
Si l’on considère simplement le contenu de la relation, il n’y a pas de clé constituée par un seul
champ. Il semble que la combinaison de deux champs, ‘Prix’ et ‘Nombre’ est une clé et que c’est la
seule qui contient deux champs.
On pourrait trouver des combinaisons avec trois champs qui fonctionnent : par exemple ‘Prix’ et
‘Format’ et ‘Couleur’. Ce serait alors une clé candidate, mais on choisit celle qui est la plus ‘atomique’
possible. On peut s’interroger en revanche sur le bien-fondé d’une clé constituée des deux champs
‘Prix’ et ‘Nombre’ si l’on considère leur sens dans le monde réel. Il semble évident que l’on puisse
avoir deux films différents avec le même prix et le même nombre.
Comment choisir la clé dans ce cas ? On ne peut donc en général pas choisir une clé sans tenir
compte des dépendances fonctionnelles entre les champs. Même si les données présentes dans la
relation semblent confirmer qu’il s’agit bien d’une clé, il n’y a pas ici de dépendance entre les champs
‘Prix’ et ‘Nombre’. Sauf si le commanditaire de la base de données vous affirme le contraire pour son
cas particulier. Sans faire une analyse exhaustive des dépendances entre tous les champs, il semble
qu’il n’y a pas dans cette relation de « bons » candidats pour identifier un tuple.
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données
Une solution est d’ajouter un champ spécifique ; c’est ce que proposent la plupart des SGBD lorsque
vous ne définissez pas de clé pour une relation.
Exercice 2:
Exercice 3
Considérons les dépendances fonctionnelles ci-dessous entre les attributs intervenant dans
l'application "Gestion et historique des stages".
1) N°Etud NomEtud , PrenomEtud , Date_naiss
2) N°Stage Compte rendu
3) Année promo Nombre d'inscrit
4) N°Prof NomProf , PrénomProf
5) N°Stage N°Prof
6) Code entreprise Raison sociale , Adresse
7) Code type Stage , Année Date fin
8) N°Stage Année Promo
9) N°Stage N°Etud
10) N°Etud Année Promo
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données