You are on page 1of 46

Dpendances

fonctionnelles
1

DPENDANCES
FONCTIONNELLES


Un type important de contraintes intervenant au


niveau dun schma de relation est la dpendance
fonctionnelle

La dtermination des dpendances fonctionnelles


est une partie importante de la conception de
base de donnes selon le modle relationnel, et
dans la normalisation et d-normalisation de
bases de donnes.

A1

A2

X
NOTION DE DPENDANCE FONCTIONNELLE
X
X
Non
(DF)
X
X

DF


Un attribut A2 dpend fonctionnellement d'un


attribut A1 si une
valeur de A1 correspond au plus
une valeur de A2 :
(A1 =dterminant ou A1 dtermine
A1 A2A2)

numEn
NomEnseignant
codeMatire
matire

X
X
X

X
X

Un enseignant nintervient que dans une matire.


Plusieurs enseignants peuvent intervenir dans une mme matire.
Les noms denseignants et de matires ne sont pas les identifiants.

On a les DF suivantes :
numEn NomEnseignant, codeMatire, matire,
3
codeMatire matire

NOTION DE DPENDANCE
FONCTIONNELLE (DF)
Exemple:
A lensemble de phrases suivantes:


Une voiture est identifie par un numro


dimmatriculation N_imm
- Une voiture a une couleur
- une voiture correspond un type
- un type de voiture correspond une puissance
-

On peut associer lensemble de DF suivant:


{N_imm ->Type, N_imm -> Couleur, Type ->
Puissance}

NOTION DE DPENDANCE FONCTIONNELLE


(DF)


DF lmentaire (un unique dterminant)


 Une DF
si ni
A1 , Aest
lmentaire
A3
2
ne sont des DF
A2 A3
la DF suivante :
numEn, NomEnseignant
codeMatire
naurait pas t lmentaire dans
lexemple prcdent

, ni

A1 A3
numEn

NomEnseignant
codeMatire
matire
...

En effet numEn suffit pour dduire


codeMatire
Il nest PAS ncessaire davoir numEn ET
enseignant pour dduire codeMatire

NOTION DE DPENDANCE
FONCTIONNELLE (DF)
 DF directe

A1

A1 A3 est directe

A2

Une DF
X
si n'existe pas de DF A1 A
X 2
X
et A A .
2

A3

X
X

X
X

X
X

Nest pas une DF directe :


numEn matire
parce que numEn codeMatire et codeMatire
matire
6

Contraintes
rfrentielles ou
contraintes
dinclusion
7

INTGRIT RFRENTIELLE


Cest une contrainte concernant deux relations


(tables)

Utilise pour spcifier une relation entre les


tuples dans deux relations.

CONTRAINTES RFRENTIELLES OU
CONTRAINTES DINCLUSION


Souvent nous voudrions assurer qu'une valeur


apparaissant dans une relation pour un ensemble
donn d'attributs apparaisse aussi pour un autre
ensemble d'attributs dans une autre relation.


Cela voque l'intgrit rfrentielle.

L'intgrit rfrentielle est habituellement


impose par la combinaison d'une cl primaire ou
cl candidate, et d'une cl trangre

CONTRAINTES RFRENTIELLES OU
CONTRAINTES DINCLUSION


Une base de donnes d'employs


stocke le dpartement dans lequel
chaque employ travaille.
Le champ "Dept.No" dans le tableau
Employ est dclar comme cl
trangre, et il rfre au champ
"Dept.No" dans le tableau
Dpartement o cest une cl
primaire.

Employ

Name

Dept.no

Qualified

Julie

27

Yes

..

..

..

Dpartement


L'intgrit rfrentielle serait casse Dept.no


par l'effacement d'un dpartement
du tableau Dpartement si des
27
employs lists dans le tableau
Employ sont lists comme
14
travaillant pour ce dpartement.

Building

Name

H2

Finance

A4

Marketing

10

CONTRAINTES RFRENTIELLES OU
CONTRAINTES DINCLUSION


Le SGBD impose l'intgrit rfrentielle,


Soit en effaant aussi les ranges de la cl trangre
pour maintenir l'intgrit,
(Dans lexemple prcdent, en effaant toutes les
lignes de la relation employ avec Dept.no = 27)


Soit en renvoyant une erreur et en n'effectuant pas


l'effacement.

11

CONTRAINTES RFRENTIELLES OU
CONTRAINTES DINCLUSION

Tableau dartiste

Un exemple d'une base


de donne qui n'a pas
impos d'intgrit
rfrentielle :
il y a une valeur cl
trangre (artiste_id)
dans le tableau de CD
qui rfrence un artiste
non-existant
En d'autres mots, il y a
une valeur cl
trangre sans valeur
cl primaire.

