Académique Documents
Professionnel Documents
Culture Documents
DF redondante
Soit F un ensemble de DFs
une DF f : X −→ Y est redondante dans F SSI :
Y ∈ X + sous F − {f }
Exemple :
F = {A −→ B, B −→ C, A −→ BC}
A −→ BC n’est pas élémentaire : on la décompose en : A −→ B,
déjà présente, et A −→ C.
A −→ C est redondante car C ⊆ A+ sous F − (A −→ C)
A+ {A −→ B, B −→ C} = {A, B, C}
Couverture minimale
Soit un ensemble de dépendances fonctionnelles élémentaires F
pour un ensemble d’attributs A.
CM(F) est une couverture minimale de F si Toute DF f de F n’est pas
redondante (F − f n’est pas équivalant à F) Toute DF élémentaire de
A est dans la fermeture transitive F +
Décomposition
Consiste à remplacer une relation R(A1 , . . . , An ) par une collection de
relations R1, . . . , Rm obtenues par des projections de R tel que la
relation résultat des jointures R1R2. . . Rm ait le même schéma que R.
Normalisation
Le processus de transformation d’une relation posant des problèmes
lors des mises à jour en relations n’ayant pas ces problèmes, est
appelé processus de normalisation.
Objectif
Définir un bon schéma relationnel qui décrit bien l’entreprise.
L’intérêt de la normalisation
Éliminer la redondance
Limiter les incohérence de données
Améliorer les performance des traitement
Exemple :
Patient (Npatient,Nom de famille, date de Naissance, sexe) est
en 1FN
Patient(Npatient,Nom de famille, date de Naissance, sexe, dates
de consultations) n’est pas en 1FN car dates de consultations
est une ensemble de valeurs
Normaliser en 1FN
Si R possède un attribut décomposable ⇒ Éclater cet attribut en
un ensemble d’attributs atomiques
Exemple :
Personne (id, nom , Adresse) Adresse est un attribut
décomposable
Solution : Adresse −→ N, Rue, Ville, Code postal
Si R possède un attribut multivalué ⇒ Créer une relation nouvelle
comportant la clé primaire de la relation initiale et l’attribut
multivalué, puis éliminer l’attribut multivalué de la relation initiale.
Exemple :
Patient(Npatient,Nom de famille, date de Naissance, sexe, dates
de consultations) dates de consultations est un attribut multivalué
Solution :
Patient(Npatient,Nom de famille, date de Naissance, sexe)
Consultation (NPatient, dates de consultations)
Exemple :
Fournisseur (NF, NomProduit, NomF, Tel, Prix) elle est en 1ère
FN, mais elle n’est pas en 2ème forme normale car
NF −→ NomF, Tel (NomF, Tel dépendent uniquement d’une partie
(NF) de l’identifiant NF, NomProduit)
NF,NomProduit −→ Prix
Exemple :
Fournisseur (NF, NomProduit, NomF, Tel, Prix) elle est en 1ère
FN, mais elle n’est pas en 2ème forme normale
Une telle relation pose des problèmes :
Redondances : s’il existe 100 produits pour un fournisseur on va
répéter 100 fois le nom, le téléphone du fournisseur.
Problème de mise à jour pour les insertions : quand on veut
rajouter un produit, il faut rentrer à nouveau le nom et le
téléphone du fournisseur.
Problème pour les suppressions : si on supprime
(momentanément) la liste des produits d’un fournisseur, alors on
supprime aussi le fournisseur.
Problème de mise à jour des tuples : si un fournisseur change de
téléphone, il faut faire cette mise à jour sur tous les 100 tuples
Exemple :
Fournisseur (NF, NomProduit, NomF, Tel, Prix) elle est en 1ère
FN, mais elle n’est pas en 2ème forme normale
Solution :
Fournisseur (NF, NomF, Tel)
Catalogue (NF, NomProduit, Prix)
qui sont en 2ème forme normale (et même plus).
Cette décomposition est :
sans perte d’information (NF est l’identifiant de la relation
Fournisseur)
sans perte de dépendance fonctionnelle (les DF sont soit dans
l’une, soit dans l’autre des deux relations décomposées).
Normaliser en 2FN
Soit A est une partie de la clé et A −→ C une DF non élémentaire
Isoler la DF non élémentaire dans une nouvelle relation R0 (A, C) ;
Éliminer la cible (C) dans la relation initiale
Exemple
Patient (Npatient, Date consultation, Nom) Avec : Nom dépend
d’une partie de la clé Npatient −→ Nom
Solution :
Patient (Npatient, Nom)
Patient (Npatient, Date consultation)
Exemple
Fournisseur (NF, Pays, Ville) elle est en 2FN mais elle n’est pas
en 3FN
on suppose qu’il n’y a pas de homonymie dans la base de
données, on a alors les DFs suivantes :
NF −→ Ville et Ville −→ Pays
NF −→ Pays est une DF déduite.
Solution : On décompose donc en :
Fourn (NF, Ville)
Géo (Ville, Pays)
Cette décomposition est sans perte d’information (Ville est
identifiant pour Géo), et sans perte de DF (les DFs non déduites
sont soit dans Fourn, soit dans Géo).
17/20 Meriem Amina Zingla
Normalisation d’une relation
Normaliser en 3FN
Soit A −→ C la DF qui pose problème (A est c sont des attributs
hors clé )
isoler la DF A −→ C dans une nouvelle relation R0 (A, C) ;
Eliminer la cible de la DF (C) dans la relation initiale.
Formaliser en FNBC
Isoler la DF qui pose problème dans une nouvelle relation
Éliminer la cible de DF problématique et la remplacer par sa
source dans la relation initiale