Vous êtes sur la page 1sur 44

Institut Supérieur des Etudes Technologiques de Kélibia

Dr. Mouna BELHAJ

Licence appliquée en Informatique


Semestre 3
 Introduction
 Dépendance fonctionnelle
 Normalisation
◦ Présentation
◦ La première forme normale
◦ La deuxième forme normale
◦ La troisième forme normale
 Quelques critères de qualité (informels) d’un
schéma de base de données:
▪ Sémantique simple des attributs et de chaque
schéma de relation.
▪ Réduction des valeurs redondantes.
▪ Réduction des valeurs nulles dans les relations.
▪ Interdiction des n-uplets anormaux.

3
3
 Les formes normales des relations et les mécanismes
pour les construire permettent d’obtenir des relations
respectant ces critères de qualité.
 Ces mécanismes sont fondés sur les notions de clés
de relations et de dépendances entre données.
 Les formes normales ont été définies pour permettre la
décomposition des relations sans perte d’informations
en se basant sur ces notions.

4
4
 Exemple de relation qui n’est pas normalisée
▪ PRODUIT (RefProduit, LibelleProduit, PU, Quantité,
NumService, Adresse, Capacité)

5
5
 Exemple de relation qui n’est pas normalisée
▪ Cette relation présente certaines anomalies :
• Redondance : un produit apparaît autant de fois
qu’il sera livré par un service
• Mise à jour : faute de redondance, les mises à
jour conduiront à des risques d’incohérence et de
non intégrité.
• Insertion et suppression : l’insertion, la
suppression ou le transfert d’attributs pourra faire
apparaître des valeurs nulles.

6
6
 Une base de données relationnelle est dite
normalisée si :
▪ Chaque relation décrit une information
élémentaire avec les seuls attributs qui lui sont
directement liés.
▪ Il n'y a pas de redondances d’information qui
peuvent produire des problèmes de mise à jour.

7
7
 Introduction
 Dépendance fonctionnelle
 Normalisation
◦ Présentation
◦ La première forme normale
◦ La deuxième forme normale
◦ La troisième forme normale
 Présentation
▪ Les dépendances fonctionnelles (DFs) sont les
contraintes les plus importantes parmi celles qu’on
doit manipuler pendant le projet de création d’une
base de données relationnelle.
▪ Les DFs fournissent les conditions d’application d’un
processus dit de normalisation qui mène à des
formes « correctes » de relations qui sont les formes
normales.
9
9
 Définition
▪ Un attribut ou une liste d’attributs Y dépend
fonctionnellement d’un attribut ou d’une liste
d’attributs X dans une relation R, si étant donnée une
valeur de X, il ne lui est associé qu’une seule valeur
de Y dans tout tuple de R.
▪ On notera une telle dépendance fonctionnelle X→Y
(X détermine Y ou Y dépend fonctionnellement de X).

10
10
 Exemple
PRODUIT (RefProduit, LibelleProduit, PU, Quantité,
NumService, Adresse, Capacité)

11
11
 Exemple
▪ Pour la relation « Produit », les dépendances
fonctionnelles suivantes sont vérifiées :
• RefProduit → LibelleProduit
• RefProduit → PU
• NumService → Adresse, Capacité
• RefProduit, NumService → Quantité

12
12
 Dépendance fonctionnelle élémentaire
▪ Une dépendance X → Y est élémentaire
Si pour tout X’ ⊂ X la dépendance fonctionnelle
X’ → Y n’est pas vraie.
▪ Y ne dépend pas fonctionnellement d’une partie de X

▪ X est la plus petite quantité d’information donnant Y.

▪ Exemple :

▪ RefProduit, LibelleProduit → PU n’est pas

élémentaire car il suffit d’avoir la référence du


produit pour déterminer son prix unitaire.
13
13
 Dépendance fonctionnelle transitive
▪ La Transitivité
• Si : A → B et B → C ⇒ A → C.
• Soient X, Y deux attributs:
✓ X→Y est une dépendance fonctionnelle
transitive s’il existe un attribut Z tel que:
X → Z et Z → Y

14
14
 Clé d’une relation
▪ La clé d’une relation est l’ensemble d’attributs dont
les valeurs permettent de caractériser les n-uplets de
la relation de manière unique.
▪ Formellement : Un attribut ou une liste d’attributs X
est une clé pour la relation R (X, Y, Z) si :
• Y et Z dépendent fonctionnellement de X dans R :
X → Y, Z
• Et X → Y, Z est élémentaire.
15
15
 Clé d’une relation