artiste_id

artiste_nom

Prodigy

Red Hot Chilli


Peppers

RadioHead

Tableau de CD
artiste_id

CD_id

CD-nom

Bends

Blue lines

OK
computer

12

CONTRAINTES RFRENTIELLES OU
CONTRAINTES DINCLUSION

Tableau dartiste

Ce qu'il s'est pass :


Il y avait un artiste appel
Massive attack, avec une
artist_id de "4", qui a t
effac du tableau Artiste.
Cependant, l'album Blue
Lines rfrait cet artiste.

artiste_id

artiste_nom

Prodigy

Red Hot Chilli


Peppers

RadioHead

Tableau de CD


Avec l'intgrit rfrentielle


impose, ceci n'aurait pas
t possible.

Artiste_id

CD_id

CD-nom

Bends

Blue lines

OK
13
computer

Normalisation

14

SOMMAIRE
La normalisation
 Buts de la normalisation
 Formes normales


Premire forme normale


 Deuxime forme normale
 Troisime forme normale
 Forme normale de Boyce-Codd


Algorithme de Normalisation
 Algorithme de Normalisation Exemple
 Entre Fonctionnel et Oprationnel
 Dnormalisation


LA NORMALISATION


La conception dun MCD reprsente la vision de


la ralit de lanalyste. Le formalisme obtenu,
tabli avec une mthode, ne garantit pas justesse
et optimisation.

La justesse dpend de la comptence et de


lexprience de lanalyste.
 Loptimisation est obtenue par les mcanismes de
la normalisation.


NORMALISATION
 Cest

vrifier que la structure devant


recevoir des donnes est organise pour
viter:
 des redondances dinformations et
 des anomalies de conception (sources
invitables dincohrence court ou long
terme).

NORMALISATION
Dfinition:
Le processus de restructurer le modle de donnes
logiques pour :
Eliminer les redondances,
 Organiser les donnes efficacement,
 Rduire le potentiel d'anomalies pendant les
oprations sur les donnes.


ARTICLE
refart
designart
descriart
marqueart

1,n

Commandes
qute

1,n

Fournisseur
Fno
nom
adresse

LA NORMALISATION
 Les besoins de normalisation :


3 problmes de cohrence lors de mises jours de la


BD:


anomalie d'insertion (si on rajoute une commande il faut que


l'article existe)
anomalie de suppression (si on enlve un fournisseur il faut
enlever toutes les commandes de ce fournisseur)
anomalie de modification (si on modifie le numro d'un
article il faut modifier toutes les commandes avec ce numro
d'article
Fournissuer
Article
Commandes
Refart
Designart

Refart
Fno

Descriart

qute

marqueart

Fno
Nom
adresse

LA NORMALISATION
La thorie de la normalisation repose sur l'analyse
de dpendances entre attributs qui sont l'origine
de phnomnes de redondance.
 La normalisation consiste en des mthodes de
dcomposition des relations.


Dans certains situations, pour des raisons


d'efficacit, on dnormalise.

NORMALISATION


Les classifications formelles utilises pour dcrire


le niveau de normalisation d'une base de donnes
relationnelle sont appeles les formes normales
(FN)

Il existe huit formes normales. Les quatre


premires sont les plus pratiques et sont
connatre.

NORMALISATION


Chaque nouvelle forme normale marque une


tape supplmentaire de progression vers des
relations prsentant de moins en moins de
redondance

Le but..
est d'obtenir une reprsentation des donnes
prsentant un minimum de redondance
l'intrieur de chaque relation et un maximum
d'indpendance entre les diffrentes relations

FORMES NORMALES
Premire forme normale

Deuxime forme normale


Troisime forme normale
Forme normale de Boyce-Codd
Quatrime forme normale
Cinquime forme normale
Forme normale de domaine/cl
Sixime forme normale

Edgar Codd est lorigine de la dfinition des


formes normales 1FN, 2FN, 3FN, BCFN.
Les quatrime et cinquime formes normales
(4FN et 5FN) concernent spcifiquement la
reprsentation des relations n-n et 1-n entre les
attributs.
La sixime forme normale (6FN) inclut des
considrations pertinentes pour les bases de
donnes temporelles.

LA NORMALISATION
 La

thorie de la normalisation est base


sur les "dpendances fonctionnelles"
(DF).
 C.A.D. Dpendance entre les
informations
Par exemple, le salaire dpend de la
qualification

Les dpendances fonctionnelles traduisent des


contraintes sur les donnes


Par exemple, on dcide que deux individus diffrents


peuvent avoir mme nom et prnom mais jamais le
mme numro de scurit sociale.

Ces contraintes sont reprsentatives d'une perception


de la ralit et imposent des limites la base

DPENDANCE FONCTIONNELLE
Rappel:
 Dfinition : dpendance fonctionnelle
On dit qu'un attribut B dpend fonctionnellement d'un
attribut A si, tant donn une valeur de A, il lui
correspond une unique valeur de B.


Notation : A --> B

Exemple :
La dpendance fonctionnelle SS  NOM signifie qu' un
numro est associ un nom seulement.

Remarquons qu'une dpendance fonctionnelle n'est


gnralement pas symtrique, c'est--dire que SS  NOM
n'interdit pas que deux personnes distinctes (correspondant
deux SS diffrents) portent le mme nom.

