INTRODUCTION
AUX BASES DE DONNEES
Dépendances et normalisation
Cours 5
Université Panthéon-Assas Paris 2
L2 Economie-Gestion
Besoin de normalisation
La relation R(produit,client,adresse,quantité_com,prix_unit,montant)
produit client adresse Quantité_com Prix_unit montant
Shampooing Dupuis Lille 10 5 50
Crème Dupuis Lille 150 3 450
Mousse à raser Dupuis Lille 20 4 80
Shampooing Martin Marseille 15 5 75
Mousse à raser Dubois Paris 50 4 200
Shampooing Dupont Lyon 30 5 150
Remarques
Quand un client fait plusieurs commandes, il y a redondance du couple (client,
adresse)
Si le client change d’adresse, il faut changer plusieurs lignes
Augmentation du temps de mise à jour
Augmentation des risques d’incohérence Anomalie de modification
Si un produit n’a pas été commandé, on ne connaît pas son prix
Anomalie d’insertion
Si Martin annule sa commande, on perd son nom et son adresse
Si un produit ne figure que dans une seule ligne et qu’on supprime la ligne
Perte d’informations Anomalie de suppression
Si on insère la ligne Shampooing, Dubois, Dijon, 5, 5, 25, le système ne
détectera pas que Dubois a 2 adresses différentes
R1(code_client,client,adresse)
R2(code_produit,produit,prix_unit)
R3(code_commande,code_client,code_produit,quantité_com)
Une représentation cohérente
code_client client adresse code_produit produit prix_unit
CL001 Dupuis Lille P0001 Shampooing 5
CL002 Martin Marseille P0002 Crème 3
CL003 Dubois Paris P0003 Mousse à raser 4
CL004 Dupont Lyon
code_commande code_client code_produit quantité_com
C0001 CL001 P0001 10
C0002 CL001 P0002 150
C0003 CL001 P0003 20
C0004 CL002 P0001 15
C0005 CL003 P0003 50
C0006 CL004 P0001 30
La normalisation
But : fixer des règles permettant de passer de la 1ère représentation à
la 2ème
Normaliser une relation : représenter la relation sous une forme qui
respecte des critères assurant l’intégrité des données (évitant ainsi au
concepteur de la base un certain nombre d’erreurs graves)
Dépendance : contrainte exprimée par une règle que doivent vérifier
les données pour que la base de données soit dans un état cohérent
Théorie de la normalisation repose sur l’analyse des dépendances
entre attributs. Elle propose des méthodes systématiques visant à
décomposer les relations afin qu’il soit toujours possible de reconstituer
la relation originale par l’opération de jointure
3 types de dépendances : dépendances fonctionnelles, dépendances
multivaluées et dépendances jonctionnelles
Dépendances fonctionnelles DF
Définition 1
Soit R une relation, A l’ensemble des attributs et X, Y des sous-
ensembles de A. Par définition, il existe une dépendance
fonctionnelle entre X et Y (notée XY) si dans la relation R, chaque
valeur de X détermine une et une seule valeur de Y
Exemples : client adresse
(prix_unit,quantité_com) montant
3 relations : vol(numvol,depart,arrivee,numav,numpil,jdep,hdep,jarr,harr)
pilote(numpilote,nom,prenom)
numvol=V0010
avion(numavion,type,cap)
numpil=P0005
numvol numpil
numvol=V0010
Numvol est appelé source de la DF
numpil=P0001
Numpil est appelé but de la DF
Dépendances fonctionnelles DF
Définition 2 : clé d’une relation
Quand dans une relation, un attribut ou un groupe d’attributs est source
de dépendances fonctionnelles ayant respectivement pour buts chacun
des autres attributs de la relation, cet attribut ou groupe d’attributs est
appelé Clé de la relation
Exemple : vol(numvol,depart,arrivee,numav,numpil,jdep,hdep,jarr,harr)
8 DF de source numvol :
numvol depart numvol jdep
numvol arrivee numvol hdep
numvol numav numvol jarr
numvol numpil numvol harr
numvol est la clé de la relation vol
Un attribut est appelé attribut clé s’il appartient à au moins une clé de R
Un attribut est appelé attribut non clé s’il n’appartient à aucune clé de R
Dépendances fonctionnelles DF
Définition 3 : DF élémentaire
Soit X un groupe d’attributs et Y un attribut unique n’appartenant pas à
X. La dépendance fonctionnelle X Y est dite élémentaire si Y ne
dépend pas aussi d’un sous-ensemble de X
X est la plus petite quantité d’information permettant de
déduire Y
Si une clé est composée de plusieurs attributs, les DF dont
la clé est la source sont dites élémentaires si aucun sous-
ensemble de la clé ne suffit pour être source de la DF
Dépendances fonctionnelles DF
Définition 4 : DF directe
Une DF de source A et de but B est dite directe s’il n’existe pas
d’attribut C tel que
A C
Et
C B
Dépendances fonctionnelles DF
Propriétés
Axiomes d’Amstrong
Réflexivité Si XY alors YX
Augmentation Si XY alors X,W Y,W
Transitivité Si XY et YZ alors XZ
A partir des axiomes, on peut déduire les règles
Union Si XY et XZ alors XY,Z
Décomposition Si XY,Z alors XY et XZ
Pseudo-transitivité Si XY et W,YZ alors W,XZ
Dépendances fonctionnelles DF
fermeture transitive
On a besoin de connaître tous les attributs d’une relation qui
dépendent fonctionnellement d’autres.
il faut faire toutes les déductions possibles en utilisant les
règles d’Amstrong et les règles dérivées
on calcule la fermeture transitive des DF : F+
La fermeture transitive F+ d’un ensemble F de
dépendances fonctionnelles est l’ensemble des DFE qui
peuvent être produite par application des règles
d’Amstrong et des dérivées sur l’ensemble F
Normalisation des relations
Définition 5- relation normalisée
Définition 6- 1ère Forme Normale
Une relation est normalisée si un même attribut n’est pas
représenté plusieurs fois (même avec des valeurs
différentes) et si un même attribut n’est pas
décomposable en d’autres attributs
Toute relation normalisée est dite en 1ère Forme
Normale
Relation non normalisée - exemple
nom diplôme enfants
prénom date naissance
Dupuis bac Luc 1986
licence André 1989
Dupont bac Jeanne 1991
ingénieur Lucie 1995
La relation n’est pas normalisée
• L’attribut enfants est décomposable en 2 attributs
• L’attribut diplôme est représenté plusieurs fois pour
une même personne
Relation 1ère Forme Normale - exemple
La relation vente(num-client,num-article,nom-client,nom-article) où
le couple (num-client,num-article) est la clé est normalisée donc en
1ère Forme Normale
Les DF : (num-client,num-article) nom-client
(num-client,num-article) nom-article
Inconvénients de la 1ère Forme Normale
Certaines dépendances fonctionnelles élémentaires qui devraient
exister n’existent pas :
num-client nom-client
num-article nom-article
introduction sans possibilité de détection d’anomalies des occurrences
(23,A10,Durand,lit) (23,A15,Laurent,table) et (35,A10,Michel,table)
Normalisation
définition 7 : relation en 2ème Forme Normale
Une relation est en 2ème Forme Normale si et seulement
si elle est en 1FN et si tous les attributs non clés sont
pleinement dépendants des clés (toutes les dépendances
entre une clé et un attribut non clé sont élémentaires)
ou
Une relation est en 2ème Forme Normale si toutes les
DF issues de la clé sont élémentaires (aucun sous-
ensemble de la clé ne suffit pour être source de la DF)
Relation qui n’est pas en 2ème Forme
Normale - exemple
La relation
vente(num-client,num-article,nom-client,nom-article) est en
1ère Forme Normale mais pas en 2ème Forme Normale
Des DF : (num-client,num-article) nom-client
(num-client,num-article) nom-article
On peut extraire les DF élémentaires
num-client nom-client
num-article nom-article
num-clientnom-client
num-clientnum-représentant
num-clientnom-représentant
Relation en 2ème Forme Normale -
Exemple
La relation représentant(num-client, nom-client,num-
représentant,nom-représentant)
est en 2ème Forme Normale car les 3 DF qui en découlent sont
élémentaires num-clientnom-client
num-clientnum-représentant
num-clientnom-représentant
Inconvénients de la 2ème forme normale
La DF num-clientnom-représentant n’est pas directe puisqu’on a
num-clientnum-représentant et qu’il existe une DF naturelle
num-représentantnom-représentant
introduction sans possibilité de détection d’anomalies des occurrences
(10,Berger,R10,Dupuis) et (11,Dupont,R10,Durand)
Normalisation
définition 8 : relation en 3ème Forme Normale
Une relation est en 3ème Forme Normale si elle est déjà
en 2ème Forme Normale et si toutes les DF issues de la
clé sont directes
Aucune DF n’est issue d’un sous-ensemble de la clé
Aucune DF n’est issue d’un attribut non clé vers un
attribut non clé
Relation en 3ème Forme Normale -
Exemple
Les relations
client(num-client, nom-client,adresse)
vente(num-commande,num-article,quantité)
sont en 3ème Forme Normale
On a les DF directes et élémentaires
num-clientnom-client
num-clientadresse
num-commande,num-articlequantité