Nothing Special   »   [go: up one dir, main page]

Chapitre II

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 13

Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION

Chapitre II : MODELE RELATIONNEL-NORMALISATION DE


RELATION

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).

Ces trois informations constituent le schéma ou « intention » de la relation.

La population ou « extension » d’une relation est constituée de l’ensemble des tuples de la


relation.

On appelle schéma d’une BDR (BD relationnelle) l’ensemble des schémas de ses relations.

On appelle BDR l’extension de toutes 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 :

FOURNITURE ( NF, NP, Date, NomF, AdrF,designationP , QTE )

dont l’extension est la suivante :

NF NP NomF Date AdrF designationP QTE


01 A Ali 01/05/1985 Béjaia Pain 205

Cet exemple soulève plusieurs types de problèmes :

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

3. Anomalies d’insertion : on n’enregistre pas l’adresse d’un fournisseur, si on n’achète pas


au moins une pièce à ce fournisseur.

4. Anomalies de suppression : si on supprime toutes les pièces proposées par un fournisseur


ce dernier n’apparaît plus.

Le schéma précédent peut se décomposer selon deux schémas :

Fournisseur (NF,NomF, AdrF) , Produit (NP, DesignationP) et Livraison (NF,NP,date, Qte)

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).

4- Concept de dépendance fonctionnelle(DF)


Une Dépendance fonctionnelle (DF) sur un schéma relationnel R, est une proposition de la
forme Si , pour tous tuples t1 et t2 de R qui ont la même valeur pour l’attribut A, on a t1 et t2
qui ont les même valeurs pour l'attribut B, alors on dit que A déterminé fonctionnellement B, ou
bien B dépend fonctionnellement de A, et on note : A → B. A est appelé : Prémisse, et B :
conclusion.

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.

5- Propriété des dépendances fonctionnelles : Axiomes d'Armstrong


Soit A, B, C, D des sous-ensembles quelconques d'attributs d'une relation donnée R.
Notons AB l'union de A et de B. Les règles permettant de produire d nouvelles DF à partir

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

D’autres règles peuvent se déduire de ces axiomes :

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

6- La fermeture d'un ensemble d'attributs


Soit X un ensemble d’attribut et F un ensemble de dépendances fonctionnelles. On appelle
fermeture de X sous F, notée X+, l'ensemble des attributs de R qui peuvent être déduits de X
à partir de F en appliquant les axiomes d'Armstrong. Ainsi, Y sera inclus dans X+ ssi X → Y.

Algorithme de Calcul de la fermeture d'un ensemble d'attributs :

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é.

1. Montrer en utilisant la notion de fermeture d'attributs que AB → E.


(AB)+={A, B, C, D, E, G, H} comme E ⋲ (AB)+ donc AB → E

7- Types de dépendances fonctionnelles

7.1 Dépendance fonctionnelle élémentaire (L-Réduite: Réduite à gauche)


Une dépendance fonctionnelle X→ Y est dite élémentaire ou réduite à gauche, si Y ne dépend
pas fonctionnellement d’une partie de X, c-à-d :

1. Y est un sous d’attributs n’appartenant pas à X ;


2. ∄ 𝑋′ ∈ 𝑋/ tel que X’ → Y,
en d'autres mots :
1. Y est un sous d’attributs n’appartenant pas à X ;
2. ∀ 𝑋′ ∈ 𝑋 : Y ∉ X'+ .

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.

7.2 Dépendance fonctionnelle canonique


Une dépendance fonctionnelle X→ Y est dite canonique si Y se compose que d’un seul
attribut.

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 canonique.
2. A→BC : DF non canonique
3. AB→C : canonique

7.3 Dépendance fonctionnelle triviale


Une dépendance fonctionnelle X→A est dite triviale si et Seulement si :

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
}

8- La couverture minimale d'un ensemble de DFs

Un ensemble de DF F est dit couverture minimale, si aucune DF f de F ne peut être déduite


à partir de F en appliquant les propriétés des DFs.

Algorithme de calcul de couverture minimale


1. Mettre F sous forme canonique : décomposer chaque DF de façon à avoir un seul
attribut à droite. ( En utilisant la Décomposition)
2. Réduire à gauche les DF non élémentaires : Pour toute DF X → Y, s’il existe un Z ⋲ X
tel que Y ⋲ Z+ alors : remplacer la DF X → Y par la DF Z→Y
3. Supprimer les DF redondantes (qu’on peut obtenir par calcul à base des axiomes
d’Armstrong à partir des autres DF)

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 :

Soit la relation R ( A, B, C, D, E) avec les DF F ={A→B, AB→C, B→DE, A→D } .


Donner une couverture minimale de F.

On applique l’algorithme :

Etape1 : Mettre F sous forme canonique :


F 1= {A→B, AB→C, B→D, B→E, A→D}

Etape2 : Réduction à gauche des DF de F :


