Vous êtes sur la page 1sur 17

Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

LE CONTENU TECHNIQUE

SPECIALITE : BASES DE DONNEES


SEMESTRE : III
MATIERE : Concevoir une base de données

Chapitre 3: LES DEPENDANCES FONCTIONNELLES

Objectif : à la fin de cours chaque stagiaire doit être capable

Plan du cours : Introduction


I. Notion de dépendances fonctionnelles
II. Graphe des dépendances fonctionnelles
III.Propriétés des dépendances fonctionnelles
IV. Fermeture transitive et couverture minimale
Introduction :
La notion de dépendance fonctionnelle permet d’établir des liens sémantiques entre attribut ou
groupe d’attributs.

I. Notion de dépendances fonctionnelles :

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 :

Il existe une DF entre X et Y


Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

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 :

Soit le relation R1 (A,B,C) dont l’extension :

A B C
a1 b1 c4
a2 b4 c6
a1 b3 c4

D’après l’extension nous avons :

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

B --------> C car Chaque valeur de B correspond une et une seule valeur de C

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 :

Complétez par vrai ou faux :

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

• NumEmp ---------> AdrEmp c’est une DF élémentaire


• NumCde ,Ref ----------> Qtité c’est une DF élémentaire

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 :

NUM PROF ---------> NOM PROF

NUM PROF -------------> PREN PROF

NUM PROF -------------> Discipline

Le schéma d’une relation est noté : R <U,F>


U est l’ensemble des attributs
F est l’ensemble des DFs

Exemple 4 :

Soit la relation commande <U,F>

U = {Num, Date, Client, Article, Prix, Quantité}


F = { Num  Date
Num  Client
Article  Prix
Article,Num  quantité}
Traduisons les Dfs textuellement :
Num  Date : une commande est faite (établie) à une seule date.
Num  Client : une commande appartient (correspond) à un seule client.
Article  Prix : Un article possède un seule prix.
Aricle, Num  quantité : une seule quantité est commandée par article dans une commande

II.Graphe des dépendances fonctionnelles :

Commande (Num, Date, Client, Article, Prix, Quantité)


Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

Avec Num  Date


Num  Client
Article  Prix
Article,Num  quantité
Le graphe des Dfs est le suivant :
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

Exercices

Exercice 1:

Soit le relation R(A,B,C) dont l'extension est comme suit:

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:

Numéro Type Marque Processeur Mode

1011 PC20-3 Commodore 8086 XT


Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

1029 PC40-3 Commodore 80286 AT

1102 MICRAL30 Bull 8086 XT

1172 MICRAL30 Bull 8086 XT

1099 PC286D Amstrad 80286 AT

1026 TD386SX Tandon 80386 AT

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:

ID Nom Age Cité


S1 Kamal 20 Alger
S2 Halim 34 Bouira
S3 Omar 30 Bouira
S4 Imane 20 Alger
S5 Samira 30 Boumerdesse

Question : Extraire les DFs existantes dans 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 :

Soit le schéma relationnelle suivant R(C,P,H,S,E,N) correspondant à

(Cours,Professeurs,Heure,Salle,Etudiant,Note)

Soient les DFs suivantes :

C  P ; H,S C ; H,P  S ; C,E  N ; H,E  S

Question: Exprimer textuellement chaque DF.

Exercice 6 :

Traduire les règles de gestion suivantes en termes de dépendances fonctionnelles:


Rg1 Un stagiaire est caractérisé par un numéro, son nom et prénom et sa fonction.
Rg2 Un stagiaire s'inscrit à une ou plusieurs sessions à une date.
Rg3 Une session est caractérisée par un numéro et la date début. Elle contient au moins un
stagiaire.
Rg4 Un responsable caractérisée par un nom et prénom qui sont unique et une adresse.
Rg5 Un stagiaire est encadré par un seul responsable.
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

3- Propriétés des dépendances fonctionnelles (Axiomes d’Armstrong)


Réflexivité : si Y X alors X Y.

Exemple : dans l’exemple 4 page 11 dans la relation

commande (Num, Date, Client, Article, Prix, Quantité)


Num  Num (C’est triviale chaque attribut détermine lui-même)
Article rticle, Num} alors Article, Num  Article

Augmentation : si W Z et X Y alors X, Z Y, W.

Exemple : Num  Date par augmentation Num,Article  Date, Article

Transitivité : si X Y et Y Z alors X Z.

Exemple : NumCde  NumClient

NumClient  NomClient

Par transitivité : NumCde  NomClient.

