Pourquoi normaliser un modèle de données relationnel ?

https://sites.google.com/a/smartmodel.ch/conceptionsii/config/pagetemplates/modelemldr/PageGardeAmazon.jpg

Selon le principe de relation du modèle relationnel de E.F. Codd, l’ensemble des données utiles à une fonctionnalité d’un système d’information informatisé (SII) pourrait être stocké dans une seule table (relation selon la terminologie de E.F. Codd), un peu comme ce que nous faisons avec une feuille de calcul.

Naturellement, cette manière de faire induit une redondance de données. La Figure ci-dessous illustre cette redondance dans le cas de la gestion des enfants d'une crèche.

Chaque ligne de notre feuille de calcul ou de notre table contient les données relatives à un enfant :

  • Enf_Prenom - Prénom de l'enfant
  • Enf_Genre - Genre de l’enfant : garçon ou fille
  • Enf_DateNaiss - Date de naissance de l'enfant
  • Enf_Allergies - Liste des éventuelles allergies de l'enfant
  • Edu_Mnemo - Mnémonique de l'éducatrice responsable de l'enfant
  • Edu_Nom - Nom de l'éducatrice responsable de l'enfant
  • Edu_Titre - Niveau de titre de l'éducatrice responsable de l'enfant

Les données des éducatrices sont enregistrées en regard de chaque enfant.

La redondance au sein de notre feuille de calcul implique des traitements fastidieux : par exemple, si une éducatrice change de nom suite à un mariage, il faudra parcourir toute la liste des enfants et changer son nom à chaque fois qu'elle apparaît comme responsable.

La redondance de notre feuille de calcul est source de confusion par le bruit qu'elle transmet. L'éducatrice Rouge a-t-elle un titre CFC comme le suggère les données du 1er enfant ① ou ES comme indiqué pour le 4ème enfant ② ?

L’informatique et la modélisation ne sauraient résoudre ce dilemme de valeurs contradictoires, la seule chose que nous puissions faire est d’éviter de se trouver face à ce dilemme. Pour ce faire, la normalisation des données propose des règles, les formes normales (NF), pour transformer une table qui contiendrait des données redondantes en un réseau de tables exempt de redondances. Les tables sans redondances d’un tel réseau sont dites normalisées. Par ailleurs, nous avons ajouté quelques règles de normalisation complémentaires aux formes normales classiques.

Comment normaliser un modèle de données relationnel ?

Qu'est-ce que c'est que les formes normales ?

https://sites.google.com/a/smartmodel.ch/conceptionsii/config/pagetemplates/modelemldr/PageGardeAmazon.jpg