Pour les DF A→B, B→D, B→E, A→D} elles sont toutes réduite à gauche
On va tester si AB→C est réduite à gauche ou pas c-à-d s’il existe un Z ⋲ {AB} tel que C ⋲ Z+
alors: A+={A, B, C, D, E}; on voit que C ⋲ A+ donc B est un attribut accessoire on peut donc le
supprimer, et remplacer la DF AB→C par A→C
F 2= {A→B, A→C, B→D, B→E, A→D}

6 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION

Etape3 : Supprimer les DF redondante de F :


Les DF : A→B, A→C, B→D, B→E ne sont pas redondantes par contre A→D l’est :
A→B et B→D par transitivité on a A→D.
La couverture minimale F ‘ = {A→B, A→C, B→D, B→E }

Exemple2 :

Soit R (A, B, C, D, E). F = {A →B, BC →D, AC →BDE, D →E}

Etape1: Mettre sous forme canonique F:


A →B, BC →D, AC →B, AC →D, AC →E, D →E

Etape2: Réduction à gauche des DF de F:


Les DF A →B et D →E sont réduite à gauche, vérifions pour les DF BC →D, AC →B, AC →D,
AC →E
1. BC →D : B+= {B}, C+={C}, D n'appartient ni à B+ ni à C+ donc la DF BC →D est réduite
à gauche.
2. AC →B : A+= {A, B}, B⋲ A+ l’attribut C est accessoire, la DF AC →B est remplacée par
A→B
3. AC →D : A+= {A, B}, C+={C}, D n'appartient ni à A+ ni à C+ donc la DF AC →D est
réduite à gauche.
4. AC →E : A+= {A, B}, C+={C}, E n'appartient ni à A+ ni à C+ donc la DF AC →E est réduite
à gauche.
F = {A →B, BC →D, A →B, AC →D, AC →E, D →E}

Etape3: Supprimer les DF redondante de F:

1. La DF (A →B) est redondante.


2. La DF (AC →D) est déduite (redondante) car :
A →B =>(Augmentation) AC →BC et on a BC →D => (Transitivité) AC →D
3. De même (AC →E) est déduite car :
A→B => (augmentation) AC → BC, BC→D =>(Transitivité) AC → D, D →E =>
(Transitivité) AC→E.
Donc la couverture minimale est : F '={A →B, BC →D, D →E}

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

F ’= {AB→C, B→E, E→D, C→E}.

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 :

F 1 = {A→C, C→B, C →D, D→C, D→E}


F2 = {A→D, C→B, C →D, D→C, C→E}

9- Graphe de DFs

Un Graphe des dépendances est un ensemble de nœuds et d’arcs tels que :


1. Chaque nœud du graphe est un attribut atomique, ou non.
2. Chaque arc du graphe est une dépendance fonctionnelle.
3. Les arcs sont orientés.
Dans le cas où toutes les DFs sont non déduite, on obtient un graphe minimum 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é

Notion de clé minimale


Soit R (A1, ..., An) une relation. X un sous ensemble de {A1, ..., An}. On dit que X est une « clé
minimale » de la relation R, si X respecte les deux contraintes suivantes :
1. Unicité. Deux tuples distincts de R ne peuvent avoir même valeur de X.
2. Irréductibilité (ou minimalité). Il n’existe pas de sous-ensemble strict de X
garantissant la règle d’unicité.
En d’autres mots :
1. X → A1 ... An (X+=Attr(R)), et
2. ∄ 𝑋′ ∈ 𝑋/ tel que X’ → A1 ... An (X’+=Attr(R)).

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.

11- Propriété des clés minimales

Soit R une relation et F un ensemble de DF. Alors :

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.

12- Décomposition des relations

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 :

12-1 Décomposition sans perte d’information


Une décomposition est dite sans perte d’information si la jointure naturelle des sous-
relations calcule exactement tous les tuples de la relation initiale. Autrement dit, si on a :
R A B C D
R = R1 R2 ... Rn . a 5 x 2
b 5 y 1
Considérons la relation R ci-contre. Cette relation a pour schéma R (A, B,
C, D). c 5 x 2

9 Dr Z. TAHAKOURT
Bases de données MODELE RELATIONNEL-NORMALISATION DE RELATION

Cas 1 : si on décompose R en R1(A,B) et R2(B,C,D). R1 A B R2 B C D


a 5 5 x 2
Cette décomposition n'est pas sans perte d’information
b 5 5 y 1
puisque R n’est pas égale à R1 R2.
c 5
Cas 2 : Par contre, si l'on décompose R en R1 R1 A B C R2 A D
(A, B, C) et R2 (A, D), on obtient une a 5 x a 2
décomposition sans perte d’information car
b 5 y b 1
R = R1 R2.
c 5 x c 2

12-2 Décomposition sans perte de dépendances fonctionnelles

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.

Reprenons l'exemple. La relation R(A,B,C,D) avec l'ensemble de DF F ={A → BC,C → D,D →


B} La décomposition de R en R1(A,B,C) et R2(A,D) ne préserve pas les DF. En effet F1,
ensemble des DF qui portent sur les attributs de R1 est {A → BC} et l'ensemble F2 des DF qui
portent sur les attributs de R2 est vide.

