Chapitre II
Chapitre II
Chapitre II
Plan du Chapitre
1. Introduction
2. Définitions
3. Concept de normalisation
4. Concept de dépendance fonctionnelle (DF)
5. Propriété des dépendances fonctionnelles : Axiomes
d'Armstrong
6. La fermeture d'un ensemble d'attributs
7. Types de dépendances fonctionnelles
8. La couverture minimale d'un ensemble de DFs
9. Graphe de DFs
10.Clé minimale, clé candidate, clé primaire, clé alternative et
super clé
11.Propriété des clés minimales
12.Décomposition des relations sans perte d’information, sana
perte de DF
13.Les formes normales
DR Z.TAHAKOURT
Maitre de Conférences
Université de Béjaia
1 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
1- Introduction
Le modèle relationnel a été inventé par Mr CODD en 1970. Il est basé sur des
concepts très simples. C’est le modèle de données le plus utilisé par les SGBDs
actuels. C’est un modèle de données plus simple que celui de l’E/A.
2- Définitions
Les objets et associations du monde réel sont représentés par un concept unique qui
est la « relation ». les relations sont des tableaux à deux dimensions appelés « tables ».
Une relation est définie par :
1. Son nom,
2. liste des couples (attribut, domaine),
3. Son (ses) identifiant(s).
On appelle schéma d’une BDR (BD relationnelle) l’ensemble des schémas de ses relations.
On appelle cardinalité (arité) d’une relation le nombre de tuples que son extension contient.
On appelle degré d’une relation le nombre d’attributs que son intension contient.
3- Concept de normalisation
Afin de dégager quelques propriétés d’un schéma relationnel mal conçu, considérons le
schéma de l’exemple suivant sur la livraison des fournitures. Dans cet exemple on voudrait
garder les informations concernant les produits et leurs fournisseurs :
1. Redondance : l’adresse et le nom d’un fournisseur est répétée pour chaque pièce qu’il
fournit
2. Anomalie de mise à jour : lors d’une mise à jour, on risque de modifier l’adresse d’un
fournisseur dans un tuple mais pas dans les autres. Un même fournisseur possèdera
plusieurs adresses !
2 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Le processus de transformation d’une relation posant des problèmes lors des m-à-j en
relations n’ayant pas ces problèmes, est appelé processus de normalisation ou
décomposition.
Cette décomposition élimine les problèmes précédents. En revanche, pour trouver l’adresse
d’un fournisseur qui fournit une pièce donnée, il faut recourir à une jointure entre
Fournisseur, et Livraison. L’opération peut se révéler coûteuse en temps, mais si on doit
choisir entre la cohérence de la base de données et le gain de temps c’est la cohérence qui
prime.
On mesure la qualité d’une relation (ou sa capacité à représenter le monde réel) par son
degré de normalisation. Une relation peut être de la moins bonne à la meilleure : 1FN, 2FN,
3FN, BCNF, 4FN, 5FN,…).
Les procédures qui permettent de décomposer une relation en ″ bonnes relations″, reposent
sur le concept de dépendance fonctionnelle(DF).
Remarque
Si l’attribut A déterminé plusieurs attributs B ,C et D…
On écrit : A → BCD
A B C
Exemple : R (A, B, C)
1 5 4
On a :
2 5 6
A → B ; A → C ; c’est tout. Toutes les autres DF ne sont pas
3 6 6
satisfaites.
3 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
d'un ensemble donné de DF sont les suivantes, et sont connues sous le nom d'axiomes
d'Armstrong.
1. Réflexivité si B ⊆ A, alors A → B.
Cette règle stipule que tout ensemble d’attribut détermine lui-même ou une partie de
lui-même.
2. Augmentation : si A → B, alors AC → BC
A → B
3. Transitivité : si { alors A → C
B →C
A → B
1. Décomposition : si A → BC alors {
A →C
A → B
2. Union : si { alors A → BC
A →C
3. Pseudo-transitivité : si A → B et BC → D alors AC → D
1. initialiser X+ à X,
2. trouver une dépendance fonctionnelle f de F possédant en partie gauche des attributs
inclus dans X+,
3. ajouter dans X+ les attributs placés en partie droite de la DF f,
4. répéter les étapes 2) et 3) jusqu'à ce que X+ n'évolue plus.
Exemple
Soit F = { A → D ; AB → E ; BI → E ; CD → I ; E → C }.
Question : calculer la fermeture, sous F, de AE.
Solution : au départ, (AE)+ = {A,E},
A → D permet d'ajouter D : (AE)+ = {A,E,D}
E → C permet d'ajouter C : (AE) + = AEDC,
CD → I permet d'ajouter I : (AE) + = AEDCI.
Question : calculer la fermeture, sous F, de BE.
Solution : au départ, (BE) + = BE,
E → C permet d'ajouter C : (BE) + = BEC.
Exercice :
4 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Soit F = { AB → C ; B → D ; CD → E ; CE → GH ; G →A }.
1. Montrer en utilisant les axiomes d'Armstrong que AB → E.
B → D => AB → D par augmentation puis décomposition,
AB → C et AB → D => AB → CD par union,
AB → CD et CD → E => AB → E par transitivité.
Remarque : Une DF dont la prémisse est composée d’un seul attribut est toujours
élémentaire.
Quand la DF X→Y n'est pas élémentaire, les attributs contenus dans (X-X') sont appelés
attributs accessoires.
Exemple : Soit une relation R (A, B, C) et F un ensemble de dépendances fonctionnelles.
F = {A →B, A→BC, AB→C}
1. A→B : DF élémentaire.
2. A→BC : DF élémentaire
3. AB→C :
on vérifie A+= {A, B, C} ici on a C ∈ A+ donc la DF AB →C est non élémentaire, et B
est un attribut accessoire.
5 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
1. A ∈ X
Exemple : Soit une relation R (A, B, C). AB → B : DF triviale. A→BC : DF non triviale
4-3 Dépendance fonctionnelle déduite ou redondante
Une dépendance fonctionnelle X→ Y est dite déduite si partant de X on peut arriver à A sans
utiliser la DF X→A. en d’autres mots, X → Y est redondante dans F si elle est conséquence de
F - {X → Y}.
Exemple
R (A, B, C, D) ;
F = {A→B, non déduite
B→C, non déduite
A→C déduite
}
Remarque : Pour chaque ensemble de DF, correspond au moins une couverture minimale (il
peut y en avoir plusieurs, cela dépendra de l’ordre des réductions que l’on effectuera.
Exemple1 :
On applique l’algorithme :
6 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Exemple2 :
Exemple3 :
Soit R (A, B, C, D, E). F = {AB→C, B→E, C→ED, E→D, BC→D}. Montrer que F n’est pas une
couverture minimale. Trouver sa couverture minimale
Exercice :
Soit la relation R ( A, B, C, D, E) avec les Dfs F ={A→CD, C→BDE, D→CE} . Donner deux
couvertures minimales F.
7 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Réponse :
9- Graphe de DFs
Exemple : Soit R (A,B,C,D,E) une relation. F ={AB→C, B→E, C→B, C→E, D→C}
1. Donner le graphe de DF de F.
2. Donner le graphe minimum de DF de F.
10- Clé minimale, clé candidate, clé primaire, clé alternative et super
clé
Si la relation comporte plusieurs clés minimales, celles-ci sont appelées clés candidates, le
modèle relationnel exige que seul une de ces clés candidates soit choisie comme clé primaire
pour cette relation ; les autres clés, s’il y en a, sont appelées clés alternatives.
Soit K une clé minimale d'une relation. On appelle « super clé» d’une relation, un sous-
ensemble d’attributs K’ de la relation, telle que : K⋲K'. C-à-d que K’ est une clé ne
garantissant pas la contrainte de minimalité.
Exemple
On considère la relation Fournisseur (Nom, Article, Prix, Adresse), avec F comme ensemble
de DF
F = {Nom,Article → Prix ; Nom → Adresse}
Montrer que (nom,article) est une clé minimale de fournisseur.
8 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Solution
1- (nom,article)+= {nom, article, prix, adresse}=Attr(Fournisseur)
2- Nom+= {nom, adresse} Attr(Fournisseur)
3- Article+= {article}} Attr(Fournisseur)
Donc, (nom,article) est une clé minimale de fournisseur.
1. Propriét1 : tout attribut de R qui ne figure pas dans les conclusions des DFs doit
appartenir à toutes les clés minimales.
2. Propriét2 : si l’ensemble des attributs de R qui ne figurent pas dans les conclusions
des DFs forment une clé minimale, alors celle-ci est unique.
Exemple
On considère la relation R(A,B,C,D) ; F ={A→BC ; C→B}
Trouver toutes les clés minimales de R.
Solution
Les attributs qui ne figure pas dans les conclusions des DFs, sont : AD. On va donc calculer
(AD)+.
(AD)+ = {A, D, B, C} =Attr(R). D’après la Propriét1 {AD} appartiendrait à toutes les clés min
de R.
A+= {A, B, C} ≠ Attr(R). D+={D} Attr(R). D’après la Propriét2 AD est l’unique clé minimale
de R.
Revenons à notre objectif initial, qui est la décomposition d'une relation afin d'éviter les
redondances et les anomalies qui en découlent. On peut décomposer R en R1,...,Rn en
s’assurant de ne pas perdre de l’information ni de DF. On définit pour cela les deux
propriétés suivantes :
9 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
On aimerait aussi que la décomposition préserve les dépendances fonctionnelles. Si R est une
relation qui satisfait un ensemble de dépendance F, et si R se décompose en R1, ..., Rn, on
note Fi l'ensemble des DF de R qui portent sur Attr(Ri). La décomposition préserve les
dépendances fonctionnelles si (F1 ∪ ... ∪ Fn) est équivalent à F.
Exemple
10 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Remarque : si rien n’est précisé sur les attributs d’une relation, alors ces derniers sont
considérés comme simples et monovalués.
Exemple
N°Dpt NomDpt LieuDpt
On considère une entreprise possédant des 1 Recherche {Alger,
départements éparpiés dans plusieurs régions. T.Ouzou}
2 Administration Oran
On note par Département la relation suivante :
3 Commerce {Alger,
Département (N°Dpt, NomDpt, {LieuDpt})
Annaba}
Cette relation Département n’est pas en 1FN car l’attribut LieuDpt est multivalué. Cependant
il est possible de décomposer la relation Département en 2 relations de 1FN :
1. R est en 1FN ;
2. Les attributs non clé (n’appartiennent pas à la clé primaire) de R, ne
dépendent pas d’une partie de la clé.
Exemple
Livraison n’est pas en 2FN car il existe un attribut non clé(AdrF) qui dépend
d’unepartie de la clé(NF).
Remarque : Dans le cas où une relation possède plusieurs clés candidates, on doit
vérifier la forme normale de la relation par rapport à chacune d’elles successivement.
11 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Une relation peut alors être en 2NF par rapport à une de ses clés candidates, et ne pas
l’être par rapport à une autre.
1. R est en 2FN ;
2. Les attributs non clé (n’appartiennent pas à la clé primaire) de R, ne
dépendent pas d’un autre attribut non clé.
Exemple1
Exemple2
Début
1. Calculer la couverture minimale F ’ de F.
2. Calculer les clés minimales de R
3. Regrouper les DFs de F ’ ayant même prémisse, {Gi→A1 ; Gi→A2 ; … ;
Gi→An}
4. Former des relations Ri [(Gi,A1,A2,…An) ; {Gi→A1, Gi→A1 , …, Gi→An}].
5. Si la clé primaire K de R ne figure dans aucune des relations Ri construite
en 4, alors ajouter une relation RZ[ (K), {K→K}].
6. Fin
12 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION
Exemple
Soit la relation R (A, B, C, D, E) avec F = {A→B, A→D, BC→D, D→E, A→E}. R est-
elle en 3FN ? Sinon proposer une décomposition en plusieurs relations de3FN
Exemple1
13 Dr Z. TAHAKOURT