0% ont trouvé ce document utile (0 vote)
19 vues29 pages

Normalisation des Bases de Données Relationnelles

Transféré par

anass jr
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)
19 vues29 pages

Normalisation des Bases de Données Relationnelles

Transféré par

anass jr
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

04/10/2018

Bases de données Relationnelles

Normalisation des
relations - FN

E. Zemmouri – ENSAM 2017

Plan
§ Objectif
§ Exemple d’introduction (motivations)
§ Normalisation – Formes normales
§ Dépendance Fonctionnelle
§ 1FN
§ 2FN
§ 3FN
§ BCNF
§ Méthodes de normalisation

Modèle Relationnel - Normalisation des relations 2

1
04/10/2018

Normalisation des relations


§ Objectif :
• Concevoir un bon schéma relationnel.
ü Plusieurs schémas possibles
ü Comment choisir (concevoir) le meilleurs ?
• Un bon schéma relationnel est un schéma ne contenant pas
d’anomalies.

Modèle Relationnel - Normalisation des relations 3

Exemple d’introduction
§ Gestion des candidatures aux écoles post-Bac.
• Données manipulées :
ü CNE, nom et tel de l’étudiant
ü Lycée et ville d’origine
ü Série de Bac
ü Écoles demandées
§ On peut utiliser la relation:
• Candidature (CNE, NomEtud, Tel, NomEcole, Lycée, Ville, Série).

Modèle Relationnel - Normalisation des relations 4

2
04/10/2018

Exemple d’introduction
§ Quelques tuples possibles :
• Candidature (CNE, NomEtud, Tel, NomEcole, Lycée, Ville, Série).
ü 123 Ali 05333 ENSAM Najah Meknès S.Maths
ü 123 Ali 05333 EST Najah Meknès S. Maths
ü 123 Ali 05333 FST Najah Meknès S. Maths
ü 234 Ahmed 06222 ENSAM Sijilmassa Errachidia S. Exp
ü 234 Ahmed 06222 FST Sijilmassa Errachidia S. Exp
ü 345 Majid 06444 ENSAM Najah Meknès LS. Humaines
ü … … … … … … …

§ Y a-t-il des anomalies ?


§ Oui !!
Modèle Relationnel - Normalisation des relations 5

Exemple d’introduction
§ Anomalies :
• Redondances
ü Des informations qui se répètes. (123 Ali 05333)
• Mise à jour
ü Ex. Modifier le tél d’un étudiant (modification de plusieurs
occurrences).
• Suppression
ü Ex. Supprimer la série LS. Humaines de la candidature ENSAM.
è supprimer complètement la série et/ou l’étudiant.

Modèle Relationnel - Normalisation des relations 6

3
04/10/2018

Anomalies
§ Un bon schéma è pas d’anomalies :
• Redondances
ü Plusieurs fois la même information.
ü => des valeurs peuvent être éliminées sans perte d’information
• Anomalie de mise à jour
ü Une occurrence d’une information est modifié et pas les autres.
• Anomalie de suppression
ü Une information pertinente est perdue en supprimant un tuple.
§ La normalisation des relations permet d’éviter ces
anomalies.
Modèle Relationnel - Normalisation des relations 7

Normalisation des relations


§ Normalisation = Ensemble de règles introduites dans
le modèle relationnel dès son origine qui, une fois
appliquées, garantissent :
• La non redondance des données
• La cohérence lors de la manipulation des données
(insertion, mise à jour, suppression).
§ Ces règles sont appelées : Formes Normales (FN)

Modèle Relationnel - Normalisation des relations 8

4
04/10/2018

Formes Normales
§ Les FN sont dépendantes :
1FN
2FN
3FN
BCNF
4FN

§ Une relation en 4FN est nécessairement en BCNF, 3FN, 2FN et 1FN.


Modèle Relationnel - Normalisation des relations 9

