0% ont trouvé ce document utile (0 vote)
3 vues33 pages

Normalisation du Modèle Relationnel

Transféré par

elbahfadi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues33 pages

Normalisation du Modèle Relationnel

Transféré par

elbahfadi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CHAPITRE 2.

LA NORMALISATION DU MODÈLE
RELATIONNEL
plan
1) Introduction à la normalisation des relations
1.1 Qu’est ce que la normalisation
1.2 Objectifs
2) Les dépendances fonctionnelles
1.1 Définitions
1.2 Représentation des DFs sous forme de graphes
3) Normalisation du modèle relationnel
1.1 Première forme normale
1.2 Deuxième forme normale
1.3 Troisième forme normale
4) exemples
Notion de normalisation

Etymologie : du latin norma, règle.

Plusieurs sens (dans plusieurs domaines)


 Sens 1
Une norme est une règle, une loi auxquelles on doit
se conformer.
 Sens 2
Une norme est un ensemble de caractéristiques
décrivant et régissant un domaine particulier, un
objet, un produit, un être.
 Sens 3…
Objectifs de la normalisation (1)

 L'objectif étant de construire un schéma de base de


données cohérent.
 Le but essentiel de la normalisation est d'éviter les
anomalies transactionnelles pouvant découler d'une
mauvaise modélisation des données et ainsi éviter un
certain nombre de problèmes potentiels tels que les
anomalies de lecture, les anomalies d'écriture, la
redondance des données et la contre-performance.
Objectifs de la normalisation (2)

La normalisation des modèles de données permet de


vérifier la robustesse de leur conception pour
améliorer la modélisation (et donc obtenir une
meilleure représentation) et faciliter la mémorisation
des données en évitant la redondance et les
problèmes sous-jacents de mise à jour ou de
cohérence.

Conséquence:
L’élimination des redondances doit aboutir à une
minimisation de l’espace de stockage.
Mauvaise modélisation: conséquences

Un mauvais schéma logique peut conduire à un


certain nombre d'anomalies pendant la phase
d'exploitation de la base de donnée.
Problème de la redondance

Exemple: Soit la relation COMMANDE_PRODUIT.


Num Qté Num Adr Anomalies de modification
Prod Four Mise à jour de l’adresse d’un
fournisseur: il faut le faire pour tous
101 300 901 Pêcherie, Alger
les tuples concernés.
104 1000 902 Pêcherie, Bouharoun Anomalies d’insertion :
112 78 904 Pêcherie, Bousmail Ajout d’un nouveau fournisseur: il
faut obligatoirement fournir des
103 250 901 Pêcherie, Alger
valeurs pour NumProd et Qté.
104 3000 901 Pêcherie, Alger Anomalies de suppression :
104 500 903 Pêcherie, Douaouda Suppression du produit 104: perte
de toutes les données sur le
112 150 901 Pêcherie, Alger fournisseur 902.
Modèle normalisé

 un modèle relationnel est dit normalisé, s’il respecte


certaines contraintes (règles ou normes) appelées les
formes normales.
 Les formes normales s’appuient sur les dépendances
fonctionnelles entre attributs.
DÉFINITION:
Deux rubriques R1 et R2 sont dites en Dépendance
Fonctionnelle si le fait de connaître la valeur de R1 permet de
connaître une valeur et une seule de R2.
On écrit: R1R2.
R1 est la source de la DF et R2 le but.

Exemples:
numéro client ----- nom client
matricule étudiant ---- âge, adresse

La question fondamentale qui se pose : « connaissant une valeur


de la source, peut-on connaître une valeur unique du but? ».
Dépendance fonctionnelle à partie gauche composée
Dépendance fonctionnelle élémentaire


Dépendance fonctionnelle directe
Graphe de DF
La 1ère forme normale(1FN)

Définition :
Est en 1FN, une relation (ayant par définition une clé) dont
les attributs possèdent tous une valeur sémantiquement
atomique.

Atomicité : un attribut est dit « atomique » si aucune


subdivision de l’information initiale n’apporte une
information supplémentaire ou complémentaire.

Normalisation en 1F:
Un attribut non atomique doit être décomposé en ses
différents attributs atomique.
La 1ère forme normale(1FN)

Exemple:

ÉTUDIANT (Mat, Nom, Prénoms, DateNaiss)

Normaliser en 1FN.
La 1ère forme normale(1FN)

ÉTUDIANT (Mat, Nom, Prénoms, DateNaiss)

Analyse:
La relation ÉTUDIANT possède une clé primaire.
Mais l’attribut Prénoms n’est pas élémentaire.

Qu’en est-il de l’attribut DateNaiss?


Relativité de la notion d'atomicité
L'atomicité d'un attribut est souvent relative : on peut décider qu'un
attribut contenant une date n'est pas atomique (et que le jour, le mois et
l'année constituent chacun une valeur), ou bien que l'attribut est de
domaine date et donc qu'il est atomique.

Conclusion:
La relation ÉTUDIANT n’est pas en 1FN.
La 1ère forme normale(1FN)

Normalisation:
Un étudiant donnée peut avoir un ou plusieurs
prénoms.
Il faut ajouter une nouvelle relation PRÉNOM.
Cette relation contient les différents prénoms des
étudiants.
Cette relation est à lier à la relation ÉTUDIANT par un
lien Père (ÉTUDIANT )-Fils (PRÉNOM).
La 1ère forme normale(1FN)

