Vous êtes sur la page 1sur 21

Institut Supérieur des Etudes Technologiques de Mahdia

Cours: Bases de Données

Chapitre IV:
Normalisation

2020-2021
CHAPITRE I : INTRODUCTION AUX BASES DE DONNÉES

CHAPITRE II : MODÈLE ENTITÉ/ASSOCIATION

CHAPITRE III : MODÈLE RELATIONNEL

CHAPITRE IV : NORMALISATION

CHAPITRE V : ALGÈBRE RELATIONNELLE

Plan
Eléments de contenu

❑ Introduction

❑ La normalisation : définition et avantages

❑ Les anomalies de mise à jour

❑ Les dépendances fonctionnelles

❑ Processus de normalisation

Mmes Khelifa, Ben Rhouma & Sassi 3


Introduction

❑ Certaines fautes dans le modèle conceptuel


(Entité/Association, MCD…) ou lors de l’application
des règles de passage de ce niveau conceptuel au
niveau logique peuvent entraîner des Problèmes
critiques dans la manipulation de la base
(anomalies).

❑ La normalisation peut être considérée à la fois


comme des règles ou un processus qui permettent
d’éviter ces anomalies.

❑ Ces règles sont à appliquer dès la conception, elles


peuvent aussi être appliquées en partant d’une
base de données brute (non normalisée).

Mmes Khelifa, Ben Rhouma & Sassi 4


Définition de la normalisation

• La normalisation constitue un ensemble des règles


introduites dans le modèle relationnel afin de
garantir la cohérence et l'intégrité dans la base de
données.

• L'application de ces règles se fait progressivement


(étape par étape) lors de la définition de la
structure de la base.

Mmes Khelifa, Ben Rhouma & Sassi 5


Avantages de la normalisation

La normalisation est utile pour :

▪ limiter la redondance de donnée,

▪ limiter la perte de données,

▪ limiter les incohérences au sein des données,


• améliorer les performances des traitements.

Mmes Khelifa, Ben Rhouma & Sassi 6


Les anomalies de mise à jour
Soit la relation non normalisée suivante:
• Avion (numav, nomav, capacité, localité)

numav nomav Capacité localité


100 Airbus 250 Tunis
101 Airbus 250 Sfax
104 BO707 150 Tunis
105 BO707 150 Sfax
106 BO900 200 Monastir
107 B0707 150 Tunis

3 Types d’anomalies peuvent se produire lors de la manipulation de la


relation Avion.

Anomalie d'insertion

Anomalie de modification

Anomalie de suppression

Mmes Khelifa, Ben Rhouma & Sassi 7


Anomalie d'insertion

• Cette anomalie se manifeste lorsqu'on ne peut pas ajouter


des données dans la base alors qu'on devrait être capable de
le faire.
• Exemple

• Supposons qu'un nouveau type d'avion est conçu et qu'on


veut ajouter cette nouvelle information à la base (le nomav et
la capacité). En absence de numéro avion (numav), on est
empêché par la contrainte d'intégrité Entité.

Mmes Khelifa, Ben Rhouma & Sassi 8


Anomalie de modification

• Cette anomalie se manifeste dans le cas suivant : si on veut


modifier la valeur d'un attribut dans la base alors on serait
amené à opérer N fois cette opération. Cette anomalie
entraîne une perte du temps due à la redondance des
données et une éventuelle incohérence de la base due au
risque d'oublier la modification de certains tuples.
• Exemple

• La modification de la capacité des Avions de type BO707 se


fait en 3 fois puisqu’on a 3 avions de ce type. Si la table était
normalisée, cette modification sera effectuée une seule fois.
Dans le cas contraire, on a le risque d’oublier certains tuples
ce qui provoque l’incohérence.
Mmes Khelifa, Ben Rhouma & Sassi 9
Anomalie de suppression

• Suite à la suppression de certaines données, il y a perte


