Académique Documents
Professionnel Documents
Culture Documents
1
Plan
1. Normalisation
2. Dépendance fonctionnelle
2
Normalisation
Objectifs de la normalisation
Problèmes :
• Si l’on souhaite mettre à jour l’adresse d’un fournisseur, il faut le
faire pour tous les tuples concernés.
• Pour ajouter un nouveau fournisseur, il faut obligatoirement fournir
des valeurs pour "Code" et "Quantite".
• La suppression du produit 104 fait perdre toutes les informations
concernant le fournisseur 902.
→ Pour faire face à ce genre de problèmes, on a recours à la normalisation. 3
Dépendance fonctionnelle
Définition
Dépendance fonctionnelle
Soit R(X, Y, Z) une relation où X, Y, et Z sont des ensembles
d’attributs. Z peut être vide. On dit que Y dépend fonctionnellement de
X ou X détermine Y noté (X→Y) si étant donné une valeur de X, il lui
correspond une valeur unique de Y (quelque soit l’instant considéré).
Exemple : Soit la relation PRODUIT(Code, Designation, PU)
Code→Designation ; Designation→PU ; Code→PU
4
Propriétés des dépendances fonctionnelles
5
Propriétés des dépendances fonctionnelles
5
Propriétés des dépendances fonctionnelles
5
Propriétés des dépendances fonctionnelles
5
Propriétés des dépendances fonctionnelles
5
Propriétés des dépendances fonctionnelles
5
Propriétés des dépendances fonctionnelles
5
DF élémentaire
Définition
Une DF de la forme X , Y → Z est élémentaire si ni X → Z ni Y → Z ne
sont des DF. Autrement dit, tous les attributs à gauche sont nécessaires
pour déterminer l’attribut à droite de la flèche.
Exemple
• La dépendance fonctionnelle CIN, NV → dateAchat est élémentaire.
• La dépendance fonctionnelle CIN, NV → marque n’est pas
élémentaire car le numéro voiture (NV) seul suffit pour déterminer la
marque (NV → marque est une DF).
6
DF directe
Définition
Une dépendance fonctionnelle X → Z est directe si elle n’est pas déduite
par transitivité, c’est-à-dire qu’il n’existe pas un attribut Y tel que
X → Y et Y → Z .
Exemple
• La dépendance fonctionnelle NV→modèle est une DF directe.
• La dépendance fonctionnelle modèle→marque est une DF directe.
• La dépendance fonctionnelle NV→ marque est une DF indirecte (elle
peut être déduite à partir des deux DF précédentes)
7
Graphe de DF
Pour chaque relation, il faut connaître les DF. Il est facile alors de les
représenter sous forme de graphe : Graphe des DF.
Dans ce graphe, les sommets sont des attributs et un arc relie l’attribut A
à l’attribut B si et seulement si A → B.
Exemple 1 :
T(A,B,C,D, E) avec DF= {E → A, E → B, E → C, C → D }
E
Z
Z
= ~
Z
A ? C
B Z
Z
~
Z
D
8
Graphe de DF
Exemple 1 :
Soit la relation «Commande» ayant le schéma suivant :
Commande(numcde, datecde, montant, numC, nomC, adresseC)
Il est évident que l’attribut «numcde» permet d’identifier la date
«datecde», le montant total d’une commande ainsi le numéro du client
qui a passé la commande. A partir de ce numéro, on peut connaitre les
autres informations relatives au client à savoir son nom et son adresse.
• Notons F, l’ensemble des dépendances fonctionnelles entre les attributs
de la relation «Commande» :
F={numcde → datecde ; numcde → montant ; numcde → numC ; numC
→ nomC ; numC → adresseC}
numcde
Z
Z
=
~
Z
datecde ? numC
montant Z
Z
~
Z
? adresseC
nomC 9
Fermeture transitive
10
Fermeture transitive
Définition
La couverture minimale associée à un ensemble d’attributs est un
ensemble F de dépendances fonctionnelles vérifiant les deux propriétés
suivantes :
Exemple
Soit l’ensemble F définit comme suit : F = {numcde → datecde; numcde →
montant; numcde → numC ; numC → nomC ; numC → adresseC }
F est une couverture minimale pour l’ensemble des attributs de la relation «
Commande » définie ci-dessus. La couverture minimale va constituer un élément
essentiel pour composer des relations sans pertes d’information directement à partir
des attributs.
12
Clé d’une relation
• X → A1 , A2 , . . . , An
• Il n’existe pas de sous-ensemble Y de X tel que Y → A1 , A2 , . . . , An
Une clé est donc un ensemble minimal d’attributs qui détermine tous les
autres.
13
Les formes normales
Première forme normale (1FN)
Définition
Une relation est en première forme normale (1FN) si chaque valeur de
chaque attribut de chaque tuple d’une relation R est une valeur simple
(tous les attributs sont simple et monovalués). C.à.d. si tout attribut est
atomique.
Exemple
Soit la relation Fournisseur ayant le schéma suivant :
Fournisseur (numF , nomF , adresse)
Cette relation n’est pas en 1FN si l’attribut adresse est elle-même
composée de la manière suivante (rue, ville, codePostal).
Dans ce cas, le principe de passage en 1FN consiste à créer autant de
champs que ceux composant l’adresse, ce qui donne le schéma suivant :
Fournisseur (numF , nomF , rue, ville, codePostal)
14
Deuxième forme normale (2FN)
Définition
Une relation est en deuxième forme normale (2FN) si :
Exemple :
15
Troisième forme normale (3FN)
Définition
Une relation est en troisième forme normale (3FN) si :
Exemple :
16
Forme normale de Boyce-Codd (BCFN)
Définition
Une relation est en forme normale de Boyce-Codd (BCFN) si :
17