▪ Une relation peut avoir plusieurs clés.
▪ Une clé sera choisie et désignée comme clé primaire.
▪ Les autres sont des clés candidates.
▪ Un attribut d’une relation R est appelé attribut clé s’il
appartient au moins à une clé de R.
▪ Un attribut est dit attribut non clé s’il n’appartient pas
à une clé de R.

16
16
 Clé d’une relation
▪ Le but est de transformer les dépendances
fonctionnelles détectées entre les attributs des
relations en clés.
▪ Technique de base : identifier les tables avec des
dépendances fonctionnelles qui ne sont pas des clés
et les décomposer en tables plus petites.

17
17
 Introduction
 Dépendance fonctionnelle
 Normalisation
◦ Présentation
◦ La première forme normale
◦ La deuxième forme normale
◦ La troisième forme normale
 Présentation
▪ Par définition, la normalisation et le processus
consistant à organiser les données de manière à
réduire la redondance en divisant une base de
données en plusieurs tables, puis en définissant les
relations entre les tables.
▪ Techniquement, on ne peut pas être passer à la
forme de normalisation suivante tant qu’on n’a pas
satisfait aux conditions requises de la forme de
normalisation actuelle.

19
19
 Introduction
 Dépendance fonctionnelle
 Normalisation
◦ Présentation
◦ La première forme normale
◦ La deuxième forme normale
◦ La troisième forme normale
 La première forme normale (1FN)
▪ Elle indique que les données sont sous forme de
relations sans répétitions de groupes.
▪ Une relation R est en première forme normale et notée
1FN, si chaque attribut de R a un domaine simple;
ses valeurs sont atomiques et monovaluées.
▪ Cette définition permet d’exclure les relations ayant
des attributs dont les valeurs seraient des ensembles
ou des listes de valeurs.

21
21
 La première forme normale (1FN)
▪ Exemple 1: Attribut à domaine non simple

Créer autant
de champs
que ceux
composant
l’attribut à
domaine non
simple

22
22
 La première forme normale (1FN)
▪ Exemple 2: Il faut transformer les attributs multivalués
(à valeurs répétitives) en une table séparée, liée à la
table d'origine par une relation de type un à plusieurs.

23
23
 Introduction
 Dépendance fonctionnelle
 Normalisation
◦ Présentation
◦ La première forme normale
◦ La deuxième forme normale
◦ La troisième forme normale
 La deuxième forme normale (2FN)
▪ La deuxième forme normale (2FN) ne concerne que
les tables avec une clé primaire composite.
▪ Elle est entièrement basée sur la dépendance et sur
le fait que les attributs de l’entité en question doivent
être fonctionnellement dépendants de la clé primaire
toute entière.
▪ Si un attribut dépend de l’un des attributs de la
clé primaire, mais pas de l’autre, il devient alors une
dépendance partielle, ce qui constitue une violation
de la deuxième forme normale.
25
25
 La deuxième forme normale (2FN)
▪ Une relation R est en deuxième forme normale
(2FN) si et seulement si :
• Elle est en première forme normale
• Tout attribut n’appartenant pas à une clé ne
dépendra d’aucun sous-ensemble de la clé
(ne dépend pas d’une partie d’une clé).

26
26
 La deuxième forme normale (2FN)
▪ Exemple:

27
27
 La deuxième forme normale (2FN)
▪ Exemple: Nous avons les DFs suivantes :
• (1) NumCl, NumApp → NomCl
• (2) NumCl, NumApp → AdrApp, Montant,
NumProp, NomProp
• (3) NumCl, NumApp → DateDLoc, DateFLoc
• (4) NumCL→NomCl
• (5) NumApp → AdrApp, Montant, NumProp,
NomProp
28
28
 La deuxième forme normale (2FN)
▪ Exemple:
• (1) et (4) donnent (1) n’est pas une dépendance
fonctionnelle élémentaire.
• (2) et (5) montrent que (2) n’est pas une DF
élémentaire.
• Pour aboutir à un schéma relationnel en 2FN, il faut:
✓ Eliminer les dépendances fonctionnelles non
élémentaires.
✓ Regrouper les dépendances fonctionnelles qui ont
la même origine pour former une nouvelle
relation.
29
29
 La deuxième forme normale (2FN)