d'autres données.
• Exemple

• Supposons qu'on veut supprimer l'avion BO900. Toute


information sur ce type d'avion telle que la capacité sera
perdue.

Mmes Khelifa, Ben Rhouma & Sassi 10


Les dépendances fonctionnelles
• Etant donné une relation R définie de la manière suivante R
(..., A, ..., B, ...) qui contient entre autre A et B.

• On dit qu'il existe une Dépendance Fonctionnelle (DF) entre


l'attribut A et B si et seulement si à toute valeur de A, on ne
peut pas attribuer à un instant donné qu'une seule valeur de
B.
Remarques
On note : A —> B et on dit :
▪ On dit qu'il y a une
▪B dépend fonctionnellement de A. dépendance fonctionnelle

▪A détermine fonctionnellement B. partielle entre A et B si et


seulement si il existe A' inclus
▪A donne B.
dans A tel que A' —> B. Sinon
▪A est appelé déterminant. on dit qu'il y a une dépendance
▪B est appelé déterminé. fonctionnelle totale
(élémentaire).

Mmes Khelifa, Ben Rhouma & Sassi 11


Les dépendances fonctionnelles
• Exemple

Soit la relation non normalisée suivante :

• Employé (codEmp, codDep, nomEmp,


descDep)

• codEmp, codDep —> descDep n'est pas totale car


codDep —> descDep.

▪ Une DF A—>B est dite directe si et seulement si il n'existe


aucun attribut X de R tel que A—> X et X —> B. Sinon elle
est dite Transitive.

Mmes Khelifa, Ben Rhouma & Sassi 12


Les dépendances fonctionnelles

Exemple

Dans la Relation Avion :


Avion (numav, nomav, capacité, localité),
la dépendance suivante : numav —> capacité n'est pas directe
car, il existe un attribut nomav tel que:
• numav —> nomav et
• nomav —>capacité.

Une clé candidate d'une Relation R détermine


fonctionnellement tous les autres attributs. Pour que la
relation soit normalisée, ces dépendances doivent être
élémentaires (non partielles) et directes (non transitives).

Mmes Khelifa, Ben Rhouma & Sassi 13


Les dépendances fonctionnelles

• La réflexivité : A—> A et s'il existe B inclus dans A alors A—> B


• L'augmentation : Si A —> B alors A, C —> B.
• La transitivité : Si A —> B et B—> C alors A—> C.
• La pseudo-transivité : si A—> B et B, C—> D alors A, C—> D
• L'union : si on a : A —> B et A —> C alors A —> B, C

Remarques
▪ La fermeture transitive F+ d'un ensemble F de dépendances
fonctionnelles est composée de l'ensemble de dépendances fonctionnelles
de F augmenté des dépendances fonctionnelles transitives déduites.
▪ La fermeture de F est l'ensemble de dépendances fonctionnelles par
l'application des axiomes d'Amstrong sur l'ensemble F.
▪ La couverture minimale est l'ensemble des dépendances fonctionnelles
duquel on a éliminé toutes les dépendances fonctionnelles redondantes.

Mmes Khelifa, Ben Rhouma & Sassi 14


Processus de normalisation

Le processus de normalisation conduit à la décomposition de la


relation initiale en un certain nombre d'autres relations en
appliquant les règles de normalisation et ce dans l'objectif de:
▪ Minimiser les données redondantes.
▪ Eviter les anomalies de mise à jour.
▪ Réduire les données incohérentes.
▪ Concevoir des structures de données qui facilitent la
maintenance.

Mmes Khelifa, Ben Rhouma & Sassi 15


Les formes normales

• Une forme normale est une manière de mesurer les


niveaux, ou la profondeur de la normalisation d’une
base de données.

• Elle détermine le niveau de normalisation d’une base de


données.

• Les différentes formes normales sont dépendantes et


structurées. En effet une relation ne peut être en 2ème
forme normale que si elle est déjà en première forme
normale.

