Vous êtes sur la page 1sur 32

Introduction aux Bases de Données

Bases de Données Relationnelles

Implantation Relationnelle des BD :


Normalisation d’un schéma relationnel
(Chapitre 4)

1. Le processus de normalisation : Introduction


2. Le processus de normalisation : Motivations
3. Le processus de normalisation : Définition
4. Le processus de normalisation : Dépendances fonctionnelles
5. Le processus de normalisation : Fermeture transitive
6. Le processus de normalisation : Couverture minimale
7. Le processus de normalisation : Formes Normales
Implantation Relationnelle des BD
Le processus de normalisation : Introduction

• Conception d’une BD relationnelle


– Choisir et appliquer des critères pour regrouper des attributs dans des schémas
relationnels
– Nécessité de caractériser certains regroupements comme meilleurs que d’autres

• Une bonne conception peut être obtenu par


– intuition, expérience du concepteur
– conception dans un modèle plus expressif (e.g., EA) puis traduction au relationnel
– à travers la théorie de la normalisation
• les formes normales relationnelles
• étape importante dans le développement de la théorie relationnelle

2 Wiem Mrabet
Implantation Relationnelle des BD
Le processus de normalisation : Motivation
• But d'un schéma logique : décrire une bd qui va effectivement être utilisée
– chargée , accédée , mise à jour (maj)
• Les maj (insertions, suppressions, modifications) doivent conserver la cohérence de la
base de données
– intégrité référentielle
– toute contrainte d'intégrité
– en particulier les dépendances entre attributs
• Selon le schéma c'est + ou - facile
– Plus la bd contient de redondances, plus les maj avec maintien de la cohérence est
difficile

3 Wiem Mrabet
Implantation Relationnelle des BD
Le processus de normalisation : Motivation

Livraison (N°fourn, adrF, N°prod, prixP, qté)


3 Tunis 52 65 10
22 Sousse 10 15 5
22 Sousse 25 10 12
3 Tunis 25 10 5
3 Sfax 10 15 20
• Si un fournisseur change d’adresse et qu’un seul tuple est mis à jour  incohérence
• Si un nouveau tuple est inséré pour un fournisseur connu, avec une adresse différente
 incohérence
• Si un fournisseur n'a pas de livraison en cours, son adresse est perdue …

4 Wiem Mrabet
Implantation Relationnelle des BD
Le processus de normalisation : Motivation

Une relation n’est pas correcte si :


• elle implique des répétitions au niveau de sa population
• elle pose des problèmes lors des maj (insertions, modifications
et suppressions)
• Les conditions pour qu'une relation soit correcte peuvent être
définies formellement :
=> règles de normalisation

5 Wiem Mrabet
Implantation Relationnelle des BD
Le processus de normalisation : Motivation
Livraison (N°fourn, adrF, N°prod, prixP, qté)
3 Tunis 52 65 10
22 Sousse 10 15 5
22 Sousse 25 10 12
3 Tunis 25 10 5
3 Tunis 10 15 20
• L’adresse du fournisseur ne dépend que du fournisseur et pas du produit.
• Le prix du produit ne dépend que du produit et pas du fournisseur
 REDONDANCES
 Anomalies de mise à jour
• Cette relation n'est pas correcte. Il faut la normaliser.

6 Wiem Mrabet
Implantation Relationnelle des BD
Le processus de normalisation : Définition
• La Normalisation : rendre quelque chose (une machine, un concept, ...) conforme
à des exigences préétablies et sur lesquelles un accord commun a été convenu.

• Normaliser une relation consiste à la présenter sous une forme canonique


(universelle, standard) respectant certains critères qui assurent la définition sémantique
de la structure de la base et l’intégration des données

• Pour le modèle relationnel, le processus de normalisation des relations permet de :


- Eliminer les redondances possibles des données à représenter.
- Faciliter les traitements de mise à jours des données.
- Améliorer les performances de la base de données.
- Optimiser l’utilisation de l’espace de stockage des données.
7 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
Normalisation des relations
La normalisation est un procédé qui décompose une relation, non suffisamment normalisée,
pour écarter certaines propriétés indésirables par rapport aux opérations de mise à jour.
La normalisation conduit à la décomposition de la relation non normalisée en un certain
nombre d’autres relations sur lesquelles seront appliquées de nouveaux les mêmes règles

Le processus de normalisation est basé sur cinq niveaux ou « formes normales


» appelé dans l’ordre (1FN, 2FN, 3FN, 4FN,5FN).

8 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

• Processus de transformation d'un schéma S1 pour obtenir un schéma S2 :