NORMALISATION : 1FN
1FN (rubrique lmentaire) :
 Un MLD est dit en premire forme normale, si toutes les entits
sont composes dattributs lmentaires ou atomiques (hors
clefs concatnes).
IP

Role

192.168.0.1

client

192.168.0.2

serveur

192.168.0.4

client et serveur

Consquences :
 un attribut reprsente une donne lmentaire du
monde rel ;
 Un attribut ne peut dsigner, ni une donne compose
d'entits de natures diffrentes, ni une liste de donnes
de mme nature.

NORMALISATION : 1FN
Exemples :
 lentit
ARTICLE peut tre considre comme
ntant pas en 1FN cause de lattribut descriart qui
contient une description (avec plusieurs composants)
de larticle.


Daprs lanalyse de lexistant, il ne sagit pas dun


attribut ayant subir des traitements, donc, il a t
dcid de la maintenir en un seul attribut.
Article

Commandes

Fournissuer

Refart
Designart

Refart
Fno

Fno

Descriart

qute

marqueart

Nom
adresse

NORMALISATION : 1FN


Si on veut avoir les notes d'un tudiant :


Nom

Nom

N o te s

E in s te in

8 ,1 2 .5

F re u d

2 .5 , 0 , 1 8

E in s te in

N o te
1
8

N o te
2
1 2 .5

N o te
3
N U LL

F re u d

2 .5

18

Nom

Note

Einstein
Eintein
Freud
Freud
Freud

8
12.5
2.5
0
18

Nest pas en 1FN. Pour y remdier, on peut soit crer un


attribut par note si le nombre maximal de notes est connu
et si le nombre moyen de notes par personne est proche de
ce maximum,

Soit fabrique autant de tuples que de couples (nom, note)

NORMALISATION : 1FN

(a) A une relation emboite.

(b) En consquence, ce n'est


pas en 1FN.

(c) Pour normaliser la relation, on enlve les attributs


emboits, et on les met dans une nouvelle relation
(EMP_PROJ2) avec la cl primaire.

NORMALISATION : 2FN
2FN (dpendance fonctionnelle
lmentaire) :
 Un MLD est dit en deuxime forme
normale, si:
- il remplit les conditions de la 1FN et si,
- tout attribut n'appartenant pas une cl ne
dpend pas d'une partie de cette cl.

A,B -> C
B->C

NORMALISATION : 2FN


La 2FN est base sur le concept de dpendance


fonctionnelle totale


Dfinition de la dpendance fonctionnelle totale x  y:


si la suppression d'un attribut A de x signifie que la
dpendance n'existe plus

NORMALISATION : 2FN
Exemple:
Considrons une table Membres du Departement"
dont les attributs sont :
ID departement,
ID employe,
Date de naissance employe;
et supposons quun employ travaille dans un ou
plusieurs dpartements.
La combinaison de ID departement et de ID employe
identifie de manire unique un enregistrement de la
table.
Est-ce que cette table est en 2FN?
Comme Date de naissance employe ne dpend que dun
seul de ces attributs lID employe la table nest
pas 2NF.

NORMALISATION : 2FN
Autre exemple :
 Considrons la relation PLAGE de schma suivant :
PLAGE (NOMP, REGION, TYPE, POLLUTION)
o la cl est (NOMP, REGION). Supposons que la
pollution est bien dpendante de la plage (identifie
par (NOMP, REGION)) mais que le type est, quant
lui, dpendant de la rgion seule.
Que pouvons nous faire?:
La deuxime forme normale nous impose de
distinguer deux relations R1 et R2 de schmas
respectifs :
 R1 (NOMP, REGION, POLLUTION) ;
R2 (REGION, TYPE).

NORMALISATION : 2FN

Etant donnes les dpendances


fonctionnelles dans (a) nous pouvons
mettre la relation en 2FN

