0% ont trouvé ce document utile (0 vote)
157 vues19 pages

3 - Normalisation

Le document traite de la normalisation des bases de données, en expliquant l'importance de remédier aux redondances et anomalies de mutations à travers les formes normales (1FN, 2FN, 3FN). Il présente des exemples pratiques de normalisation, notamment pour la modélisation des employés et de leurs projets. La normalisation est essentielle pour assurer une structure de données efficace et sans incohérences.

Transféré par

lammouchi
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)
157 vues19 pages

3 - Normalisation

Le document traite de la normalisation des bases de données, en expliquant l'importance de remédier aux redondances et anomalies de mutations à travers les formes normales (1FN, 2FN, 3FN). Il présente des exemples pratiques de normalisation, notamment pour la modélisation des employés et de leurs projets. La normalisation est essentielle pour assurer une structure de données efficace et sans incohérences.

Transféré par

lammouchi
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

Bases de données

Normalisation
MME HIBA LAHMER 2A
2021/ 2022
Plan
• Objectifs
• 1ère Forme Normale (1FN)
• Dépendance Fonctionnelle
• 2ème Forme Normale (2FN)
• 3ème Forme Normale (3FN)
• Application
• Conclusion
Pourquoi normaliser ?
• Une mauvaise modélisation E/A peut mener à:
◦ Des redondances inutiles
◦ Des anomalies de mutations:
◦ Anomalies d’ajout
◦ Anomalies de mise à jour
◦ Anomalies de suppression

• Un processus de normalisation appliqué sur toutes les tables de la base de données permet de
remédier à ces problèmes.
• E. F. Codd a défini 3 formes normales: 1FN, 2FN et 3FN
• Il en existe d’autres plus restrictives: FN de Boyce-Codd (BCNF), 4FN, etc. mais que l’on rencontre
• moins fréquemment.
Problématique
Nous sommes demandé de mettre en place une base de données d’une entreprise
Nous caractérisons un employé par un identifiant, un nom un prénom, sa ville et son pays de
résidence.
L’entreprise désire également sauvegarder les prénoms des enfants de ses employés.
Un projet est identifié par un identifiant (1, 2, ...) et un nom.
Un employé peut être affecté à plusieurs projets. Plusieurs
employés peuvent travailler sur un même projet
Normalisation: exemple
MODÈLE E/A – PROPOSITION DE MODÈLE E/A – PROPOSITION DE
L’ÉTUDIANT N°1 L’ÉTUDIANT N°2

Employés
Employés
idEmp
0..N 0..N Projets idEmp
NomEmp 0..N Projets
NomEmp 0..N
prEmp Affecter idProjet
prEmp Affecter idProjet
VilleEmp nomProjet
VilleEmp nomProjet
Pays
Pays
prEnf
prEnf1
prEnf2
prEnf3

MME HIBA LAHMER 5


Normalisation: exemple
Modèle E/A – proposition de l’étudiant N°3

Employés
idEmp
NomEmp 0..N 0..N Projets
prEmp Affecter idProjet
VilleEmp nomProjet Enfants
Pays 0..N
1..1 PrEnf
Posséder
prEnf
Normalisation: exemple
Table Employes (Proposition de l’étudiant N°1)
Employes idEmp nomEmp prEmp villeEmp paysEmp prEnf
1 Salmi Lamia Tunis Tunisie Lina
2 Mejri Leyla Ariana Tunisie Eya, Mohamed, Beya
3 Gasmi Hamed Ariana Tunisie
4 Ksouri Ridha Tunis Tunisie Samar, Wided, Youssef, Hamza
Table Employes (Proposition de l’étudiant N°2)
Employes idEmp nomEmp prEmp villeEmp paysEmp prEnf1 prEnf2 prEnf3
1 Salmi Lamia Tunis Tunisie Lina
2 Mejri Leyla Ariana Tunisie Eya Mohamed Beya
3 Gasmi Hamed Ariana Tunisie
Normalisation: 1ère forme normale (1FN)

Une relation est en 1ère forme normale (1FN ou 1NF) si tous les attributs sont des attributs
atomiques et monovalué.

Toute intersection de ligne(enregistrement) et de


colonne(champ) ne doit
contenir qu'une seule information
Normalisation: 1ère forme normale (1FN)
Enfants #idEmp prEnf
• Garder dans la table Employes les attributs monovalués 1 Lina
• Créer une nouvelle table pour les attributs multivalués (ici:
2 Eya
prénoms des enfants).
• Ajouter dans la clé de cette table nouvellement créée la clé de la 2 Mohamed
table initiale (référence) 2 Beya
• Cette modélisation rejoint la proposition de l’étudiant N°3. 4 Samar
4 Wided
Employes idEmp nomEmp prEmp villeEmp paysEmp
4 Youssef
1 Salmi Lamia Tunis Tunisie
4 Hamza
2 Mejri Leyla Ariana Tunisie
3 Gasmi Hamed Ariana Tunisie
4 Ksouri Ridha Tunis Tunisie
Normalisation: 1ère forme normale (1FN)
Si l’on reprend l’exemple de la table CLIENT où adrCl était un attribut composé:
CLIENT(numCl, nomCl, prenomCl, dateNaissCl, adrCl)
1FN

CLIENT(numCl, nomCl, prenomCl, dateNaissCl, rueCl, codePostalCl, villeCl)


