0% ont trouvé ce document utile (0 vote)
45 vues6 pages

Cours 3

Transféré par

otsomothenri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
45 vues6 pages

Cours 3

Transféré par

otsomothenri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cour 3 (suite et fin)Les Dépendances Fonctionnelles

I. Introduction

La notion de dépendance fonctionnelle permet d'établir des liens sémantiques entre attributs
ou groupe d'attributs. On note A→B où A est dit source de la dépendance fonctionnelle et B
sa destination. On interprète cela de trois manières :

- il existe une dépendance fonctionnelle de A vers B.

- A détermine B.

- B dépend fonctionnellement de A.

II. Définition

Étant donné une relation R, on dit qu'il y a une dépendance fonctionnelle (DF) X → Y
si, à une valeur de X est associée au plus une valeur de Y.

La question à se poser pour dire qu’il existe une DF entre X et Y : Connaissant la valeur de X,
puis-je connaître la valeur de Y ?

Par exemple, soit la relation voiture définie comme suit : Voiture (Châssis, Couleur, Type,
Marque, Puissance), on peut définir les DF suivantes pour cette relation : Châssis→ Couleur ;
Type→ Marque ; Type→ Puissance.

II.1. DF élémentaires

Une dépendance fonctionnelle A→B est dite élémentaire, s'il n'existe pas C, inclus dans A,
qui assure lui-même une dépendance fonctionnelle C→B.

Exemple

1. Ref_Article→Nom_Article
2. Num_Facture, Ref_Article→Qte_Article
3.Num_Facture, Ref_Article→Nom_Article

Les dépendances fonctionnelles (1) et (2) sont élémentaires alors que la (3) ne l'est pas. Parce
qu'il existe une partie de la source de la DF qui assure elle-même la dépendance fonctionnelle
: c'est Ref_Article au niveau de la DF 1.
II.2. DF directes Une dépendance fonctionnelle A→B est dite directe, s'il n'existe pas un
attribut C qui engendrerait une dépendance fonctionnelle transitive A→C→B.

Exemple
1. Num_Facture→ Num_Représentant VRAI
2. Num_Représentant→Nom_Représentant VRAI
3. Num_Facture→Nom_Représentant FAUX

Les dépendances fonctionnelles (1) et (2) sont directes alors que la troisième ne l'est pas parce
qu'elle peut être déduite par transitivité à partir des deux premières.

III. Graphe des dépendances fonctionnelles

Un ensemble F de dépendances fonctionnelles peut être représenté avec un graphe orienté où


chaque nœud représente un attribut et les arcs représentent les dépendances fonctionnelles
entre les attributs.

Exemple :
Soit la relation Commande (Num, Date, Client, Article, Prix, Quantité) et les DFs suivantes :
Num→Date ;
Num→Client ;
Article→Prix ;
Article,Num→Quantité.

 Clé candidate
Une clé candidate d'une relation est un ensemble minimal des attributs de la relation dont les
valeurs identifient à coup sûr une occurrence.

 La valeur d'une clé candidate est donc distincte pour toutes les occurrences.
 La notion de clé candidate est essentielle dans le modèle relationnel.
 Toute relation a au moins une clé candidate et peut en avoir plusieurs.
 Les clés candidates d'une relation n'ont pas forcément le même nombre d'attributs.
 Une clé candidate peut être formée d'un attribut arbitraire, utilisé à cette seule fin.
 Clé primaire
La clé primaire d'une relation est une de ses clés candidates.

La clé primaire peut être choisie arbitrairement mais le contexte aide souvent à déterminer
laquelle des clés candidates doit être considérée comme clé primaire.

Pour signaler la clé primaire, ses attributs sont généralement soulignés.

 Clé étrangère
Définition : Une clé étrangère d'une relation est formée d'un ou plusieurs de ses attributs qui
constituent une clé candidate dans une autre relation.

IV. Définitions des trois formes normales


 Pourquoi normaliser ?
La normalisation est utile :

 Pour limiter les redondances de données,


 Pour limiter les pertes de données,
 Pour limiter les incohérences au sein des données
 Pour améliorer les performances des traitements.

 Première forme normale (1FN - 1NF) attribut élémentaire


Une relation est en première forme normale si et seulement si tout attribut contient une valeur
atomique. Dans un attribut, on ne peut mettre qu'une seule valeur ; scinder les attributs voire
la relation.

Exemple1 : La relation LIVRE (N° Livre, Titre, Auteurs) telle que

 N° Livre → Titre
 N° Livre →Auteurs