NORMALISATION : 3FN
Dfinition : troisime forme normale:
 Une relation est en troisime forme normale si :
- elle est en deuxime forme normale ;
- tout attribut n'appartenant pas une cl ne dpend
pas d'un attribut non cl.
- cad toute DF dont la partie droite nest pas une cl doit
avoir une partie gauche qui est une cl :

B, C

OK

A, B, C

NExemple
ORMALISATION
: 3FN
:

Considrons une table "Departements" dont les attributs sont

ID departement,
Nom departement,
ID manager,
Date embauche manager
et supposons que chaque manager peut grer un ou plusieurs
dpartements.
ID departement est une cl candidate.
Bien que Date embauche manager est fonctionnellement dpendante
de {ID departement}, elle est aussi fonctionnellement dpendante de
lattribut ID manager.
ID departement  Date embauche manager
ID manager  Date embauche manager X
Ceci signifie que la table nest pas 3FN.
Departements (ID department, Nom departement, ID manager
Information Manager (ID manager, date embauche manager)

NORMALISATION : 3FN
Autre exemple:
 Considrons maintenant la relation PLAGE de
schma
PLAGE (NP, REGION, TYPE, POLLUTION)

o la cl est NP.
Supposons maintenant comme dans l'exemple
prcdent que le type est dpendant de la rgion.
La troisime forme normale nous impose de
distinguer deux relations R1 et R2 de schmas
respectifs :
R1 (NP, REGION, POLLUTION) ;
R2 (REGION, TYPE).

NORMALISATION : 3FN
Autre Exemple :
Enseignant (Nom, Bureau, Batiment, Discipline, telephone)
Avec des contraintes dintgrit : Un btiment hberge des
enseignants d'une mme discipline; un bureau donn possde un
numro de d'appel unique.

Avec les DF: Batiment  Discipline


Batiment, Bureau Telephone
Telephone  Bureau, Batiment
Note: la deuxime contrainte dfinit une relation 1-1, donc
une DF reflexive.

ENSEIGNANT (NOM, BUREAU, BATIMENT,


DISCIPLINE, TELEPHONE)
 La dpendance Batiment->Discipline ne concerne
pas la cl. La relation Enseignant n'est pas 3FN.
 On sort donc lattribut Discipline de la relation
Enseignant (dpendant dun attribut non-cl) et on
cr une nouvelle relation Affectation:
Affectation(Batiment,Discipline)
Les dpendances
Batiment, Bureau->Telephone
Telephone->Bureau, Batiment
ne concernent pas la cl. On cr la nouvelle relation:
Annuaire(Bureau, Batiment, telephone)
 La relation Enseignant dorigine peut tre
renomme Sige, avec les attributs restant:
Siege(Nom,Bureau,Batiment)


NORMALISATION : BOYCE-CODD


La FNBC tait propose comme une forme plus


simple de 3FN, mais elle est finalement plus
stricte que la 3FN.

NORMALISATION : BCFN
Dfinition : Boyce-Codd forme normale:
 Une relation est en BCFN si :
- elle est en 3rd forme normale ;
- aucun attribut ne dpend d'un attribut non cl.


C.a.d. toute DF a pour partie gauche (origine de la


flche) un cl candidate ou primaire entire.

A, B, C

NORMALISATION : EXEMPLE FNBC


Considrons la relation suivante: Cours (Matiere, Classe,
Professeur)
complte par les rgles de gestion suivantes:
un professeur n'enseigne qu'une seule matire,
un classe n'a qu'un seul enseignant par matire
desquelles on dduit les DF suivantes:
Matire, Classe  Professeur
Professeur  Matire
Cette relation est en 3NF, nanmoins il est impossible d'enregistrer
un professeur sans classe affecte (puisque classe est une partie
de la cl primaire de la table Cours), et la disparition d'une classe
peut entraner la disparition de professeur.
Ceci est du au fait qu'une DF n'ait pas comme origine une cl de la
relation.

NORMALISATION : EXEMPLE FNBC


On pourrait alors dcomposer la table Cours en 2 tables:
Spcialit (Professeur, Matire)
Enseignant (Classe, Professeur)
Mais la premire DF serait alors perdue

NORMALISATION : 2IME EXEMPLE


FNBC
Considrons la relation suivante:
Fournisseur (nom, adresse, produit, prix)
avec les DF suivantes :
DF1: nom  adresse
DF2: nom, produit  prix
Alors la cl de la relation Fournisseur est [nom, produit].
Cette relation n'est pas en FNBC, car dans la DF1, la
partie gauche "nom" n'est pas une cl entire.

You might also like