Si un CLIENT a plusieurs adresses il faut créer une nouvelle table
Adresses (idAd, rueCl,codePostalCl,villeCl, #numCl)
Normalisation: 2ème forme Normale (2FN)
On suppose que l’une des conceptions a abouti à cette relation

Affectation idEmp idPrj nomEmp prEmp villeEmp paysEmp nomPrj

1 1 Salmi Lamia Tunis Tunisie SiteWebEnstab


1 2 Salmi Lamia Tunis Tunisie SiteWebIstic
2 1 Mejri Leyla Ariana Tunisie SiteWebEnstab
3 1 Gasmi Hamed Ariana Tunisie SieWebEnstab
3 2 Gasmi Hamed Ariana Tunisie SieWebIstic
4 2 Ksouri Ridha Tunis Tunisie SiteWebIstic
Normalisation: 2ème forme normale (2FN)
Dépendance Fonctionnelle:
◦ Définition: Un attribut Y dépend fonctionnellement d'un attribut X si et seulement si une
valeur de X induit une unique valeur de Y. ( Pas l’inverse )
◦ Notation: X -> Y.
◦ Exemple: Si X est l’identifiant de l’employé idEmp et Y le prénom de l’employé prEmp alors
idEmp -> prEmp.

Par contre, on n’a pas prEmp->idEmp car deux employés peuvent porter le même prénom.
Normalisation: 2ème forme normale (2FN)
Un attribut non clé primaire ne doit pas dépendre d'une
partie de la clé
primaire. Il doit en dépendre entièrement.
Une relation est en 2ème forme normale (2FN ou 2NF):
◦ Si elle est en 1FN
◦ Et si tout attribut non clé dépend fonctionnellement de toute la clé (et pas seulement d’une
partie de celle-ci).
Normalisation: 2ème forme Normale (2FN)
Il faut repérer les dépendances fonctionnelles

Affecta idEmp idPrj nomEmp prEmp villeEmp paysEmp nomPrj


ation
1 1 Salmi Lamia Tunis Tunisie SiteWebEnstab
1 2 Salmi Lamia Tunis Tunisie SiteWebIstic
2 1 Mejri Leyla Ariana Tunisie SiteWebEnstab
3 1 Gasmi Hamed Ariana Tunisie SieWebEnstab
3 2 Gasmi Hamed Ariana Tunisie SieWebIstic
4 2 Ksouri Ridha Tunis Tunisie SiteWebIstic
Normalisation: 2ème forme Normale (2FN)
Affectation #idEmp #idPrj • Pour normaliser en 2FN une table ayant une clé
1 1 composée, il faut la dé composer en:
e chacune d’une partie de
1 2 la Clé et des attr ibuts qui dépendent de
2 1 cette partie.
3 1 • Une table formée de la clé composée et
éventuellement des attributs restants.
3 2
Projet idPrj nomPrj
2
1 SiteWebEnstab
Employe idEm mp prEmp villeEmp paysEmp
2 SiteWebIstic
Lamia Tunis Tunisie
2 Mejri Leyla Ariana Tunisie
3 Gasmi Hamed Ariana Tunisie
4 Ksouri Ridha Tunis Tunisie
Normalisation: 3ème forme normale (3FN)
Un attribut non clé primaire ne doit pas dépendre d'un
autre champ non clé primaire.

Une relation est en 3ème forme normale (3FN ou 3NF):


◦ Si elle est en 2FN
◦ Et si tout attribut non clé ne dépend pas fonctionnellement d’un attribut non clé.
Normalisation: 3ème forme Normale (3FN)
Employe idEmp nomEmp prEmp villeEmp paysEmp
1 Salmi Lamia Tunis Tunisie
Ville villeEmp paysEmp
2 Mejri Leyla Ariana Tunisie
Tunis Tunisie
3 Gasmi Hamed Ariana Tunisie
Ariana Tunisie
4 Ksouri Ridha Tunis Tunisie
• Pour normaliser en 3FN une table ayant une
Employe idEmp nomEmp prEmp #villeEmp
DF transitive, il faut la décomposer en:
• Une table formée de l’attribut 1 Salmi Lamia Tunis
redondant et de l’attribut dont il 2 Mejri Leyla Ariana
dépend (dans notre exemple villeEmp).
• Une table formée de la clé, de l’attribut 3 Gasmi Hamed Ariana
villeEmp comme clé étrangère et des 4 Ksouri Ridha Tunis
autres attributs.
Normalisation: Application
Vérifier si cette relation est en 1FN: PUBLICATIONS(idP, titreP, auteursP)
PUBLICATIONS idP titreP auteursP
3214 Conception des BD Emna Ayed, Jamel Gueddich
1237 Les BD relationnelles Omar Ezzine, Safa Bouraoui, Kacem Joudi
9756 Les Bases de données Faycel Frigui
4208 Du MCD au MLD Jamel Gueddich, Safa Bouraoui

Appliquer le processus de normalisation sur la table COMMANDE définie


par:
COMMANDE(numCde, date, numClient, nomClient, nomArt, designArt,
qtite).
Normalisation: Récapitulation
• Une relation est en première forme normale si et seulement
si tout attribut contient une valeur atomique.
1FN
• elle est en première forme normale ;
• tout attribut non-clé ne dépend pas que d'une partie de
2FN cette clé. Il en dépend entièrement.

• elle est en deuxième forme normale ;


• tout attribut n'appartenant pas à la clé ne dépend pas d'un
3FN attribut non-clé

Vous aimerez peut-être aussi