– qui est équivalent (même contenu)
– dont les maj sont simples
• maj simple :
– 1 changement élémentaire dans le monde réel se traduit par une mise à jour
d'un tuple
• Exemples de changements élémentaires
– Un fournisseur change d'adresse
– Un produit change de prix
Livraison (N°fourn, adrF, N°prod, prixP, qté)
– dans cette relation les maj sont complexes
9 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
• Processus de décomposition d'une relation à maj complexes en
plusieurs relations à maj simples

• Processus sur le schéma relationnel

• Exemple : La relation
Livraison (N°fourn, adrF, N°prod, prixP, qté)
sera décomposée en:

Livraison (N°fourn, N°prod, qté)


Fournisseur (N°fourn, adrF)
Produit (N°prod, prixP)
10
Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
Les Formes Normales :

1FN

2FN 3FN FNBC 4FN

Remarques :
La performance des relations est croissante + on avance dans les niveaux de normalisation (On mesure la
qualité d'une relation par son degré de normalisation)

Pour qu’une relation appartienne à une forme normale donnée, elle doit obéir à un ensemble de
conditions qui seront détaillées dans les paragraphes suivants. De plus, le passage d’une forme normale à
une autre suppose que toutes les conditions nécessaires aux formes précédentes soient déjà remplies et
vérifiées. On dit, par exemple, qu’une relation R est en deuxième forme normale si elle est déjà en
première forme normale et si en plus elle rempli les conditions relatives à la deuxième forme normale.

11 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

A- Dépendances fonctionnelles (DF)

Une dépendance est une contrainte qui doivent vérifier les données pour que la base soit
dans un état cohérent par rapport à la réalité qu’elle est sensée représenter. On dit alors
que les dépendances sont des contraintes d’intégrités de la base de données.

12 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

A- Dépendances fonctionnelles (DF) (suite)


Soit X,Y, Z, … ensemble d’attributs
Soit R ( X,Y, Z, ...) une relation.Y dépend fonctionnellement de X si à chaque valeur de X correspond
toujours une même valeur deY.

Formellement :  x  X   y  Y. R: X Y Z
X1 y1 z1
d.f.
Notation : X Y .........................
X1 y1 z2
Lectures : .........................
- X détermine fonctionnellement Y
Il existe une DF : XY si et
- Y dépend fonctionnellement de X ou
seulement si dans R à une
- Y est déterminée fonctionnellement par X.
même valeur de X correspond
X : source de la DF, Y : cible de la DF toujours une même valeur de
La source peut être un ensemble d’attributs : Y
13 (nom, prénom)  adresse
Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

B- Redéfinition de la notion de clé


Un attribut déterminant fonctionnellement tous les autres attributs de la relation.

Exemple :
Soit R une relation définie par le schéma suivant:
R(A, B, C, D, E, F, G)
On dit que A est une clé de la relation R si :
AB
AC
AD
AE
AF
AG
On note, autrement:
A  B, C, D, E, F, G
14 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

C- Graphe de dépendances fonctionnelles (GDF)

Un GDF est un graphe dont les nœuds représentent les attributs (ou groupes d’attributs) et dont
les arcs représentent les différentes dépendances fonctionnelles entre ces attributs.
Le graphe de dépendances fonctionnelles est un concept fort intéressent. Il nous permet de représenter l’ensemble des attributs
d’une application ainsi que les différentes DF entre eux. En réalité, l’utilité du GDF dépasse la simple schématisation des
attributs. Il sert, comme on va le voir dans les sections suivantes à générer le schéma relationnel en troisième forme normale
d’une application en suivant un algorithme particulier.

15 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
D- Axiomes d’Armstrong et couverture minimale
Soit R une relation et U l'ensemble des attributs de R.
Axiome 1: règle de réflexivité
 x  U, x  x
si x contient y (y x), alors x  y
Axiome 2 : règle d'augmentation
 x, y, z  U, Si x  y Alors x, z  y
Axiome 3 : règle de transitivité
 x, y, z  U, Si x  y et y  z Alors x  z
Axiome 4: règle d'union (d'additivité)
1.  x, y, z  U, Si x  y et x  z Alors x  y, z
2.  x, y, z, t  U, Si x  y et t  z Alors x, t  y, z
Axiome 5: règle de pseudo-transitivité
 x, y, z, f  U, Si x  y et y, f  z Alors x, f  z
Axiome 6: règle de décomposition
 x, y, z  U, Si x  y, z Alors x  y Alors x  z
si x  y et z contenu ds y (z y), alors x  z
16 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

E- Dépendances fonctionnelles élémentaires

Une dépendance fonctionnelle élémentaire est une dépendance fonctionnelle de la forme


X  A, où A est réduit à un seul attribut, tel que A X et où il n'existe pas X' X tel que
X'  A

F- Dépendances fonctionnelles directes

