Вы находитесь на странице: 1из 15

Thorie de la normalisation

1970 CODD IBM San Jose invente le modle relationnel.


- Il montre que certaines proprits smantiques peuvent conduire la
conception de schma avec des comportements anormaux lors de mises jour
- Dmarche pour concevoir un schma sain : normalisation.
- Utilisation de dpendances fonctionnelles.
le concept de relation dcoule directement de la thorie des ensembles.
Vision tabulaire de la relation.
VOITURE: TYPE
206
SCENIC
CLASSE A

MARQUE
PEUGEOT
RENAULT
MERCEDES

CLIENT
C1
C2
C1

REMISE
3%
5%
3%

Thorie de la normalisation :
Approche par dcomposition de la "relation universelle" (tous les attributs
dans une mme relation) en sous-relations.
Schma sans redondances et sans risques d'incohrences lors des mises
1
jour et qui vite le codage de valeurs nulles.

La dpendance fonctionnelle (DF):


Une dpendance XY est dite lmentaire s'il n'existe aucun WX tq WY
- Y est un attribut, X un ensemble dattributs, Y n'est pas inclus dans X
- il n'existe pas W inclus dans X tel que W Y
(X est la plus petite quantit d information donnant Y)
Ex.: l'anne de naissance n'est pas en dpendance fonctionnelle lmentaire par
rapport la date de naissance.
Graphe des dpendances fonctionnelles:
les dpendances fonctionnelles peuvent tre reprsentes par un graphe dont
les nuds reprsentent les attributs et les arcs les dpendances
VOITURE (NVEH, TYPE, COULEUR, MARQUE, PUISSANCE)
N VEH
COULEUR
TYPE

MARQUE
PUISSANCE

TYPE
206
SCENIC
CLASSE A

MARQUE
PEUGEOT
RENAULT
MERCEDES

CLIENT REMISE
C1 3%
C2 5%
C1
3%

TYPE MARQUE
VOITURE, CLIENT REMISE

TYPE
CLIENT
MARQUE

REMISE

La cl :
Sous-ensemble X des attributs d'une relation R (A1, A2, ..., An) tq:
1) X A1 A2 ... An
2) Il n'existe pas de sous-ensemble Y X tel que Y A1 A2 ... An
Ensemble minimum d'attributs qui dtermine tous les autres :
Ex.: NVoiture dans la relation Voiture.
La supercl ou surcl :
Un ensemble dattributs suffisants pour identifier le n-uplet, elle nest pas
ncessairement minimale.
Une cl est une surcl ou supercl minimale.
3
Ex.: NV est une cl pour la relation Voiture et (NV,TYPE) est une supercl.

Rsum: Les conditions dfinissant la cl s'interprtent de la faon suivante:


1) une cl est contenue dans les constituants de la relation.
2) une cl dtermine tous les constituants de la relation (les constituants de R
sont contenus dans la saturation de la cl).
3) une cl est minimale, car tous ses lments sont essentiels et non vide (null)
Chercher la cl:
Dfinition:
- Une source C est constituant de R tq : " f F, C droite(f) cd, quelque
soit la DF f appartenant F (ensemble des DF) lattribut C nest pas
prsent dans la partie droite de la dpendance.
- Un puits C est un constituant de R tq : " f F, C gauche(f) et C n'est
pas une source (constituant isol).
Graphiquement, les sources sont les nuds o aucune arte aboutit et
les puits sont les nuds o aucune arte part.

Exemple:
Sources A et D
Puits F

A B , B CE, D E, E F, C F
A

Dfinition:
Soit K l'ensemble des cls de S = (R ; F)
- si C est un puits alors " k K C k : un puits n'appartient aucune cl.
- si C est une source alors " k K C k : une source toutes les cls.

Si le graphe de dpendances est acyclique alors il existe une seule cl forme


des sources.

Graphe acyclique: les cls sont les sources = AD D

Proprits des Dpendances Fonctionnelles :


Proprits regroupes sous la dnomination daxiomes dAmstrong

1) Rflexivit : si X inclus dans ou gal Y alors Y X