Dépendance fonctionnelle
§ Normaliser un schéma relationnel passe
essentiellement par l’étude des dépendances
fonctionnelles.
§ Concept clé dans la conception de bon schémas
relationnels.
• Mais aussi pour :
ü Stockage de données : compression
ü Optimisation des requêtes.

Modèle Relationnel - Normalisation des relations 10

5
04/10/2018

Dépendance fonctionnelle
§ Exemple : Candidature aux écoles post-bac
• Etudiant (CNE, NomEtud, Adresse, Moy, Mention,
CodeLycée, NomLycée, VilleLycée)
• Candidature (CNE, NomEcole, VilleEcole, Date, Filière)
§ On suppose la mention déterminée par la Moy :
• 16 ≤ Moy à mention = T. bien
• 14 ≤ Moy < 16 à mention = Bien
• 12 ≤ Moy < 14 à mention = A. bien
• 10 ≤ Moy < 12 à mention = Passable
Modèle Relationnel - Normalisation des relations 11

Dépendance fonctionnelle
§ Deux Tuples ayant la même Moy doivent avoir la
même mention.
• Ʉ (t, u) ϵ étudiant :
t.moy = u.moy => t.mention = u.mention
§ On dit que la mention dépend fonctionnement de moy
(ou moy détermine mention)
§ On note : Moy à Mention

Modèle Relationnel - Normalisation des relations 12

6
04/10/2018

Dépendance fonctionnelle
§ Soit R une relation et A, B deux attribut
§ A à B si
• Ʉ (t, u) ϵ R (deux tuples de R) :
t.A = u.A => t.B = u.B
§ Deux tuples ayant le même A doivent avoir le même B
§ B dépend fonctionnellement de A
§ A détermine B
§ La connaissance de la valeur de A entraîne la
connaissance de la valeur de B.
Modèle Relationnel - Normalisation des relations 13

Dépendance fonctionnelle
§ A1, A2, …, An à B1, B2, …, Bm
• Ʉ (t, u) ϵ R (deux tuples de R) :
t.[A1, A2, …, An ] = u.[A1, A2, …, An] =>
t.[B1, B2, …, Bm] = u.[B1, B2, …, Bm ]

Modèle Relationnel - Normalisation des relations 14

7
04/10/2018