Une dépendance fonctionnelle A  B est dite directe ssi il n’existe aucun sous-attribut X
tel que A  X et X  B, c-à-d que la dépendance n’est pas obtenue à partir de la propriété
de pseudo-transitivité

17 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

G- Fermeture transitive
La fermeture d'un ensemble d'attributs X, notée (X)+ représente l'ensemble des
attributs de R qui peuvent être déduits de X à partir d'une famille de dépendances
fonctionnelles en appliquant les axiomes d'Armstrong. Ainsi,Y sera inclus dans (X)+ ssi X -
> Y.
On peut composer à partir de l’ensemble de dépendances fonctionnelles élémentaires et
par transitivité d’autres dépendances fonctionnelles élémentaires. A partir d’un certain
moment, l’ensemble obtenue devient stationnaire et ne peux plus progresser. On dit que
l’on a obtenue la «fermeture transitive» F+ de F des dépendances fonctionnelles
élémentaires.

18 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

H- couverture minimale

Inversement, on peut simplifier F en supprimant les dépendances fonctionnelles


redondantes, c'est à dire celles qui peuvent être déduites à partir d'un ensemble
minimal F' appelé couverture minimale de F.

Cet ensemble F' est tel que l'ensemble F+ des dépendances fonctionnelles déduites reste
inchangé. Cet ensemble F+ est appelé fermeture transitive de F.

19 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

