Vous êtes sur la page 1sur 6

Mme Grissa.

A Chap6 Dépendance Fonctionnelles et Normalisation dans LES BDR

Chap6 Dépendances Fonctionnelles Et Normalisation


Dans Les Bases De Données Relationnelles

1. Inconvénients Soulevés Par Une Mauvaise Perception Du Réel


L'Approche par Décomposition, pour concevoir des schémas relationnels tend à partir
d'une relation composée de tous les attributs, appelée la Relation Universelle, et à décomposer
cette relation en sous-relations qui ne souffriraient pas des anomalies telle que la redondance des
données, l'incohérence des données, etc.
Le processus, est un processus de raffinement successif qui doit aboutir (au moins on l'espère) à
isoler des entités des associations du monde réel.
Il doit être réalisé par un algorithme, à partir d'une bonne compréhension des propriétés sémantique
des données.

Définition
Une Décomposition d'une relation R(A1,A2, …, An) est un remplacement de la relation R
par une collection des relations R1,R2, …, Rn obtenues par des projections de R et telles que la
relation résultat des jointures ( R1 R2 . . . Rn ) , ait même schéma que R.
Exemple

NV Marque Type Puissance Couleur


872 TN 75 Renault R12TS 6 Bleue
872 TN 80 Renault R12TS 6 Rouge

Deux décompositions possibles pour cette Relation:

Décomposition1
R1 R2
NV Type Couleur Type Marque Puissance
872 TN 75 R12TS Bleue R12TS Renault 6
872 TN 80 R12TS Rouge

Décomposition2
R1 R2 R3
NV Type Type Puissance Couleur Type Marque
872 TN 75 R12TS R12TS 6 Bleue R12TS Renault
872 TN 80 R12TS R12TS 6 Rouge

La Décomposition1 permet de retrouver toutes les informations par jointure.


La Décomposition2 ne permet pas de retrouver la couleur de la voiture Perte d'information.

Définition
Une Décomposition sans perte est la décomposition d'une relation R en R1,R2, …, Rn
telle que pour toute extension de R, on ait R= R1 R2 … Rn .

2. Dépendance Fonctionnelles
2.1 Notion de Dépendance Fonctionnelle
La notion de Dépendance Fonctionnelle ( DF ) est introduite par CODD [Codd 70] afin de
caractériser des relations qui peuvent être décomposées sans perte d'informations.
1
Mme Grissa.A Chap6 Dépendance Fonctionnelles et Normalisation dans LES BDR

Définition1
Soit la relation R(A,B,C,D), on dit que:
- qu'il y a une dépendance Fonctionnelle entre le constituant A et B ,
ou - que le constituant A détermine le constituant B ,
ou - que le constituant B dépend du constituant A ,
ssi à partir d'une valeur a  DA , on peut associée une valeur b unique  DB .

Notation:
Par convention, la dépendance Fonctionnelle entre A et B est notée A  B

Définition2
Soit R(A1,A2, …, An) un schéma de relation, et X et Y deux sous-ensembles de (A1,A2, …, An).
On dit que X  Y ( X détermine Y , ou Y dépendant Fonctionnellement de X )
si
pour toute extension r de R, pour tout tuple t1 et t2 de R on a
t1[X] = t2[X]  t1[Y] = t2[Y] .
(  (t1 , t2 )  r2 , t1[X] = t2[X]  t1[Y] = t2[Y] )

Intuitivement
On dira qu'un attribut ou qu'une liste d'attributs Y dépend fonctionnellement d'un attribut ou d'une
liste d'attribut X dans une relation R, si étant donnée une valeur de X, il ne lui est associé qu'une
seule valeur de Y dans toute extension de R.

Exemple
Soit la relation Employé (Nas, Nom, Prénom) ;
Nas  Nom (Nas détermine Nom)
Nom / Nas (Nom ne détermine pas Nas)

2.2 Propriétés des Dépendances Fonctionnelles


Les DF obéissent à plusieurs règles d'inférences triviales.

1. Réflexivité : Y  X  X  Y
Cette règle stipule que tout ensemble d'attributs détermine, lui-même, ou une partie de lui-même.
2. Augmentation : Si on X  Y   Z on a : X Z YZ ou XZ Y
Cette règle signifie que si X détermine Y, les deux ensembles d'attributs peuvent être enrichis
par un même attribut.
3. Transitivité : X  Y et Y  Z  X  Z

Les trois règles : Réflexivité, Augmentation et Transitivité composent les axiomes de


dépendances Fonctionnelles et sont connues sous le nom de : " Axiomes de Armstrong"
[Armstrong 74] .

Plusieurs autres règles se déduisent des axiomes:


4. Union : X  Y et X  Z  X  YZ
5. Pseudo-Transitivité : X  Y et WY  Z  WX  Z
6. Décomposition : X  Y et Z  Y  X  Z

A partir de ces règles, il est possible d'introduire la notion de Dépendance Fonctionnelle élémentaire
[Melkanoff 82]

2
Mme Grissa.A Chap6 Dépendance Fonctionnelles et Normalisation dans LES BDR

Définition
On dit qu'il y a une Dépendance Fonctionnelle Elémentaire entre un constituant A et un
constituant B ssi
- il existe une Dépendance Fonctionnelle Simple entre A et B (A  B),
et - il n'existe pas un X, avec X  A tel que X  B

Définition
On dit qu'il y a une Dépendance Fonctionnelle Directe entre un constituant A et un constituant B
ssi
- il existe une Dépendance Fonctionnelle Simple entre A et B (A  B),
et - il n'existe pas un Y, tel que A  Y et Y  B . (B ne dépend pas transitivement de A)

2.3 Graphe des Dépendances Fonctionnelles


Définition:
Soit F un ensemble de Dépendances Fonctionnelles Elémentaires. F peut être représenté à
l'aide d'un Graphe dont
- les Nœuds sont les attributs impliqués dans les dépendances
et - les Arcs , les dépendances elles mêmes.
Les arcs sont orientés de la partie gauche de la dépendance vers la partie droite.

Intérêt de la représentation graphique


L'intérêt de la représentation graphique est multiple. D'une part, des algorithmes dits de
synthèse de schémas relationnels s'appuient sur une telle représentation et d'autre part, elle est
appropriée pour l'établissement de propriétés formelles des dépendances.
Ainsi, on pourra par exemple définir l'équivalence de deux ensembles de DF en utilisant la
Fermeture transitive de leur graphe, ou identifier un sous-ensemble minimal de DF, à partir
duquel toutes les autres DF peuvent être engendrées en utilisant les différentes règles de dérivation
présentées ci-dessus.

2.4 Fermeture Transitive et Couverture Minimale


Définition
Soit F un ensemble de DF élémentaires. On appelle Fermeture Transitive de l'ensemble F ,
l'ensemble F+ de DF élémentaires obtenu en ajoutant à F toutes les Dépendances Fonctionnelles
élémentaires obtenues par transitivité.

Définition
Soient E et F deux ensembles de DF. On dit que E est équivalent à F s'ils ont même
fermeture transitive : E+ = F+

Il sera intéressant, donc, de déterminer un sous-ensemble minimum de DF permettant de générer


toutes les autres.
Définition : Couverture Minimale
Soit F un ensemble de DF élémentaires.
La couverture minimale de F est un ensemble F' de DF élémentaires tel que:
- Aucune dépendance dans F' n'est redondante; C'est à dire, pour toute DF f ,
F' - f n'est pas équivalent à F'.
- Toute DF élémentaire des attributs est dans la fermeture transitive de F' ( notée F'+ )

