0% ont trouvé ce document utile (0 vote)
203 vues49 pages

06 - Normalisation Du Schéma de La Base

Transféré par

ji jiji
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
203 vues49 pages

06 - Normalisation Du Schéma de La Base

Transféré par

ji jiji
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Cours Bases de données

Réalisé par : Dr. SAYAD Lamri


Msila 2016
Plan du cours

1- Introduction

2- Le modèle Entité/Association

3- Le modèle relationnel

5- Théorie des dépendances et normalisation des relations

6- Transactions
Introduction
Exemple : soit le schéma de relation S1 suivant:
FournisseursProduit(NomFour, Adesse, Produit, Prix).
• Redondance d’information:
– Ce schéma permet des redondances d’info.
– Si un fournisseur qui s’appelle « Toto » fournit
1000 produits !  redondance
– La redondance rend la gestion de la base de
données difficile car elle n’optimise pas l’espace de
stockage et elle une source d’anomalies.
Introduction
• Les anomalies liées à la redondance :
– Anomalie d’insertion : Si on veut rajouter dans la
base de données un nouveau fournisseur mais on
ne connait pas encore les produit qu’il va fournir ni
leurs tarifs.
– Anomalie de modification : supposons maintenant
que le fournisseur « Toto » déménage. Il est, alors,
nécessaire de mettre à jour toutes les entrées
correspondantes.
– Anomalie de suppression
Introduction
• S1 permet des redondances d’information 
S1 n’est pas un bon schéma
• Un meilleur schéma qui résout ces anomalies
serait le schéma S2 suivant:
– Fournisseurs (NomFour, Adresse)
– Produits(NomFour, Produit, Prix)
Objectifs
• Le but de cette partie est d’étudier les
mécanismes qui permettent de passer de S1
vers S2. c’est-à-dire :
– Comment détecter les redondances possibles
– Comment passer d’un schéma de relation à un
autre (décomposition sans perte d’information et
décomposition dans perte de dépendance)
– Comment décomposer un schéma quelconque
vers le meilleur schéma possible.
Dépendance fonctionnelle
Pour établir efficacement un modèle entités-
associations bien normalisé, on peut étudier au
préalable les dépendances fonctionnelles entre
les attributs puis, les organiser en graphe de
couverture minimale. Cette technique est
traditionnellement employée pour normaliser
des schémas relationnels, mais elle s'applique
très bien en amont, au niveau des modèles
conceptuels.
Dépendance fonctionnelle
Soit R(A1, A2, ...., An) un schéma de relation
Soit X et Y des sous ensembles de {A1,A2,...An)
On dit que Y dépend fonctionnellement de X (X->Y) si
à chaque valeur de X correspond une valeur unique
de Y

on écrit : X → Y

on dit que : X détermine Y


Dépendance fonctionnelle
Exemple:
PRODUIT (no_prod, nom, prixUHT)
no_prod → (nom, prixUHT)
NOTE (no_contrôle, no_élève, note)
(no_contrôle, no_élève) → note

une dépendance fonctionnelle est une propriété sémantique, elle


correspond à une contrainte supposée toujours vrai du monde réel