Mmes Khelifa, Ben Rhouma & Sassi 16


1ère forme normale (1NF)

Une relation est dite en 1NF si et seulement si:


• Elle possède une Clé.
• Tous les attributs sont atomiques.

Un attribut atomique est un attribut n'ayant à un instant qu'une


seule valeur et ne regroupant pas un ensemble de valeurs.

Exemple
Employé (codemp, nomemp, caractéristiques)
codemp nomemp Caractéristiques
E01 Ali Analyste, 12/01/2017
E02 Mohamed Programmeur, 30/11/2018

Mmes Khelifa, Ben Rhouma & Sassi 17


1ère forme normale (1NF)
On constate que les valeurs de l'attribut caractéristiques sont
hétérogènes, ils appartiennent à plusieurs domaines et donc non
atomiques.
Pour que la relation soit en 1NF, on peut éclater l’attribut
« caractéristiques » en 2 attributs « fonction » et « date_embauche », on
obtient alors la relation suivante :
Employé (codemp, nomemp, fonction, date_embauche)

codemp nomemp fonction date_embauche


E01 Ali Analyste 12/01/2017
E02 Mohamed Programmeur 30/11/2018

Le passage d'une relation non normalisée à une relation


normalisée en 1NF se fait en rendant chaque attribut atomique et
en choisissant une clé primaire pour la relation.

Mmes Khelifa, Ben Rhouma & Sassi 18


2ème Forme Normale (2NF)
Une relation est dite en 2NF si et seulement si :
• Elle est en 1NF
• Toutes ses dépendances fonctionnelles sont totales
(Elémentaires).

Exemple
Soit la relation suivante :
Employé (codEmp, codDep, nomEmp, descDep, adresse).

Cette relation est en 1NF mais elle n'est pas en 2NF car il existe des
dépendances fonctionnelles non totales telles que :
codEmp, codDep —> descDep
codEmp, codDep —> nomEmp
codEmp, codDep —> adresse
La solution réside dans la décomposition de la relation Employé en
2 relations
Employé (codemp, nom, adresse, #cod_dep)
Département (cod_dep, desc_dep).
Mmes Khelifa, Ben Rhouma & Sassi 19
3ème forme normale (3NF)
Une relation est en 3NF si et seulement si
• Elle est en 2NF.
• Toutes les dépendances fonctionnelles sont directes (tous
les attributs non clés dépendent directement de la clé).

Exemple
La relation Avion (numav, nomav, capacité, localité) est une relation
en 2NF mais elle n’est pas en 3NF, pour la rendre en 3NF, on peut
la décomposer en 2 relations afin d’éliminer les dépendances
fonctionnelles transitives :

Type_Avion (nomav, capacité)


Avion (numav, localité, #nomav)

Mmes Khelifa, Ben Rhouma & Sassi 20


Décomposition

▪ La décomposition est une opération qui consiste à remplacer un schéma de


relation R par plusieurs relations R1, R2, ...Rp tel que tous les attributs de la
relation R apparaissent dans la réunion des relations R1, R2, ...Rp.
▪ Le but de la décomposition est d'établir des relations normalisées c'est à dire
qui ne provoquent pas des anomalies de mise à jour et qui soient fidèles à la
réalité. Cependant pour qu'une décomposition soit correcte, il faut tout
d'abord qu'elle permette de retrouver les tuples de la relation d'origine et
ceux-ci uniquement et d'autre part que les dépendances fonctionnelles ne
soient pas perdues suite à la décomposition, on dira qu'elle préserve les
dépendances.
▪ Bien qu’elle offre plusieurs avantages, la normalisation via la décomposition
peut affecter la performance du système en terme des ressources utilisées (les
requêtes nécessitent généralement des jointures pour être exécutées).

Mmes Khelifa, Ben Rhouma & Sassi 21

Vous aimerez peut-être aussi