Union : si X Y et X Z alors X Y, Z.

Exemple : Num  date

Num  Client

Par Union Num  Date, Client

Décomposition : si Z Y et X Y alors X Z.

Exemple : Num  Date, Client

Par décomposition : Num  date

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  libellé, Coeff

Codemat,Numsatg  noteD,NoteE

Codemat,Numsatg,codeSpecialite  NoteE

Codespecialité  NomSpecialité

NumStag  NomSpecialité

Dans l’ensemble des DFs, donnez :

 Les dfs déduites en appliquant l’union


 Les dfs déduites en appliquant la décomposition
 Les dfs transitives
 Les dfs déduites par augmentations
Exercice de réflexion :
On considère la relation R(A,B,C) sur laquelle sont définies les dépendances fonctionnelles suivantes :
AB
A,B  C
Démontrez par les axiomes d’Armstrong que A  C.
III. fermeture transitive et couverture minimale :

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 :

Soit la relation Centre dont le schéma est :

Centre = < U, F> tels que


U = { No_matière, Nom_matière, No_formateur, Grade, Indice, Nom_formateur, No_spécialité,
Nom_spécialité, Code_filière, Intitulé_filière, charge_horaire, Coef }

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

Quel est le degré de la relation Centre ?


Les Dfs sont elles élémentaires, justifiez
Représentez le graphe des dépendances fonctionnelles.
Trouvez la fermeture transitive de F.

2-La couverture minimale :


La couverture minimale de l’ensemble de DFs F appelée aussi couverture irredondante est
l’ensemble F – {les Dfs non élémentaires et toutes les dfs transitives}

Autrement : F est une couverture minimale ssi toutes les dfs sont élémentaire et non redondante.

Exemple :

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 ;
châssis Marque ;
châssis  Puissance ;
châssis  couleur ;
}

Calculons la couverture minimale :

 La df châssis Marque est transitive ou redondante déduite à partir de


châssis  Type ;
Type  Marque ;
 La df châssis  Puissance est transitive ou redondante déduite à partir de
châssis  Type ;

Type  Puissance ;
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

La couverture minimale est :

F = { châssis  Type ;
Type  Marque ;
Type  Puissance ;
châssis  couleur }

3-Clé d’une relation :


La clé est un sous-ensemble X d’attribut d’une relation R(A1,A2,….,An)
Telle que : X  A1,A2, … An
Et il n’existe pas de sous-ensemble Y ∈ X tel que Y  A1,A2, … An

Autrement: une clé est un attribut ou ensemble d’attribut qui détermine tous les autres.

Exemple :

Dans l’exemple précédent de la relation Voiture où

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.

Il suffit de connaître le châssis pour déduire le type,la marque, la puissance et la couleur.

Une clé détermine une ligne de façon unique


Pour trouver la clé d'une relation, il faut examiner attentivement les hypothèses sur le monde
réel.
Une relation peut posséder plusieurs clés, on les appelle clés candidates
Ex.:
dans la relation PRODUIT, libellé est une clé candidate (à condition qu'il n'y ait jamais 2
produits
Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

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

peut être représenté sous la forme d’une table.

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

clé choisie sera nommée la clé primaire.


Spécialité : TS bases de données Semestre : 03 Module : Concevoir une base de données

Exercices

Exercice 1:

Quelle est la clé de cette relation (voir figure 3.37) ?


Film(Prix, Format, Type, Nombre)

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:

Soit la relation Livre données comme suit:


Livre (référence, titre, auteur, éditeur, date publication)
Hypothèses:
1) Un livre est écrit par un ou plusieurs auteurs et porte sur un titre unique.
2) La connaissance de l'auteur est nécessaire pour connaître l'éditeur.
3) Le même auteur ne peut publier plusieurs fois à la même date.
4) Chaque éditeur attribue des numéros aux ouvrages selon une codification spécifique.
Question:
1) Donner les dépendances fonctionnelles découlant des hypothèses.
2) Quelles est la clé de cette relation)

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

11) Année Promo , N°Etud  Mention Examen


12) N°Stage  Code type Stage
13) N°Stage , N°Etud  Compte rendu
14) N°Etud  Mention Examen
15) Année promo  nombre reçue
16) N°Prof  Qualité
17) Code type Stage  Durée
18) Code type Stage , Année  Date début
19) N° Stage  Année , Code entreprise
20) Code type stage , Année , N°Etud  Date début
Questions :
L'ensemble des dépendances fonctionnelles donné constitue il une couverture minimale? Justifier.

Vous aimerez peut-être aussi