L'étude de la normalisation des relations obtenues a pour objectif de vérifier la non redondance de données dans notre système d'informations, et ainsi éviter certaines anomalies de stockage dans la future implantation d'une base de données.
Une relation est en première forme normale (1FN) si chacun de ses attributs contient une valeur atomique. On parle d'attributs de relation monovalués.
contre exemple : Gestion d'une bibliothèque
soit une relation LIVRES(N°Auteur,titre,auteur,genre)
d'où une implantation
|
N°Auteur |
Titre |
Auteur |
Genre |
|
1 |
Les CHOUANS |
BALZAC |
Roman |
|
2 |
CESAR, MARIUS |
PAGNOL |
Roman |
à un numéro d'auteur (ici 2) on obtient plus d'une valeur (CESAR, MARIUS)
correction
LIVRE(N°Livre,Titre,N°Auteur*,genre)
|
N°Livre |
Titre |
N°Auteur |
Genre |
|
1 |
Les CHOUANS |
1 |
Roman |
|
2 |
CESAR |
2 |
Roman |
|
2 |
MARIUS |
2 |
Roman |
et donc AUTEUR(N°Auteur,Auteur)
|
N°Auteur |
Auteur |
|
1 |
BALZAC |
|
2 |
PAGNOL |
Une relation est en deuxième forme normale (2FN)
si elle est en première forme normale
et
de plus, les attributs n'appartenant pas à la clé primaire ne dépendent pas fonctionnellement d'une partie de la clé.
contre exemple : Gestion de compte bancaire
soit la relation
OPERATION(N°Compte*,CodeOpe*,DateOpe*,Nom,Prenom,LibelOpe,Somme)
on note que :
Nom et Prénom dépendent fonctionnellement de N°Compte
Libellé d'opération dépend fonctionnellement de Code opération
correction : On va obtenir les relations suivantes
COMPTE(N°Compte,Nom,Prénom)
LIBELLE(CodeOpe,LibelOpe)
OPERATION(N°Compte*,DateOpe*,CodeOpe*,somme)
Une relation est en troisième forme normale (3FN)
si elle est en deuxième forme normale
et
de plus, tout attribut non clé ne dépend pas fonctionnellement d'un autre attribut non clé.
contre exemple : l'organisme de formation
soit la relation
ADHERENT(CodeAdh,NomAdh,AdressAdh,TypAdh,CotisTyp,DatPaiCot,NbSaladh)
On impose que la cotisation de l'adhérent dépend fonctionnellement du type de l'adhérent.
correction
TYPE(TypAdh,CotisAdh)
ADHERENT(CodeAdh,NomAdh,AdressAdh,TypAdh*,DatPaiCot,NbSaladh)
--
Vous avez reçu ce message, car vous êtes abonné au groupe
Groupe "LISRS-W-G2" de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse lisrs...@googlegroups.com
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/lisrs-w-g2?hl=fr?hl=fr
Cordialement