Université Thomas Sankara
UFR-ST
Parcours Informatique
Cours de Base de données de L2S4:
Juillet 2024
1
Chapitre 4 :
Normalisation
Drs Yacouba Kyelem 2
Objectifs spécifiques du chapitre
„ Le but de la normalisation,
„ Les problèmes potentiels liés aux données redondantes
dans les relations de base,
„ La notion de dépendance fonctionnelle, qui décrit les
associations entre les attributs,
„ Les caractéristiques des dépendances fonctionnelles
utilisées dans la normalisation,
„ À identifier les dépendances fonctionnelles dans une
relation donnée,
„ À identifier les formes normales les plus utilisées : la
première (1NF), la deuxième (2NF) et la troisième (3NF)
formes normales,
Drs Yacouba Kyelem 3
Normalisation
„ L'objectif en développant un modèle logique de données
pour un système de base de données relationnel est de
créer une représentation exhaustive des données, leurs
liens et leurs contraintes.
„ Pour atteindre cet objectif, on doit identifier un ensemble
approprié de relations,
„ Les 3 formes normales les plus utilisées sont la première
(1NF), la seconde (2NF) et la troisième (3NF).
„ Elles sont basées sur les dépendances fonctionnelles entre
les attributs d'une relation.
„ Une relation peut être normalisée dans une forme
spécifique afin de prévenir de potentielles anomalies de
mise à jour.
Drs Yacouba Kyelem 4
Redondance de données
„ Le but majeur de la conception de base de données
relationnelle est de grouper les attributs en relations qui
minimise la redondance de données et réduit l'espace de
stockage requise par les relations de base,
„ Les problèmes associés à la redondance des données
sont illustrés à l'exemple suivant,
„ La relation PersonnelFiliale contient des données
redondantes: les détails de la filiale se répètent
pour chaque membre de Personnel.
„ Par opposition, les informations de Filiale apparaissent
seulement une fois pour chaque filiale dans la
relation Filiale et seulement NumFiliale est répété dans
la relation Personnel, pour représenter où chaque
membre de Personnel travaille.
Drs Yacouba Kyelem 5
Drs Yacouba Kyelem 6
Anomalies de mise à jour
„ Les relations qui contiennent des informations
redondantes peuvent potentiellement être affectées par
les anomalies de mise à jour,
„ Les types d'anomalies de mise à jour incluent:
… Insertion,
… Suppression,
… Modification.
Drs Yacouba Kyelem 7
Propriétés de jointure sans perte et
de préservation de dépendance
„ Deux propriétés importantes de la décomposition:
… Propriété de jointure sans perte garantit que toute
instance de la relation originale peut être identifiée
par des instances correspondantes des relations plus
petites,
… Propriété de préservation de dépendance qu'une
contrainte sur la relation originale se maintient
grâce au renforcement d'une certaine contrainte sur
chacune des relations plus petites.
Drs Yacouba Kyelem 8
Dépendance fonctionnelle
„ Le concept principal associé à la normalisation,
„ Dépendance fonctionnelle:
… Décrit les liens entre les attributs d'une relation,
… Si A et B sont des attributs d'une relation R, B est
Dépendant fonctionnel de A (noté A → B), si chaque
valeur de A dans R est associée à exactement une
valeur de B dans R.
Drs Yacouba Kyelem 9
Dépendance fonctionnelle
„ Propriété de la signification (ou sémantiques) des
attributs d'une relation,
„ Représentation schématique:
‹ Le déterminant d'une dépendance fonctionnelle fait
référence à l'attribut ou le groupe d'attribut du côté
gauche de la flèche.
Drs Yacouba Kyelem 10
Exemple - Dépendance
fonctionnelle
Drs Yacouba Kyelem 11
Dépendance fonctionnelle
„ Les caractéristiques principales des dépendances
fonctionnelles utilisées dans la normalisation :
… Avoir un lien 1:1 entre les attributs du côté gauche et
du côté droit de la relation;
… Est valide en tout temps;
Drs Yacouba Kyelem 12
Dépendance fonctionnelle
„ Dépendance fonctionnelle complète:
… Indique que, si A et B sont des attributs d'une
relation, B est fonctionnellement complètement
dépendant de A si B dépend fonctionnellement de A
mais ne dépend d'aucun sous-ensemble propre de A,
„ Dépendance fonctionnelle transitive:
… Une situation où, si A, B et C sont des attributs d'une
relation telle que A→B et B→C, alors C est
transitivement dépendant de A via B (à condition que
A ne dépende pas fonctionnellement de B ni de C).
Drs Yacouba Kyelem 13
Identifier les dépendances
fonctionnelles
„ L'identification de toutes les dépendances fonctionnelles
parmi un ensemble d'attributs devrait être assez simple
si la signification des attributs et des associations entre
les attributs est bien comprise,
„ Ce type d'information est fourni par l’entreprise et(ou)
par une documentation appropriée,
„ En cas d'information incomplète, en fonction de
l’application de la base de données, le concepteur de la
base de données pourra faire preuve de bon sens et de
son expérience.
Drs Yacouba Kyelem 14
Identifier les dépendances
fonctionnelles
numPersonnel → nomP, fonction, salaire, numFiliale, adresseF
numFiliale → adresseF
adresseF → numFiliale
numFiliale, Fonction → salaire
adresseF, fonction → salaire
Drs Yacouba Kyelem 15
Identifier les dépendances
fonctionnelles à partir d'un échantillon
„ Considérons à présent la situation où il est nécessaire
d'identifier les dépendances fonctionnelles en l’absence
des informations,
„ Repérer les valeurs d'une colonne qui montrent une
certaine cohérence par rapport à des valeurs
particulières, présentes dans d'autres colonnes,
„ C'est-à-dire qu'il existe une association un à un (1:1)
entre les attributs des 2 colonnes.
Drs Yacouba Kyelem 16
Identifier les dépendances
fonctionnelles à partir d'un échantillon
Drs Yacouba Kyelem 17
Identifier la clé primaire d'une relation à
l'aide des dépendances fonctionnelles
„ Le but de l'identification d'un ensemble de dépendances
fonctionnelles est de spécifier l'ensemble des contraintes
d'intégrité qui doivent se maintenir sur une relation,
„ L'identification des clés candidates est une des contraintes
d'intégrité importantes que nous devons prendre en
considération en premier lieu,
„ Nous choisirons ensuite la clé primaire de la relation,
„ Pour déterminer la (ou les) clé(s) candidate(s) de la
relation, nous devons repérer l'attribut ou le groupe
d'attributs qui identifie de manière unique tous les tuples
de la relation.
Drs Yacouba Kyelem 18
Identifier la clé primaire d'une relation à
l'aide des dépendances fonctionnelles
„ Les déterminants sont numPersonnel, numFiliale,
adresseF, (numFiliale, fonction) et (adresseF, fonction),
„ La seule clé candidate et donc la clé primaire, est
numPersonnel, car tous les autres attributs de la relation
en dépendent fonctionnellement,
„ Bien qu'il y ait d'autres déterminant de la relation, ils ne
sont pas des clés candidates de la relation.
0
Drs Yacouba Kyelem 19
Le processus de normalisation
„ Une technique formelle pour analyser une relation
basée sur sa clé primaire et les dépendances
fonctionnelles entre ses attributs,
„ Souvent exécuté comme une série d'étapes. Chaque
étape correspond à une forme normale spécifique,
possédant chacune des propriétés connues,
„ À mesure que la normalisation progresse, les relations
deviennent progressivement plus restreintes (plus forte)
en format et aussi moins vulnérable aux anomalies de
mise à jour.
Drs Yacouba Kyelem 20
Liens entre les formes normales
Drs Yacouba Kyelem 21
Forme non normalisée (UNF) et
première forme normale (1NF)
„ UNF
… Une table qui contient un ou plusieurs groupes
répétitifs,
… Pour créer une table non normalisée:
„ Transformer les données d'une source
d'information (par exemple un formulaire papier) en
une table avec des colonnes et des rangés,
„ 1NF
… Une relation dans laquelle l'intersection de chaque
rangée et colonne contient une et une seule valeur.
Drs Yacouba Kyelem 22
UNF vers 1NF
„ Choisir un attribut ou un groupe d'attribut pour agir
comme clé de la table non normalisée,
„ Identifier le(s) groupe(s) répétitif(s) de la table non
normalisée qui se répète pour le ou les attribut(s) clé,
„ Enlever les groupes répétitifs en:
… Entrant des données appropriées dans les colonnes
vides des rangés contenant des données répétitives
('mise à plat' de la table),
Ou
… Placer les données répétitives avec une copie de la
clé dans une relation distinctes.
Drs Yacouba Kyelem 23
Normalisation de UNF à 1NF
Drs Yacouba Kyelem 24
Normalisation de UNF à 1NF
Drs Yacouba Kyelem 25
Seconde forme normale (2NF)
„ Basée sur le concept de dépendance fonctionnelle
complète:
… A et B sont des attributs de la relation,
… B est complètement dépendant de A si B est
dépendant de A mais d'aucun sous-ensemble de A,
„ 2NF - Une relation qui est en 1NF et dont chaque attribut
non clé primaire est en dépendance fonctionnelle
complète avec la clé primaire.
Drs Yacouba Kyelem 26
1NF vers 2NF
„ Identifier la clé primaire de la relation 1NF,
„ Identifier les dépendances fonctionnelles dans la
relation,
„ Si des dépendances partielles existent sur la clé
primaire, enlevez les en les déplaçant dans une nouvelle
relation avec la copie de leur déterminant.
Drs Yacouba Kyelem 27
1NF vers 2NF
Drs Yacouba Kyelem 28
Drs Yacouba Kyelem 29
Troisième forme normale (3NF)
„ Basée sur le concept de dépendance transitive:
… A, B et C sont des attributs d'une relation tel que si A
→ B et B → C,
… alors C est en dépendance transitive sur A par B.
(Seulement si A n'est pas dépendant
fonctionnellement de B ou C),
„ 3NF - Une relation qui est en 1NF et 2NF et dans laquelle
aucun attribut non clé primaire est en dépendance
transitive sur la clé primaire.
Drs Yacouba Kyelem 30
2NF vers 3NF
„ Identifier la clé primaire dans la relation 2NF,
„ Identifier les dépendances fonctionnelles dans la
relation,
„ Si des dépendances transitives existent sur la clé
primaire, enlevez les en les plaçant dans une nouvelle
relation avec une copie de leur déterminant.
Drs Yacouba Kyelem 31
2NF vers 3NF
Client
df2 numClient → nomC (clé primaire)
Bail
df1 numClient, numPropriété → débBail, finBail
(clé primaire)
df5' numClient, débBail → numPropriété, finBail
(clé candidate)
df6' numPropriété, débBail → numClient, finBail
(clé candidate)
PropriétéPropriétaire
df3 numPropriété → adresseL, loc, numPropriétaire,
nomP (clé primaire)
df4 numPropriétaire → nomP (dépendance transitive)
Drs Yacouba Kyelem 32
2NF vers 3NF
Drs Yacouba Kyelem 33
2NF vers 3NF
Drs Yacouba Kyelem 34
Définitions générales de la 2NF
et la 3NF
„ Seconde forme normale (2NF):
… Une relation qui est en 1NF et dont chaque attribut
non clé primaire est en dépendance fonctionnelle
totale sur toute clé candidate,
„ Troisième forme normale (3NF):
… Une relation qui est en 1NF et en 2NF et dans
laquelle aucun attribut non clé primaire est en
dépendance transitive sur toute clé candidate.
Drs Yacouba Kyelem 35
Références :
• Livres de [Link]
• Support de [Link]
• Cours Dr Kisito K. Kaboré
Drs Yacouba Kyelem 36