▪ Exemple: On obtient les dépendances suivantes :
• NumCl, NumApp → DateDLoc, DateFLoc
• NumCL→NomCl
• NumApp → AdrApp, Montant, NumProp, NomProp
▪ D’où les relations en 2ème forme normale :
• Client (NumCl, NomCl)
• Appartement (NumApp, AdrApp, Montant,
NumProp, NomProp)
• Location(NumCl#, NumApp#, DateDLoc,
DateFLoc)
30
30
 Introduction
 Dépendance fonctionnelle
 Normalisation
◦ Présentation
◦ La première forme normale
◦ La deuxième forme normale
◦ La troisième forme normale
 La troisième forme normale (3FN)
▪ Elle permet de vérifier et éliminer les dépendances
transitives.
▪ Une relation R est en troisième forme normale (3FN)
si et seulement si :
• Elle est en deuxième forme normale
• Tout attribut n’appartenant pas à une clé ne dépendra
pas d’un attribut non clé (R ne contient aucune DF
transitive).
32
32
 La troisième forme normale (3FN)
▪ La décomposition en 3FN préserve les dépendances
fonctionnelles et elle est sans perte d’informations
▪ Exemple : Reprenons le schéma relationnel de
l’exemple précédent :
• Client (NumCl, NomCl)
• Appartement (NumApp, AdrApp, Montant,
NumProp, NomProp)
• Location (NumCl#, NumApp#, DateDLoc,
DateFLoc)

33
33
 La troisième forme normale (3FN)
▪ Les relations « Client » et « Location » sont en 3FN;
elles sont en 2FN et qu’il n’existe aucun attribut non
clé qui dépend d’un autre attribut non clé.
▪ La relation « Appartement » est en 2FN et présente
les dépendances suivantes :
• (1) NumApp → AdrApp, Montant, NumProp,
NomProp
• (2) NumProp → NomProp

34
34
 La troisième forme normale (3FN)
▪ Il y a une DF transitive, donc il faut l’éliminer,
regrouper les dépendances ayant la même racine et
reconstruire les relations.
▪ D’où les relations suivantes:
• Client (NumCl, NomCl)
• Appartement (NumApp, AdrApp, Montant,
NumProp# )
• Propriétaire (NumProp, NomProp)
• Location (NumCl#, NumApp#, DateDLoc,
DateFLoc)
35
35
 Soit la table suivante:
Commande(numCde, dateC, numCl, nomCl,
numArticle, désignation, QteCommandée)
▪ Effectuer les opérations convenables à la table
pour aboutir à des relations en troisième frome
normale,

36
36
 1FN
▪ Les attributs sont à domaines simples
▪ Éliminer la répétition de groupes
• numCde, dateC
• numCl, nomCl,
• numArticle, désignation, QteCommandée

Groupe répétitif
37
37
 1FN:
▪ Décomposer la relation Commande en deux tables,
la clé primaire de la table principale fait partie de la
clé primaire de la table résultant de l’élimination du
groupe répétitif:
• Commande(numCde, dateC, numCl, nomCl)
• Article_Cde(numCde , numArticle,
désignation, QteCommandée

38
38
 2FN:
• Table à clé composée:
Article_Cde(numCde , numArticle, désignation,
QteCommandée)
• Dépendances fonctionnelles:
✓ numCde , numArticle→ QteCommandée
✓ numArticle→ désignation

39
39
 2FN:
• Tables en deuxième forme normale:
✓ Ligne_Commande (numCde , numArticle,
QteCommandée)
✓ Article (numArticle, désignation)
✓ Commande(numCde, dateC, numCl, nomCl)

40
40
 3FN:
• Eliminer les dépendances transitives
• Tables:
✓ Ligne_Commande(numCde , numArticle,
QteCommandée) => en 3FN
✓ Article(numArticle, désignation) => en 3FN
✓ Commande(numCde, dateC, numCl, nomCl)
=> en 2FN

41
41
 3FN:
• Dépendance transitive dans la table:
Commande(numCde, dateC, numCl, nomCl)
✓ numCde → dateC
✓ numCde → numCl
✓ numCl → nomCl

42
42
 La troisième forme normale (3FN)
• Les tables en 3FN:
✓ Commande(numCde, dateC, numCl#)
✓ Client (numCl, nomCl)
✓ Article (numArticle, désignation)
✓ Ligne_Commande(numCde# , numArticle#,
QteCommandée)

43
43
 https://www.technologuepro.com/cours-bases-de-
donnees/chapitre-4-la-normalisation.html
 1NF, 2NF, 3NF and BCNF in Database Normalization |
Studytonight
 https://www.forma-tice.net/support-de-cours-bases-de-
donnees/

44
44

Vous aimerez peut-être aussi