Théorème
Tout ensemble de DF a au moins une couverture minimale.

3
Mme Grissa.A Chap6 Dépendance Fonctionnelles et Normalisation dans LES BDR

La couverture minimale va être un élément essentiel pour décomposer des relations sans perte
d'informations.

3. Notion de clé et trois premières Formes Normales


3.1 Clé d'une relation
La notion de clé de relation est un concept essentiel du modèle relationnel. Bien que la
notion de clé soit bien connue, il est possible d'en donner une définition plus formelle à partir de
celle de DF.
Définition
Une clé est un sous ensemble X des attributs d'une relation R(A1, A2, …, An) tel que:
1. X  A1A2 … An
2. Il n'existe pas de sous-ensemble Y  X tel que Y  A1A2 … An

On peut dire qu'une clé est un ensemble minimum d'attributs qui détermine tous les autres.
Il peut y avoir plusieurs clés pour une même relation; on en choisit en général une comme
clé primaire. On parle parfois de clé candidate pour désigner une clé quelconque.

3.2 Définitions des Trois Premières Formes Normales


Les trois premières Formes Normales ont pour objectifs de permettre la décomposition de
relations sans perdre d'informations, à partir de la notion de DF [Codd72]. L'objectif de cette
décomposition est d'aboutir à un schéma conceptuel représentant les entités et les associations
canoniques du monde réel.

Définition
Une relation en Forme Quelconque (FQQ) correspond à la description d'un objet sous la
forme la plus générale sans respecter aucune règle particulière de représentation.

3.2.1 La Première Forme Normale (1FN)

L'objectif de la Première Forme Normale (1FN) est d'interdire:


- les attributs multi-valués
- les attributs composés
- la combinaison de ces derniers
 Interdiction des Relations dans d'autres Relations.