Dépendance fonctionnelle
§ DF et Clés de la relation :
• Si un attribut (ou un groupe d'attributs) détermine par DF
tous les autres attributs de la même relation, c'est une clé
de la relation.

Modèle Relationnel - Normalisation des relations 15

Dépendance fonctionnelle
§ N.B.
• Les DF sont basées sur la compréhension du monde réel.
• Si on a une DF sur une relation R, toutes les instances de R
doivent adhérer à cette DF.
ü Ʉ (t, u) ϵ R.

Modèle Relationnel - Normalisation des relations 16

8
04/10/2018

Dépendance fonctionnelle
§ Propriétés :
• A à B, C => A à B et A à C (Décomposition)
• A à B et A à C => A à B,C (Combinaison)
• A à B et B à C => A à C (transitivité)
• A à B => A à A ∩ B
• A à B => A à A U B
• Si B est une partie de A alors AàB (dépendance triviale)

Modèle Relationnel - Normalisation des relations 17

Dépendance fonctionnelle
§ Dépendance fonctionnelle élémentaire
• une DF, A à B, est une dépendance fonctionnelle
élémentaire si B est un attribut unique, et si A est un
ensemble minimum d'attributs (ou un attribut unique).
• => B ne dépend pas d’une partie de A.

Modèle Relationnel - Normalisation des relations 18

9
04/10/2018

Première Forme Normale 1FN


§ Une relation est en première forme normale si :
• Elle possède une clé
• Les domaines de ces attributs sont constitués de valeurs atomiques :
chaque valeur d’un attribut provienne d’un domaine non structuré.
ü Pas d’ensemble.
ü Pas de type énuméré.
ü Pas de groupes répétitifs.
§ Si les relations résultant de la modélisation ne sont pas déjà en
1FN, il serait approprié de retourner à l’étape de modélisation!
§ Une modélisation de qualité minimale devrait toujours être en
1FN.
Modèle Relationnel - Normalisation des relations 19

1FN

Un schéma R est en 1NF Si et seulement si les domaines


de tous ses attributs sont atomiques (mono-valués)

Modèle Relationnel - Normalisation des relations 20

10
04/10/2018

1FN
§ Exemple 1: employés – projets
• MembreProjet (ID, Nom, Fonction, IDProjet)
§ Relation non normalisée § Relation en 1FN
ID Nom Fonction IDProjet ID Nom Fonction IDProjet

E7 Ali Développement {P1, P3} E7 Ali Développement P1

E2 Hassan Management {P2} E7 Ali Développement P3

E10 Ahmed Marketing {P1, P2, P3} E2 Hassan Management P2

E10 Ahmed Marketing P1

E10 Ahmed Marketing P2

E10 Ahmed Marketing P3

Modèle Relationnel - Normalisation des relations 21

1FN
§ Exemple 2 :
• LIVRES(N°Auteur, titre, auteur, genre, langue)

N° Auteur Titre Auteur Genre Langue

123 DataBases Wisdom Technique Anglais

234 Misérables, Dernier Jour Hugo Roman Français

345 Bourgeois, Fourberies Molière Roman Français

Modèle Relationnel - Normalisation des relations 22

11
04/10/2018

1FN
§ N.B.
• La première forme normale impose que chaque ligne d’une
relation ait une seule valeur pour chaque colonne (i.e.
attribut), ce qui est justement la définition d’une table.
Donc, une table est nécessairement en première forme
normale au sens du modèle relationnel.

Modèle Relationnel - Normalisation des relations 23

Deuxième Forme Normale : 2FN


§ Une relation est en deuxième FN si :
• Elle est en 1FN
• Il existe une dépendance fonctionnelle élémentaire reliant la
clé à chaque attribut non clé.
• è tout attribut hors clé ne dépend pas d’une partie de la clé

Modèle Relationnel - Normalisation des relations 24

12
04/10/2018

2FN

Un schéma R est en 2FN Si et seulement si Tout attribut de R,


n’appartenant pas à la clé primaire , est en dépendance
fonctionnelle totale de la clé primaire

Modèle Relationnel - Normalisation des relations 25

2FN
§ Soit R (A,B,C,D) :
A, B

DF partielle

C D

Modèle Relationnel - Normalisation des relations 26

13
04/10/2018

2FN
§ Comment normaliser en 2 NF par décomposition :
• Isoler la DF partielle dans une nouvelle relation
• Eliminer la cible de la DF de la relation initiale
§ è R1 (A, B, D) et R2 (A, C)

A,B A

D C

Modèle Relationnel - Normalisation des relations 27

2FN
§ Exemple 1 :
• MembreProjet (ID, Nom, Fonction, IDProjet, intituléProjet,
pourcentage)
ü Clé de la relation : (ID, IDProjet)
• On note :
ü IDàNom, IDà Fonction
§ Une table doté d’une clé composée, qui n’est pas en 2FN
doit être décomposée en sous-tables.
• Employé (ID, Nom, Fonction)
• Projet (IDProjet, Intitulé)
• Participation (*ID, *IDProjet, pourcentage)
Modèle Relationnel - Normalisation des relations 28

14
04/10/2018

2FN
§ Exemple 2: gestion de compte bancaire
• OPERATION(N°Compte, CodeOp, DateOp, Nom, Prenom,
LibelléOp, Somme)
§ La relation est-elle en 1FN ? Oui
§ Est-elle en 2FN ? Non

Modèle Relationnel - Normalisation des relations 29

2FN
§ Exemple 2 : gestion de compte bancaire
• OPERATION(N°Compte, CodeOp, DateOp, Nom, Prenom,
LibelléOp, Somme)
• On note que :
ü N°Compte à Nom et N°Compte à Prénom
ü CodeOp à LibelléOp
§ Correction :
• COMPTE(N°Compte, Nom, Prénom)
• LIBELLE(CodeOp, LibelléOp)
• OPERATION(N°Compte, DateOp, CodeOp, somme)
Modèle Relationnel - Normalisation des relations 30

15
04/10/2018

Troisième Forme Normale : 3FN


§ Une relation est en troisième forme normale si :
• Elle est en 2 FN
• Tout attribut hors clé est en DF directe par rapport à la clé
(pas de transitivité)

Modèle Relationnel - Normalisation des relations 31

3FN

§ Un schéma R est en 3NF ssi


• R est en 2NF,
• Aucun attribut ne dépend transitivement de la clé primaire,
(tout attribut de R, n’appartenant pas à la clé, ne dépend
que de la clé),

Modèle Relationnel - Normalisation des relations 32

16
04/10/2018

3FN
§ Soit R (A,B,C,D) :

A
DF transitive

B C D

Modèle Relationnel - Normalisation des relations 33

3FN
§ Comment normaliser en 3 NF par décomposition :
• Isoler la DF transitive dans une nouvelle relation
• Eliminer la cible de la DF de la relation initiale
§ è R1 (A, B, C) et R2 (C, D)

A C

B C D

Modèle Relationnel - Normalisation des relations 34

17
04/10/2018

3FN
§ Exemple 1 :
• Employé (Matricule, NomEmp, Fonction, CodeService, NomService).
§ La relation est en 2FN.
§ Mais :
• MatriculeàCodeServiceàNomService
§ ==>
• Employé (Matricule, Nom, Fonction, CodeService*)
• Service(CodeService, NomService)

Modèle Relationnel - Normalisation des relations 35

3FN
§ Exemple 2:
• Etudiant (CNE, Nom, Prénom, CodeLycée, Lycée, Ville, Moy,
Mention)
§ La relation est en 2FN ?
§ Mais :
• CodeLycée à Lycée, CodeLycéeàVille
• Moy à Mention

Modèle Relationnel - Normalisation des relations 36

18
04/10/2018

Forme Normale de Boyce-Codd : BCNF

§ Une relation est en BCNF si :


• Pour toute dépendance fonctionnelle (non triviale) AàB sur
les attributs de R, A est une clé de R.

• C’est-à-dire :
ü Tout attribut non clé de la relation n'est pas source de DF.

ü Les seules DF élémentaires qu’elle comporte sont celle où une clé


détermine un attribut.

Modèle Relationnel - Normalisation des relations 37

BCNF
§ Une relation est en BCNF si et seulement si :
• Elle est en 2 NF
• Toute source de DF est une clef primaire minimale
§ N.B.
• Si une relation R est en BCNF alors elle est en 3 NF.
• Si R est en 3 NF alors elle n’est pas forcément en BCNF

Modèle Relationnel - Normalisation des relations 38

19
04/10/2018

BCNF
§ Soit R (A,B,C,D, E) :

A, B

C D E

R est en 1, 2, et 3FN, mais pas en BCNF

Modèle Relationnel - Normalisation des relations 39

BCNF
§ Comment normaliser en BCNF par décomposition :
• Isoler la DF problématique dans une nouvelle relation
• Eliminer la cible de la DF problématique et la remplacer par
sa source dans la relation initiale
§ è R1 (A,E, C, D) et R2 (E, B)
A, E E

C D B

Modèle Relationnel - Normalisation des relations 40

20
04/10/2018

BCNF
§ Exemple : soit la relation
• ADRESSE( Lieu, Rue, Ville, CodePostal)
§ Quelles sont les DF existant dans cette relation ?
§ En quelle forme normale est la relation ?

Modèle Relationnel - Normalisation des relations 41

BCNF
§ Exemple : ADRESSE
§ DF :
• Ville, Rue à CodePostal
• CodePostal à Ville
§ La relation n’est pas en 2FN:
• ADRESSE( Lieu, Rue, Ville)
• CP (Rue, Ville, CodePostal)
§ Adresse et CP sont en 2FN et en 3FN
• Mais CP n’est pas en BCNF

Modèle Relationnel - Normalisation des relations 42

21
04/10/2018

BCNF
§ CP (Rue, Ville, CodePostal)
• N’est pas en BCNF, car CodePostalàVille.
§ Normalisation :
• CodeVille (CodePostal, Ville)
• CodeRue (Rue, CodePostal)
§ Problème :
• La dépendance Rue, Villeà CodePostal est perdue.
§ Toute relation a une décomposition en BCNF sans perte
d’information, par contre, une décomposition en BCNF ne
préserve pas généralement les DF.
Modèle Relationnel - Normalisation des relations 43

Formes Normales – Résumé

Modèle Relationnel - Normalisation des relations 44

22
04/10/2018

Méthodes de Normalisation
§ Il est souhaitable qu’un schéma relationnel ne
comporte que des relations en 3FN ou BCNF.
§ Des algorithmes de constructions permettent
d’obtenir de tels schémas.
§ Ils sont de deux catégories :
• Méthode de décomposition
• Méthode synthétique

Modèle Relationnel - Normalisation des relations 45

Méthodes de Normalisation
§ Méthode de décomposition :
• Elle se base sur la décomposition de relations en utilisant les DF
entre les données.
• Cette méthode conduit à des relations en 3NF ou BCNF.
• Elle présente 2 problèmes :
ü Identification exhaustive des DF
ü Le résultat dépend de l’ordre d’application des décompositions et
peut ne pas préserver les DF

Modèle Relationnel - Normalisation des relations 46

23
04/10/2018

Méthodes de Normalisation
§ Méthode synthétique :
• Elle se base sur la représentation des DF en terme de graphe.
• À partir du graphe on déduit des relations normalisées en 3FN.

Modèle Relationnel - Normalisation des relations 47

Méthode synthétique
§ Point de départ
• L’ensemble de tous les attributs
• L’ensemble des DF entre attributs qui sont représentées dans un graphe
avec comme nœud un attribut et comme arc une DF
§ Ce qu’il faut faire
• Trouver la couverture minimale du graphe c’est-à-dire éliminer les
circuits ainsi que les DF non élémentaires et non directes
§ Résultat
• Une collection de relation en 3NF. Chaque schéma est obtenu en
prenant comme :
ü Clé une source de DF
ü Attributs, les cibles des DF correspondant

Modèle Relationnel - Normalisation des relations 48

24
04/10/2018

Méthode synthétique – exemple


§ Service d’immatriculation de voitures dans une préfecture
• Soient les DF suivantes :
ü N°Immat -> Couleur, Type, Puissance, Marque
ü N°Pers -> Nom, Prénom, Adresse
ü N°Immat -> N°Pers et Type -> Marque, Puissance
• On crée le graphe :

N°Pers N°Immat Type

Puissance
Nom Prénom Adresse Couleur
Marque

Modèle Relationnel - Normalisation des relations 49

Méthode synthétique – exemple


§ On obtient :
• Personne (N°Pers, Nom, Prénom, Adresse)
• Voiture (N°Immat, Couleur, Type*, N°Pers*)
• Types (Type, Puissance, Marque)

Modèle Relationnel - Normalisation des relations 50

25
04/10/2018

Exercice 1
Soit la relation :
• Commande (NumCommande, RefProduit, Quantité, IDClient, IDReprésentant)
Avec les dépendances fonctionnelles suivantes :
• NumCommande, RefProduit à Quantité, IDClient, IDReprésentant
• NumCommande à IDClient, IDReprésentant
• IDClient à IDReprésentant

1. Indiquer les clés candidates de la relation R


2. Citer les anomalies et les redondances qui se trouvent dans la relation R
3. Décomposer la relation R afin de supprimer les anomalies.
4. Vérifier que la décomposition est sans perte d’information et sans perte de dépendances

Modèle Relationnel - Normalisation des relations 51

Exercice 2
On considère la relation suivante décrivant les employés travaillant sur des projets dans
des laboratoires.
• Employé ( N°Emp, N°Lab, N°Proj, NomEmp, NomProj, adresse)
Avec les dépendances fonctionnelles suivantes:
• (N°Emp, N°Lab) → N°Proj, NomProj, NomEmp
• N°Emp → NomEmp
• N°Emp → adresse
• N°Proj → NomProj
1. Identifier les redondances éventuelles,
2. Etablir le graphe minimum des DF,
3. Définir les clés candidates,
4. Définir la forme normale et la justifier,
5. Proposer une décomposition optimale.

Modèle Relationnel - Normalisation des relations 52

26
04/10/2018

Exercice 3
§ Soit la relation R(A,B,C,D,E,F,G,H) avec l’ensemble F des
dépendances fonctionnelles suivantes:
• F={ ABàC, BàD, CDàE, CEàGH, GàA}
§ Démontrer les affirmations suivantes :
• ABàEH et BGàGH
§ Dessiner le graphe de dépendance
§ Donner toutes les clefs candidates de la relation R
§ Donner la forme normale de la relation R
§ Rendre la relation R en 3FN

Modèle Relationnel - Normalisation des relations 53

Exercice 4
§ Soit R (A, B, C, D, E, F, G) la relation suivante, avec les
dépendances:
• B → D, DE → A, AB → C, CE → G, CE → H, G → E
1. Démontrer en justifiant votre réponse les dépendances
fonctionnelles suivantes :
1. BE → HC et BG → HA
2. Etablir le graphe minimum de dépendances.
3. Donner toutes les clefs candidates de la relation R.
4. Quelle est la forme normale de R? Justifier votre réponse.
5. Proposer une décomposition optimale de R.
Modèle Relationnel - Normalisation des relations 54

27
04/10/2018

Exercice 5
§ Soit la relation suivante qui décrit les affectations des conducteurs de bus aux
lignes pour les jours du mois en cours.
Affectation ( N°ligne , N°conducteur , jour )
§ Considérons indépendamment les règles de gestion suivantes:
1. Un conducteur ne peut pas travailler sur deux lignes différentes le même jour;
2. Un conducteur ne fait qu'une seule ligne;
3. Une ligne n'est parcourue que par un seul conducteur;
4. Un conducteur ne fait pas la même ligne deux jours différents.
§ Pour chacune des règles : définir les DF, la FN, une clé minimale puis
normaliser la relation.

Modèle Relationnel - Normalisation des relations 55

Exercice 6
§ Soit la relation
• RESTAURANT (NuméroMenu, NomMenu, NuméroPlat, NomPlat, TypePlat)
§ Avec l’ensemble de Dépendances Fonctionnelles:
• NuméroMenu à NomMenu
• NuméroMenu à NuméroPlat
• NuméroPlat à NomPlat
• NuméroPlat à TypePlat

§ Déterminer une clé pour la relation RESTAURANT. Justifier votre réponse.


§ Sous quelle Forme Normale se trouve la relation RESTAURANT ? Justifier.
§ Proposer une décomposition de la relation RESTAURANT en 3FN sans perte
d’information.

Modèle Relationnel - Normalisation des relations 56

28
04/10/2018

Exercice 7
§ On considère la relation Prime: liste des primes attribuées au
personnel technique en fonction des machines sur lesquelles il
travaille
• Prime (N°machine, atelier, N°techn, montant-prime, nom-techn)
§ avec les dépendances fonctionnelles suivantes:
• N°machine → atelier
• N°techn → nom-techn
• (N°machine, N°techn) → montant-prime
1. Etablir le graphe minimum de dépendances.
2. Donner toutes les clefs candidates de la relation .
3. Quelle est la forme normale de la relation? Justifier votre réponse.
4. Proposer une décomposition optimale de la Relation Prime.

Modèle Relationnel - Normalisation des relations 57

29

Vous aimerez peut-être aussi