Schéma en intension:
ÉTUDIANT (Mat, Nom, DateNaiss)
PRÉNOM (#Mat, prénom)

Schéma en extension: PRÉNOM


#Mat prénoms
ÉTUDIANT 14 Omar
Mat Nom DateNaiss 69 Mahmoud
69 Halimi 14-05-1980 69 Fawzi
14 Biskri 09-06-1982 101 Ahmed
101 Frendi 04-11-1962 101 Amine
La 1ére forme normale(1FN)
La 1ére forme normale(1FN)
La 2ème forme normale(2FN)

 Définition :
Une relation est en 2FN ssi :
 Elle est en 1FN ;
 Chacun des attributs ne faisant pas partie de la clé primaire est en
Dépendance Fonctionnelle élémentaire avec la clé primaire (toute
entière et pas une partie).

Conséquence :
Une relation en 1FN avec un seul attribut comme clé primaire est
automatiquement en 2FN.
Le problème se pose uniquement pour les tables qui ont une clé primaire
composée.

Rappel :
Un attribut est en dépendance fonctionnelle élémentaire avec la clé primaire
lorsqu’il n’est en dépendance fonctionnelle avec aucune partie de la clé.
La 2ème forme normale(2FN)

CLIENT (NumCli, Nom, DateNaiss)

Analyse:
Elle est en 1FN.
Sa clé est simple.

Conclusion:
La relation est en 2FN.
La 2ème forme normale(2FN)

COMMANDE_PRODUIT (NumProd, NumFour, Quantité, VilleFour)

Analyse:
Elle est en 1FN (existence d’une clé, tous les attributs sont atomiques).
NumProd, NumFour → Quantité
La Quantité ne peut être connue que si on connaît le NumProd et le
NumFour, donc toute la clé primaire.
mais
NumFour → VilleFour
Donc, le NumFour , qui est une partie de la clé primaire, est suffisant pour
connaître la ville du fournisseur: il joue le rôle de la clé.
Donc: la DF
NumProd, NumFour → VilleFour
n’est pas élémentaire.

Conclusion:
La relation n’est pas en 2FN.
La 2ème forme normale(2FN)

Normalisation:
Méthode: Décomposer la relation initiale en plusieurs nouvelles relations
(leur nombre est lié au nombre des DFs non élémentaires).
Astuce: Pour éviter toute confusion, renomer la relation initiale X.

COMMANDE_PRODUIT (NumProd, NumFour, Quantité, VilleFour)


Écriture utilisant les DFs:
COMMANDE_PRODUIT (NumProd, NumFour → Quantité; NumProd,
NumFour → VilleFour; NumFour → VilleFour)
Renomons cette relation X comme suit:
X (NumProd, NumFour → Quantité; NumProd, NumFour → VilleFour;
NumFour → VilleFour)

Il faut éliminer la DF non élémentaire.


Nous obtenons les deux nouvelles relations suivantes:
X1 (NumProd, NumFour → Quantité)
X2 (NumFour → VilleFour)
La 2ème forme normale(2FN)

Soit :
X1 (NumProd, NumFour, Quantité)
X2 (NumFour, VilleFour)
Maintenant, nous pouvons renommer les deux relations en fonction de la
nature de la base de données: la première relation concerne les données
sur les commandes (les fournisseurs qui ont émis ces commandes et les
quantités commandées) et la deuxième les données sur les
fournisseurs.
COMMANDE (NumProd, NumFour, Quantité)
FOURNISSEUR (NumFour, VilleFour)

Les deux relations COMMANDE et FOURNISSEUR sont en 2FN.


La 2ème forme normale(2FN)
La 3ème forme normale(3FN)

 Définition :
Une relation est en 3FN ssi :
 Elle est en 2FN ;
 Chacun des attributs ne faisant pas partie de la clé primaire est en
Dépendance Fonctionnelle élémentaire et directe avec la clé primaire
et uniquement avec elle (autrement dit: (i) il n’existe aucune DF entre
deux attributs non clé primaire et (ii) chaque attribut non clé doit
obligatoirement dépendre fonctionnellement de la clé primaire).

 Rappel : un attribut est en dépendance fonctionnelle


directe avec la clé primaire lorsque cette dépendance
fonctionnelle n’est pas obtenue par transitivité.
La 3ème forme normale(3FN)

La relation :
COMPAGNIE (Vol, Avion, Pilote)
avec les DF :
Vol →Avion
Avion → Pilote
Vol → Pilote
est en 2FN mais pas en 3FN.
La 3ème forme normale(3FN)

Anomalies de mise à jour sur la relation COMPAGNIE : il n’est


pas possible d’introduire un nouvel avion sur un nouveau vol
sans préciser le pilote correspondant.

La décomposition suivante donne deux relations en 3FN qui


permettent de retrouver (par transitivité) toutes les DF :
R1 (Vol, #Avion) ;
R2 (Avion, Pilote).
La 3ème forme normale(3FN)
Résumé

 Modèle relationnel normalisé = relations


avec

 une clé, qui permet de distinguer chaque occurrence


 des attributs élémentaires (1FN)
 en dépendance de TOUTE la clé (2FN),
 et RIEN QUE de la clé (3FN)
Illustration : maximiser l’espace de stockage (1)
Illustration : maximiser l’espace de stockage (2)

Vous aimerez peut-être aussi