(pour tous les ensembles d'attributs X et Y)
Ex. : NOM VILLE NOM : 2 personnes de mme nom et habitent la

mme ville, ont le mme nom.


2) Transitivit : si X Y et Y Z, alors X Z
Ex. : soit la relation R(NOSS, CODE-P, VILLE)
{NOSS CODE-P, CODE-P VILLE} |= NOSS -> VILLE
Si on connat le code postale partir du numro de scurit sociale et la
ville partir du code postale, on connat la ville partir du numro de
scurit sociale

3) Augmentation : X Y |= XZ YZ
Ex. : NOSS CODE-P |= NOSS VILLE CODE-P VILLE
4) Union et dcomposition : { X A, X B } |= X AB
5) Pseudo-transitivit : { X Y, WY Z } |= WX Z

Les anomalies : R (FNOM, FADRESSE, PNOM, PRIX)


F ={FNOM FADRESSE, (FNOM PNOM) PRIX}

attribut
TOTO
LYON
BRIQUES
1000
nuplet
DUPONT
ROUEN
BRIQUES
900
TOTO
LYON
BETON
400
REDONDANCE : l'adresse d'une personne apparat plusieurs fois.
MAJ : si on modifie l'adresse dans un nuplet, il faut le faire dans les autres.
SUPPRESSION : si DUPONT ne fournit plus de BRIQUES, on supprime le 2e
nuplet, on perd toutes les informations sur DUPONT.
INSERTION : on ne peut pas insrer un nouveau fournisseur et son adresse, si
on ne connat pas au moins un produit qu'il fournit.
TOTO
TOTO
DURAND

PARIS
LYON
NICE

BRIQUES
BETON

Le schma suivant est meilleur (dcomposition):


FOURNISSEUR(FNOM, FADRESSE)
FOURNITURE(FNOM, PNOM, PRIX)

1000
900

Les qualits dun bon schma : viter les anomalies ==> dcomposition
La dcomposition doit conserver la mme information.
La jointure de :
FOURNISSEUR(FNOM, FADRESSE)
et de
FOURNITURE(FNOM, PNOM, PRIX)
obtenues par dcomposition de : R(FNOM, FADRESSE, PNOM, PRIX)
F = (FNOM FADRESSE; FNOM,PNOM PRIX) doit redonner R.
La dcomposition doit conserver les mmes contraintes (DF).
Les proprits sont values par rapport:
l'interrogation : la conservation de l'information par la dcomposition.
la modification : l'limination des anomalies de MAJ.
les rgles d'intgrit : la prservation des DF.
On peut toujours dcomposer une relation suivant une DF.
On ne peut pas dcomposer une relation sans DF.
La dcomposition suivant une DF ne perd pas d'information.
Une table peut tre dcompose en deux tables selon une DF telles que l'une
des tables contient tous les attributs de la DF et l'autre, tous les attributs de
8 la
table d'origine sauf ceux droite de la DF.

Formes normales et dcomposition


Objectifs des Formes normales :
Dfinir des rgles pour dcomposer les relations tout en prservant les DF

et sans perdre d'information, afin de reprsenter des objets et associations


canoniques du monde rel (les molcules d'informations).
Eviter les anomalies de mises jour.

Eviter les rponses errones.


1re Forme normale : Une relation est en 1re forme normale si tout attribut
contient une valeur atomique (unique)
Pour viter les domaines composs de plusieurs valeurs
Les attributs ne peuvent pas tre dcomposs du point de vue du contexte
dans lequel est envisag la relation.
Ex.: La relation Personne (Nom, Prenoms)
Cette relation nest pas en 1FN

Personne Nom

Prnom

Martin Pierre, jacques


9

2me Forme normale : une relation est en 2FN ssi :


1) elle est en 1FN.
2) tout attribut non cl ne dpend pas d'une partie de cl.
Ex.: Cette relation nest pas en 2FN,
dcompose en R1(K1, K2, X) et R2(K2, Y)
R

K1

K2

3me Forme normale : une relation est en 3FN ssi :


1) elle est en 2FN.
2) tout attribut n'appartenant pas a une cl ne dpend pas d'un autre attribut
non cl (pas de relations transitives et dpendances lmentaires).
Ex.: Cette relation nest pas en 3FN,
dcompose en R1(K, X, Y) et R2(X, Z)
R

Z
10

Fournisseur (nom, adresse, article, prix)