H- couverture minimale
Ensemble minimal de dépendances qui représente la même information que l’ensemble
initial mais sans redondance.
Cet ensemble noté F’, s’appelle «couverture minimale» de l’ensemble initial F
L’ensemble F’ doit donc vérifier les propriétés suivantes :
1- aucune DF dans F n’est redondante : c-à-d pour toute DF de F on a F->f n’est pas
équivalente à F (c-à-d si on supprime f de F on ne retrouve plus la même fermeture
transitive d’avant la suppression
2- toute DF élémentaire entre les attributs de R se trouve dans la fermeture transitive F+

20 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

I- Première forme normale


Une relation R est dite en première forme normale (1FN) si tous ses
attributs ont des valeurs simples (valeurs atomiques) c'est à dire ne sont
pas des sous-ensembles d'un domaine donné.

Exemple :
On désire modéliser, avec une relation, la carrière d’un employé. Au cours de sa
carrière un employé peut occuper plusieurs fonctions à des salaires différents.
Considérons pour cela la relation Carrière définie par le schéma suivant :
Carrière (Num_Employé, Fonctions, Salaires)
où :
Fonctions: la liste des fonctions occupées par un employé.
Salaires: la liste des salaires obtenus par un employé.
21 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
K- Deuxième forme normale
Une relation R est dite en deuxième forme normale (2FN) si et seulement si:
1- Elle est en 1FN;
2- tout attribut n’appartenant pas à la clé est en DF élémentaire de la clé.
- DF élémentaire : DF totale et non d’une partie.

Exemple :
Fournir: une relation donnant pour chaque produit ses fournisseurs.
Fournir (NumF, NumP, QteFournie, NomF, AdrF, PrixP)
Avec NumF : le numéro du fournisseur, NumP : le numéro du produit, QteFournie : la
quantité fournie par un fournisseur d’un produit, NomF : le nom du fournisseur, AdrF :
l’adresse du fournisseur et PrixP : le prix du produit.
Considérons maintenant l’ensemble des DF suivantes :
NumF  NomF, AdrF
NumF, NumP  QteFournie et  Fournir n'est pas en 2FN.
NumP  PrixP.
22 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

Avantages de la 2FN par rapport à la 1FN


- En cas d’ajout de nouveaux tuples : problème des valeures nulles
- En cas de suppression de tuples : supprimer F3.
- En cas de modification de tuples : modifier l’adresse de F1.

Remarque :

Si R est en 1FN et que sa clé se compose d’un seul attribut, elle est directement en 2FN.
Autrement, le problème de détermination de la deuxième forme normale, pour une relation en
1FN, ne se pose que si la clé de cette relation est composée de plus d’un attribut.

Fournisseur (NumF, NomF AdrF)


Produit (NumP, PrixP)
Fournir (NumF, NumP, QteFourrnie)

23 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

L- Troisième forme normale :

Une relation R est dite en troisième forme normale (3FN) si :


1- Elle est en 2FN;
2- tout attribut n’appartenant pas à la clé n'est pas en DFT de la clé.

Autre définition :

Une relation R est dite en troisième forme normale (3FN) si :


1- Elle est en 2FN;
2- tout attribut non clé ne dépond pas d’un autre attribut non clé.

24 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

Exemple :

Soit la relation Produit1 :

Produit1 (NumProduit, CodeTva, TauxTva)

On peut recenser les DF suivantes entre les attributs de la relation Produit:


NumProduit  CodeTva NumProduit  TauxTva CodeTva  TauxTva.

Wiem Mrabet 25
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

Exemple (suite) :

- Produit1 est 2FN. Essayons de voir si Produit1 est en 3FN :

NumProduit CodeTva

TauxTva

- DFT entre la Taux de TVA et le Numéro du produit.  Produit1 n’est pas en 3FN.

26 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

Avantages de la 3 FN par rapport à la 2 FN

En cas d’ajout de nouveaux tuples: ajouter un nouveau taux de TVA (7%)


En cas de suppression de tuples : Supprimer le produit ‘Cahier’
En cas de modification de tuples

En cas de mise à jour d’une information: changer le taux de TVA par exemple, avec la relation
Produit 1, cette opération nécessite autant de modifications que de tuples faisant apparaître la
valeur à mettre à modifier. Dans la deuxième décomposition, une seule mise à jour, sur la
relation Taxe, est suffisante pour réaliser cette modification de valeur.

Wiem Mrabet 27
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation

M- Génération d’un schéma relation 3FN en utilisant le GDF

- Pour une bonne exploitation de la BD, elle doit être normalisée.


-La 3 FN est considérée comme étant un degré suffisant pour élaborer une bonne BD.

- Proposition d’un algorithme permettant une génération d’un schéma relation 3FN.

Wiem Mrabet 28
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
Algorithme de génération d’un schéma relation 3FN en utilisant le GDF (suite)
Etape 1 : Etablir le GDF représentant l’ensemble des DF de l’application.
Etape 2 : Identifier les groupes d’attributs sources de DF (ceux qui ne sont pas cibles de DF).
Etape 3 : Considérer les listes des attributs dépendant directement de ceux trouvés à l’étape 2 pour
former des relations.
Etape 4 : Eliminer les DF que l’on a fait intervenir, les DFT et les attributs isolés. Revenir à 2.

Durant la première étape il suffit de dresser, partant des énoncés et des différentes règles de
gestion, le GDF. Dans la deuxième étape, le travail consiste à repérer les attributs sources de
DF. Ces attributs forment les clés éventuelles des futures relations. Les attributs des
relations, sont déterminés par la troisième étape. Une fois représentées dans des relations,
les DF et les attributs sont déjà pris en compte par l’algorithme et doivent être éliminés.
C’est l’objectif de la quatrième étape. L’algorithme se termine quand toutes les DF ainsi que
les attributs sont représentés dans des relations.
Wiem Mrabet 29
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
Exemple :
Considérons une BD dont la structure est donnée par la suite :

DEPARTEMENT

CHERCHEURS PROJETS DE
LOCAUX
RECHERCHE

HISTORIQUE
TELEPHONE
CARRIERE

La BD décrit les départements d'un laboratoire de recherche. Pour chaque département on spécifie la liste de ses chercheurs, la liste
des projets qui y sont développés et la liste des locaux qui lui sont affectés. Pour chaque chercheur, un historique retrace l'évolution
de sa carrière. Dans un local, il y a plusieurs bureaux avec sur chacun d'eux un téléphone. Plusieurs chercheurs occupent le même
bureau.
30 Wiem Mrabet
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
Dictionnaire des données :

Pour chaque département on connaît : Pour chaque local on connaît :


Ndep: code identifiant le département; Nbur: code identifiant le bureau;
Dbudget: budget du département; Surface: surface du bureau en m2;
Ndir: le directeur du département.
Pour chaque projet on connaît :
Pour chaque chercheur on connaît : Nproj : code identifiant le projet;
Ncher: code identifiant le chercheur; IntProj: intitulé du projet;
Nproj: le projet auquel il est affecté; Pbudget: le budget affecté au projet.
Nbur: identification de son local;
Ntel: numéro du téléphone; Pour retracer la carrière du chercheur
Nom: nom. :
Date-Nom: nomination à une fonction;
IntFonc: intitulé de la fonction.
Wiem Mrabet Mt-Salaire: le montant du salaire.
31
Implantation Relationnelle des BD
Le modèle Relationnel : Le processus de normalisation
Les règles de gestion sont les suivantes :

- un chercheur n'est affecté qu'à un seul département;


- un projet n'est géré que par un seul département,
- un local n'est affecté qu'à un seul département,
- un téléphone n'est installé que dans un seul local,
- une nomination à une date donnée ne concerne qu'un seul individu.
- un chercheur n'est affecté qu'à un seul projet,
- un chercheur a son propre téléphone,
- un chercheur n'a qu'un seul bureau.

32 Wiem Mrabet

Vous aimerez peut-être aussi