13- Les formes normales


13.1 Les types d’attributs
1. Attribut simple = non divisible (ex. âge).
2. Attribut composé = subdivisé en attributs simples sous forme d’une hiérarchie
(exemple : adresse postale = rue + code postal + ville + pays).
3. Attribut monovalué = qui a une seule valeur par tuple.
4. Attribut multivalué = qui a plusieurs valeurs par tuple (Possibilité d’imbriquer
composition et multivaluation ⇒ objets complexes).
5. Attribut dérivé = dont la valeur est calculée (ex. prix T.T.C. à partir du prix H.T.).

Exemple

Soit la relation Etudiant suivante

Etudiant (matricule, nom, prenom, adresse, n°rue, nomrue, datenaissance, journais,


moisnais, anneenais, {telephones})

13.2 La première forme normale (1FN)


Une relation est dite en première forme normale (1FN) , si tous ses attributs sont simples et
mono-valués.

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 :

Département (N°Dpt, NomDpt) et Localisation ( N°Dpt, LieuDpt)

Département N°Dpt NomDpt Localisation N°Dpt LieuDpt


1 Recherche 1 Alger
2 Administration 1 T.Ouzou
3 Commerce 2 Oran
3 Alger
3 Annaba
13.3 La deuxième forme normale (2FN)

Soit R une relation. On dit que R est en 2FN, s :

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

Soit la relation Livraison ( NF, NP, Prix, AdrF, TelF)

F ={NP,NF → Prix ; NF→ AdrF ; NF→ TelF}. Livraison est-elle en 2FN ?

(NP,NF)+=Attr(Livraison) ; NP+ Attr(Livraison) ; NF+ Attr(Livraison) donc


(NP,NF) est l’unique clé minimale de Livraison.

Livraison n’est pas en 2FN car il existe un attribut non clé(AdrF) qui dépend
d’unepartie de la clé(NF).

La relation Livraison peut être décomposée en 2 relations de 2FN :

Produit (NP, NF, Prix) et Fournisseur (NF, AdrF, TelF).

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.

13.4 La troisième forme normale (3FN)

Soit R une relation. On dit que R est en 2FN, s :

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

Soit la relation R (A, B, C) avec F ={A→B, B→C}. R est-elle en 3FN ?


On va vérifier si R est en 2FN : la clé minimale de R est A. Oui R est en 2FN.
Non R n’est pas en 3FN, car l’attribut non clé C dépend d’un autre attribut non clé
(B).

Exemple2

Soit la relation R(A,B,C) avec F ={A→B, BC→A}. R est-elle en 3FN ?


On va vérifier si R est en 2FN :
R comporte deux clés minimales : BC et AC.
Si on choisit AC comme Clé primaire, R serait en 1FN mais pas en 2FN.
Si on choisit BC comme Clé primaire, R serait en 1FN, 2FN et en 3FN.

13.4.1 Algorithme de décomposition d’une relation non 3FN en


plusieurs relations 3FN

Entrée :R : schéma de relation et F : ensemble de DFs

Sortie : Ri [Attr(Ri) ; Fi] relations de 3FN.

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

Calculons la couverture minimale de R : F’= {A→B, A→D, BC→D, D→E}


Trouvons la ou les clés minimales de R :
AC ne figure pas sur les prémisses des DF donc AC appartient à toutes les clés min.

(AC)+=Attr(R) ; A+ attr(R) ; C+ attr(R), donc AC est l’unique clé minimale de R.


R n’est pas en 2FN car il existe un attribut non clé qui dépend d’une partie de la clé
AC (A→B).
Donc R n’est pas en 3FN également.
On va décomposer R en suivant l’algorithme de décomposition, et on obtient :
R1[(A,B,D) ;{A→B, A→D}] ; R2[(B,C,D) ;{ BC→D}]; R3[(D, E) ;{D→E}]
Comme la clé AC ne figure dans aucune des 3 relations alors on ajoute la relation
RZ[(A,C) ; {AC→AC}]

Remarque très importante : l’algorithme de décomposition en relations de 3FN


garantit une décomposition sans perte d’information et sans perte de DFs.

13.5 La forme normale de BOYCE-CODD(BCNF)

Une relation est dite en forme normale de BOYCE-CODD (BCNF), si

1. Elle est en 1FN ;


2. Toutes les DFs sont de la forme Clé primaire→ attribut.

Exemple1

Soit le schéma relationnel R (A, B, C, D, E) satisfaisant les DFs F F = {A B→ C, AB →


D, C → A }
Quelle est la FN de R ? Proposer une décomposition en BCNF.

Il y a deux clé candidates : AB et CB.


Sion choisit BC comme clé primaire : R non 2FN
Sion choisit AB comme clé primaire : R en 3FN mais pas en BCNF. On obtient la
décomposition R1 [(A,B,C,D);{ A B→ C, AB → D }] et R2 [(C,A);{ C → A }] où R1, R2
en BCNF.

13 Dr Z. TAHAKOURT

Vous aimerez peut-être aussi