N’est pas en 1FN parce que l’attribut Auteurs peut avoir deux valeurs (il pourrait y an avoir
plus)… pour le même no de livre

Exemple 2

Etudiant Num Nom prenom


1 Ben Ali Ali
kaci
2 Benkaci Said
3 Ada Sarah
Maria
sonia
livre code titre auteur
1 BDD belaid
mohammed

Comment normaliser en 1ére forme normale ?

1. Créer autant d'attributs que le nombre maximum de valeurs de l'attribut multi-valué.


(stockage horizontal)
Exemple:

Etudiant Num Nom Prenom1 Prenom 2 Prenom3


1 Ben Ali Ali kaci null

2 Benkaci Said null null


3 Ada Sarah Maria sonia

2- Créer une nouvelle relation comportant la clé de la relation initiale et l'attribut multi-valué,
puis éliminer l'attribut multi-valué de la relation initiale. (stockage vertical)

Exemple :

livre code titre


auteur code auteur
1 BDD
1 belaid
1 mohammed

 Deuxième forme normale (2FN - 2NF)


Une relation est en 2FN lorsque :

 Elle est en 1FN,


 Les attributs non clé dépendent de toute la clé et non d'une partie de la clé.
 Elimination des dépendances entre partie de clé et attributs non clé.

Si ce n'est pas le cas, scinder la relation en autant de relation que de groupes d'attributs
dépendant de chaque morceau de clé et de la clé entière.
Exemple 3 : La relation ELEVE (N° Elève, N° Matière, N° Classe, Moyenne)

 N° Elève, N° Matière → moyenne.


 N° Elève → N° classe.
Il y a un attribut en Dépendance fonctionnelle avec une partie de la clé primaire. Donc la
relation ELEVE n’est pas en 2FN.

Exemple 4

Soit la relation Enseignement (num, code_matiere, nom , volume_horaire) avec la DF


num→nom.
Comment normaliser en 2éme FN:
1- Isoler la DF partielle dans une nouvelle relation.
2- Eliminer l'attribut de la DF de la relation initiale.

On aura:
Enseignement (num, code_matiere, volume_horaire)
enseignant (num, nom)

 Troisième forme normale (3FN - 3NF) dépendance fonctionnelle élémentaire directe


Une relation est en 3FN lorsque :

 Elle est en 2FN,


 Chaque attribut de la relation ne dépend que de la clé et pas d'un autre attribut de la
relation.
 Elimination des transitivités, dépendances entre attributs non clé.

Si ce n'est pas le cas scinder la relation en autant de relations que de dépendance entre
attributs non clé primaire.

Exemple 5 La relation ELEVE (N° Elève, nom élève, N° Classe, nom classe) avec les DFs

 N°élève → nom élève.


 N°élève → N° classe .
 N°classe → nom classe.

La relation n’est pas en 3FN à cause de la df N°classe → nom classe.


Pour rendre la relation ELEVE de l’exemple 5 en 3FN on crée une relation supplémentaire
telle que
ELEVE (N° Elève, nom élève, N° Classe)

N° élève → nom élève.


N°élève → N° classe.

CLASSE (N° Classe, nom classe)

N°classe → nom classe.

Forme normale de Boyce-Codd (FNBC - BCNF)


Une relation est en BCNF si

 elle est en 3NF et


 si tout attribut qui n'appartient pas à une clé, n'est pas source d'une DF vers une partie
d'une clé. C'est à dire que les seules DFE existantes sont celles dans lesquelles une clé
détermine un attribut.
- La forme normale de Boyce-Codd permet d'éliminer les dépendances entre les attributs
n'appartenant pas à une clé vers les parties de clé.

Exemple 6
Soit la relation Personne :

Personne(N°SS, Pays, Nom, Région) et Soit les DFs suivantes sur cette relation :
N°SS,Pays→Nom
N°SS,Pays→Région
Région→Pays

Comment normaliser en BCNF ?


 Isoler la DF problématique dans une nouvelle relation.
 Eliminer la cible de la DF problématique et la remplacer par sa source dans la relation
initiale.

Il existe une DFE qui n'est pas issue d'une clé et qui détermine un attribut appartenant à une
clé. Pour avoir un schéma relationnel en BCNF, il faut:

Personne (N°SS, Region, Nom)


Region (Region, Pays)

Remarquons que les DF n'ont pas été préservées par la décomposition puisque N°SS et Pays
ne déterminent plus Région.

Vous aimerez peut-être aussi