D.F. élémentaire
D.F. X -> A mais A est un attribut unique non inclus dans X et il n’existe
pas de X’ inclus dans X tel que X’ -> A
La clé d’une relation
attribut (ou groupe minimum d'attributs) qui détermine tous les autres

Exemple :
PRODUIT (no_prod, nom, prixUHT)
no_prod → (nom, prixUHT)
no_prod est une clé

• Une clé détermine un n-uplet de façon unique


• Pour trouver la clé d'une relation, il faut examiner attentivement les hypothèses sur le
monde réel
• Une relation peut posséder plusieurs clés, on les appelle clés candidates

Exemple :
dans la relation PRODUIT, nom est une clé candidate (à condition qu'il n'y ait jamais 2
produits de même nom)
Clé primaire
• choix d'une clé parmi les clés candidates
Clé étrangère ou clé secondaire
attribut (ou groupe d'attributs) qui fait référence à la clé
primaire d'une autre relation

Exemple:
CATEG (no_cat, design, tva)
PRODUIT(no_prod, nom, marque, no_cat, prixUHT)
no_cat dans PRODUIT est une clé étrangère

CLÉ ÉTRANGÈRE = CLÉ PRIMAIRE dans une autre relation


Propriétés des DF
Propriétés des DF
Propriétés des DF
Propriétés des DF
Propriétés des DF
Propriétés des DF
Propriétés des DF
Propriétés des DF
Propriétés des DF
Graphe des DF
Graphe de dépendance minimum
• Etant donné une relation et un ensemble F de DF portant sur
les attributs de cette relation, on appelle graphe minimum
des DF de la relation, tout ensemble de DF élémentaires non
déduites, équivalent à F en ce sens que toute DF de F peut
être déduite des DF du graphe.
• Une méthode pour savoir si une DF, X→Y, est déduite des
autres est la suivante:
– établir un graphe (non minimum) des DF,
– supprimer la DF X→Y du graphe,
– parcourir tous les chemins possibles partant de X et suivant les DF.
La DF, X→Y, est déduite si un (ou plusieurs) de ces chemins atteint Y.
Implication de DF
• Soit F un ensemble de dépendances
fonctionnelles sur un ensemble d’attributs U,
on dit que F implique logiquement d : XY
(avec X,Y U) qu’on note : F d si :
Fermeture transitive d’un ensemble de DF

• On appelle fermeture transitive d’un


ensemble F de dépendances fonctionnelles
l’ensemble de toutes les dépendances
fonctionnelles que l’on peut déduire de F,
soit:
Fermeture transitive d’un ensemble de DF

• Exemple:
Soit U ={A,B,C} et F={AB, BC}
Equivalence et couverture minimale d’un
ensemble de DF
• Puisqu’on peut déduire de nouvelles DF à
partir d’un ensemble de DF F:
– Deux ensembles de DF peuvent-il être équivalent?
– Un ensemble de DF peut-il être redondant?
– Si deux ensembles de DF sont équivalents, existe-
t-il l’un qui soit meilleur que l’autre?
– Peut-on trouver une forme la plus compacte
possible pour un ensemble de DF
Equivalence de DF
• Définition: Soient F1 et F2 deux ensembles de
DF sur U, on dit que F1 et F2 sont équivalents,
qu’on note s’ils ont la même fermeture
transitive :
Couverture minimale de DF
• C’est le sous-ensemble minimum de DF élémentaires
permettant de générer toutes les autres.
• Soit F un ensemble de DF sur U. F1 est une couverture
minimale de F si:

– F1 est un ensemble minimal de DF


• On dit que F est un ensemble minimal de DF si
– F est sous forme canonique (un seul attribut à droite)
– F ne contient de DF redondante (aucune DF de F ne peut être
déduite à partir d’autre DF de F.
– F ne contient aucune DF redondante à gauche
La normalisation
• La conception d’un Modèle E/A représente la
vision de la réalité de l’analyste. Le formalisme
obtenu, établi avec une méthode, peut être
optimisé.

• L’optimisation est obtenue par les mécanismes


de la normalisation.
La normalisation
• elle met en évidence les relations "indésirables"
• elle définit les critères des relations "désirables"
appelées formes normales
• Propriétés indésirables des relations
– Redondances
– Valeurs NULL
• elle définit le processus de normalisation permettant
de décomposer une relation non normalisée en un
ensemble équivalent de relations normalisées
La normalisation
La décomposition
Objectif:
– décomposer les relations du schéma relationnel sans perte d’informations
– obtenir des relations canoniques ou de base du monde réel
– aboutir au schéma relationnel normalisé
• Le schéma de départ est le schéma universel de la base
• Par raffinement successifs ont obtient des sous relations sans perte
d’informations et qui ne seront pas affectées lors des mises à jour
(non redondance)

• Notion intuitive de FN
une « bonne relation » peut être considérée comme une fonction de
la clé primaire vers les attributs restants
Les formes normales
Les formes normales
Les formes normales
1 ère
Forme Normale 1FN
Une relation est en 1FN si tout attribut est atomique (non
décomposable)

Contre-exemple
ELEVE (no_elv, nom, prenom, liste_notes)
Un attribut ne peut pas être un ensemble de valeurs

Décomposition
ELEVE (no_elv, nom, prenom)
NOTE (no_elv, no_matiere, note)
1 ère
Forme Normale 1FN
• Exemple
2 ème
Forme Normale 2FN
Une relation est en 2FN si
– elle est en 1FN
– si tout attribut n’appartenant pas à la clé ne dépend pas d’une partie de la clé

• C’est la phase d’identification des clés


• Cette étape évite certaines redondances
• Tout attribut doit dépendre fonctionnellement de la totalité de la clé

Contre-exemple
une relation en 1FN qui n'est pas en 2FN
COMMANDE (date, no_cli, no_pro, qte, prixUHT)
elle n'est pas en 2FN car la clé = (date, no_cli, no_pro), et le prixUHT ne dépend que de no_pro

Décomposition
COMMANDE (date, no_cli, no_pro, qte)
PRODUIT (no_pro, prixUHT)
3 ème
Forme Normale 3FN
Une relation est en 3FN si
– elle est en 2FN
– si tout attribut n’appartenant pas à la clé ne dépend pas d’un attribut non clé

Ceci correspond à la non transitivité des D.F. ce qui évite les redondances.
En 3FN une relation préserve les D.F. et est sans perte.

Contre-exemple
une relation en 2FN qui n'est pas en 3FN
VOITURE (matricule, marque, modèle, puissance)
on vérifie qu'elle est en 2FN ; elle n'est pas en 3FN car la clé = matricule, et la puissance dépend
de (marque, modèle)

Décomposition
VOITURE (matricule, marque, modèle)
MODELE (marque, modèle, puissance)
Exemple
Considérons le schéma relationnel R = <U, D>.
U = {A, B, C, Q, E, F}
D = {A->B ; B->A ; A->F ; A, C->Q ; C->E}

A : numéro de fournisseur
B : nom de fournisseur
C : numéro de pièce
Q : quantité commandée
E : désignation de la pièce
F : adresse du fournisseur.
Exemple
• D est une couverture minimale. On peut donc prendre G = D.
• L'étape 2 fournit les groupes suivants.
G1 = {CE} G2 = {A, CQ} G3 = {AB ; AF} G4 = {BA}
• L'étape 3 conduit à fusionner G3 et G4. On obtient un nouveau groupe G3.
G1 = {CE} G2 = {A, CQ} G3 = {A B ; BA ; AF}
• L’étape 4 génère les schémas suivants.
– R1 = <{C, E}, {C E}>
– R2 = <{A, C, Q}, {A, C Q}>
– R3 = <{A, B, F}, {AB ; BA ; AF}>
• Une clé de la relation universelle est A, C. Puisque R2 contient déjà cette
clé, le
• schéma {R1, R2, R3} préserve le contenu.
Forme Normale de BOYCE-CODD FNBC
Une relation est en FNBC :
– elle est en 3FN et
– aucun attribut faisant partie de la clé ne dépend d’un attribut ne
faisant pas partie de la clé primaire
• FNBC signifie que l'on ne peut pas avoir un attribut (ou
groupe d'attributs) déterminant un autre attribut et distinct
de la clé
• Ceci évite les redondances dans l’extension de la relation:
mêmes valeurs pour certains attributs de nuplets différents
• FNBC est plus fin que 3FN : FNBC ⇒ 3FN
Contre-Exemple
une relation en 3FN qui n'est pas FNBC
CODEPOSTAL (ville, rue, code)
on vérifie qu'elle est 3FN, elle n'est pas BCNF car
la clé = (ville, rue) (ou (code, ville) ou (code,
rue)), et code → ville
Exemple
numéro avion constructeur modèle capacité propriétaire
1 Airbus A380 180 Air France
2 Boeing B747 314 British Airways
3 Airbus A380 180 KLM
Exercice
Soit la relation R(A,B,C,D,E,F).
Soit l’ensemble de dépendances fonctionnelles vérifiées dans R :
DepFonc = { AC,
(B,D)  E,
F A,
D F,
(C,F)  B }
Question :
Déterminer la clé de la relation
Cette relation est-elle en FNBC?

Vous aimerez peut-être aussi