Normalisation, 1FN, 2FN, 3FN [SGBD] - SQL/NoSQL - Programmation
Marsh Posté le 08-04-2013 à 10:38:07
http://fr.wikipedia.org/wiki/Forme [...] nnelles%29
Si je me souviens bien de mes cours, en gros :
1FN : ça correspond à un fichier Excel. Une ligne = 1 enregistrement en BD, pleins d'infos sont dupliquées.
2FN : introduction de la notion de clé primaire. On évite certaines redondances.
3FN : introduction de la notion de clé étrangère. Ca évite la redondance d'une même info dans la BD. Chaque info se trouve qu'une et une seule fois dans toute la BD.
De ce que j'ai retenu de mes cours, c'est qu'une BD bien modélisée doit respecter la forme 3FN. Seuls pbs qu'un DBA te fera remarquer :
- une BD 3FN peut entrainer des pbs de perfs -> il faut dénormaliser certaines relations
- le fait qu'une info n'y soit qu'une seule fois fait que si cette info est perdu ou corrompue ben ta BD est morte puisque pas de possibilité de recalculer l'info manquante. Faut faire une restauration d'une version antérieure et donc t'as perdu tout ce qui a été fait entre temps.
Marsh Posté le 09-04-2013 à 15:52:09
Pour info, j'ai vu à mon boulot un soft dont la BD respectait pas la forme 3FN, ben je te dis pas les pbs d'intégrité des données Genre, t'as 2 "chemins" (= succession de jointures) possibles pour trouver une info : suivnat le chemin emprunté, tu trouves pas la même info, c'est gênant, non ?
Marsh Posté le 07-04-2013 à 21:02:51
Bonsoir tout le monde,
Je bosse actuellement sur les SGBD et plus précisément sur la normalisation.
J'en appelle à votre bonté, car j'ai beaucoup de mal à comprendre comment surtout pourquoi on peut normaliser une relation en 1FN puis en 2FN et en 3FN.
J'ai beau avoir les définitions et savoir que c'est pour éviter les soucis de redondance bah je bloque et ça commence à me frustrer
Donc si quelqu'un pourrait m'expliquer ces 3 formes de normalisation avec des mots autres que "atomicité" etc alors je serais ravis et trés reconnaissant !
Merci à vous et bonne fin de dimanche.