Définition1
Une relation est dite en Première Forme Normale (1FN)
ssi
Tous les constituants qui sont en dehors de la clé dépendent Fonctionnellement de la clé.

Définition2
Une relation est dite en Première Forme Normale et est notée (1FN)
si chacun de ses attributs à un domaine atomique.

Cette définition exclut donc les relations ayants des attributs dont les valeurs seraient des ensembles
ou des listes de valeurs.
Cette forme Normale est justifiée par la simplicité et l'esthétique. Elle consiste simplement à éviter
les domaines de plusieurs valeurs.

4
Mme Grissa.A Chap6 Dépendance Fonctionnelles et Normalisation dans LES BDR

3.2.2 La Deuxième Forme Normale (2FN)


La Deuxième Forme Normale permet d'assurer l'élimination de certaines redondances en
garantissant qu'aucun attribut en dehors de la clé, n'est déterminé seulement par une partie de la
clé (il doit dépendre de toute la clé et non pas d'une partie de cette clé) .

Définition1
Une relation est dite en Deuxième Forme Normale
ssi
Tous les constituants qui sont en dehors de la clé sont en dépendance Fonctionnelle
élémentaire de la clé.

Définition2
Une relation est dite en Deuxième Forme Normale et est notée (2FN)
ssi
1) Elle est en Première Forme Normale (1FN)
et 2) Tout attribut n'appartenant pas à une clé, ne dépend pas que d'une partie de cette clé.

3.2.3 La Troisième Forme Normale (3FN)


La Troisième Forme Normale permet d'assurer l'élimination des redondances dues aux
dépendances transitives.

Définition1
Une relation est dite en Troisième Forme Normale (3FN)
ssi
Tous les constituants qui sont en dehors de la clé sont en dépendance Fonctionnelle
élémentaire et directe par rapport à la clé.

Définition2
Une relation est dite en Troisième Forme Normale et est notée (3FN)
ssi
1) Elle est en Deuxième Forme Normale (2FN)
et 2) Tout attribut n'appartenant pas à une clé, ne dépend pas d'un attribut non clé.

4. Définition de la Forme Normale de Boyce-Codd (Forme BCNF)


La Troisième Forme Normale permet d'éliminer des redondances dues aux dépendances
fonctionnelles transitives entre les attributs. Néanmoins, cette forme normale ne permet pas
d'éliminer tous les types de redondances.
En 1974, Boyce et Codd ont introduit la forme normale qui porte leurs noms.

Définition
Une relation est en Forme Normale de Boyce-Codd et est notée (BCNF)
ssi
les seules Dépendances Fonctionnelles élémentaires sont celles dans laquelle une clé détermine un
attribut.

Théorème
Toute relation a une décomposition en BCNF sans perte d'informations.

5
Mme Grissa.A Chap6 Dépendance Fonctionnelles et Normalisation dans LES BDR

5. Algorithme de Décomposition en Troisième Forme Normale

Compte tenu des inconvénient des relations en forme quelconque, il est évidemment
souhaitable qu'un schéma relationnel ne comporte que des relations qui soient au minimum en
troisième Forme Normale. L'objectif de cette partie est de présenter un algorithme de construction
de schémas où tous les relations sont en 3FN.

Théorème
Toute relation a au moins une décomposition en 3FN qui est sans perte d'information et qui
préserve les dépendances fonctionnelles.

Principe de l'Algorithme
L'idée de cet algorithme est de synthétiser des schémas relationnels à partir des attributs de
la relation universelle et de ses dépendances fonctionnelles.

Le principe est le suivant:

1. Considérer une couverture minimale des DF,


2. Regrouper les attributs isolés (ceux qui ne sont si source ni cible d'aucun arc du
graphe) dans une relation dont les attributs sont clés,
3. Rechercher le plus grand ensemble X d'attributs déterminant d'autres attributs
X1, … , Xn ,
4. Constituer une relation d'attributs (X, X1, … , Xn ) . Cette relation est forcément en
3FN car X1, … , Xn dépendent fonctionnellement de X et qu'il n'y a pas de
dépendance transitive puisque nous sommes partis de la couverture minimale des
dépendances,
5. Eliminer les dépendances XX1 ,… , XXn de la couverture minimale,
6. Eliminer les attributs isolés dans le graphe,
7. Refaire à partir de (2) jusqu'à ce que le graphe soit vide.

Mise en œuvre pratique de l'Algorithme

La mise en œuvre pratique de l'algorithme consiste à tracer le graphe des dépendances


fonctionnelles puis à regrouper dans une relation toutes les cibles des arcs ayant même source. La
source des arcs constitue la clé de la relation. Ce regroupement est effectué pour tous les arcs de
sources différentes.

Vous aimerez peut-être aussi