Article (Rue, Ville, Codepostal)
Q1: donnez les DF de 2 relations.
Q2: pourquoi la relation Fournisseur nest elle pas en 2meFN ?.
Q3: transformez cette relation en 2meFN.
Q4: donnez les cls de la relation Article.
Q5: De quelle FN est cette relation?
Exemple :

Rue
Ville
Code Postal
Avicenne
Rabat
11000
Med V
Rabat
11000
Rq.: Non seulement on a la redondance Ville,CodePostal, mais on ne peut pas
insrer un nouveau couple (Ville,CodePostal) sans connatre une rue avec ce code
Exercice: Soit le schma relationnel R(A,B,C,D), F=. Quelles sont les cls ?

11

Boyce-Codd Normal Form (BCNF) : une relation est en BCNF ssi:


les seules DF lmentaires sont celles dans lesquelles une cl entire
dtermine un attribut non cl.

Plus simple que 3NF, un peu plus fort mais ne peut pas toujours tre obtenue!
R

K1

K2

Une telle relation doit tre dcompose en R1(K1, K2, X) et R2(Y, K1)
Ex.: LOCALISATION (EAU, PAYS, REGION, QUALITE)
Eau, Pays Rgion
Eau, Pays Qualit
Rgion Pays

Q1: de quelle forme est la relation


Q2: Donnez une dcomposition BCNF
Q3: Quelle DF a-t-on perdu ?

12

Algorithme de dcomposition
Algorithme de dcomposition en 3FN
dcomposition itrative dune relation non 3FN en relations 3FN
En entre : un schma relationnel et un ensemble de DF
En sortie: une ou plusieurs relations en 3FN dont la jointure redonne la
relation initiale (des DF risquent dtre perdues)
On suppose que F est une couverture minimale.
Pour chaque X -> A appartient F, crer une relation de schma (XA).
Si aucune des cls n'est contenue dans l'un des schmas crs dans l'tape 1,
rajouter une relation de schma (Y), o Y est une cl.
Si aprs l'tape 1, il existe une relation R1 dont le schma (X1A1) est
contenu dans le schma (X2A2) d'une autre relation R2, supprimer la
relation R1.
Remplacer les relations (XA1),..., (XAk) (correspondant des dpendances
ayant mme membre gauche) par une relation unique : (XA1...Ak).
13

Ex1:

R(A, B, C, D)
F = { AB C, B D, C A } ; Cls : AB, BC
- tape1: R1(ABC) R2(BD) R3(CA)
- tape2: Pas la peine de rajouter une relation de schma: la cl AB est
contenue dans R1
- tape3: Supprimer R3 : CA inclus dans ABC
Bonne dcomposition: R1(ABC), R2(BD).
On peut vrifier que R1 et R2 sont en 3FN.
Ex2: R(A,B,C,D,E)
F = { AB C, C D, C A } ; Cls : ABE, BCE
- tape1: R1(ABC), R2(CD), R3(CA)
- tape2: On rajoute une relation de schma pour la cl ABE : R4(ABE)
- tape3: Supprimer R3 : CA inclus dans ABC
- Bonne dcomposition : R1(ABC) R2(CD) R4(ABE) R3 n'a pas de
dpendance. Autre solution :
- tape4: On remplace R2 et R3 de l'tape 1 par une relation de schma (CAD)
14
- Autre bonne dcomposition : R1(ABC), R2'(CAD), R4(ABE)

Fournisseur (nom, adresse, article, prix)


Article (Rue, Ville, Codepostal)
Q1: donnez les DF de 2 relations.
Q2: pourquoi la relation Fournisseur nest elle pas en 2meFN ?.
Q3: transformez cette relation en 2meFN.
Q4: donnez les cls de la relation Article.
Q5: De quelle FN est cette relation?
Q1: (Nom, Article) Prix, Nom Adresse, (Rue,Ville) CP, CP Ville
Q2: Une partie de la cl Nom dtermine un attribut nappartenant pas la cl.
Q3: Fournisseur (Nom, Adresse), Produit (Nom, Article, Prix).
Q4: R,V C : R,V est une cl. C V : V appartient la cl R,V.
Q5: R nest pas en 3meFN.
Rue
Ville
Code Postal
Avicenne
Rabat
11000
Med V
Rabat
11000

Rq: Non seulement on a la redondance Ville, CodePostal, mais on ne peut pas


15
insrer un nouveau couple (Ville,CodePostal) sans connatre une rue avec ce code