Normalisation d'une base de données

La normalisation d'une base de données consiste à organiser les données de manière à éliminer les redondances et à améliorer la fiabilité et la flexibilité de la base de données. Il existe plusieurs niveaux de normalisation, appelés formes normales, chacune ayant des règles spécifiques à suivre. Les formes normales les plus courantes sont:

  • 1NF: la forme normale première (1NF),
  • 2NF: la forme normale deuxième (2NF)
  • 3NF: la forme normale troisième (3NF).

Exemple

Nous avons une table "Clients" qui contient les champs suivants:

  • Nom,
  • Prénom,
  • Adresse,
  • Ville,
  • Code Postal,
  • Numéro de téléphone,
  • Email.
  • 1NF : Tous les champs de la table doivent être atomiques, c'est-à-dire ne pas pouvoir être décomposés en sous-éléments. Dans notre exemple, tous les champs sont atomiques.
  • 2NF : Tous les champs non clés doivent dépendre de la clé primaire. La clé primaire pour la table "Clients" est "Numéro de téléphone". Les autres champs (Nom, Prénom, Adresse, Ville, Code Postal, Email) dépendent tous de "Numéro de téléphone".
  • 3NF : Il ne doit y avoir aucune dépendance transitive, c'est-à-dire que tous les champs non clés ne doivent dépendre que de la clé primaire et pas d'autres champs non clés. Dans notre exemple, "Adresse" ne dépend pas de "Ville" ou de "Code Postal", "Code Postal" ne dépend pas de "Ville" et ainsi de suite.

En suivant ces règles de normalisation, nous pouvons être sûrs que notre base de données est organisée de manière efficace et éviter les problèmes de redondance et d'inconsistance des données.




Voici un exemple d'application de la normalisation à une base de données en utilisant SQL :

Nous avons une table "Clients" qui contient les champs suivants : Nom, Prénom, Adresse, Ville, Code Postal, Numéro de téléphone, Email.

1NF : Pour atteindre la 1NF, nous allons s'assurer que tous les champs sont atomiques.

Code sql

2NF : Pour atteindre la 2NF, nous allons séparer les données redondantes dans une nouvelle table appelée "Villes"

Code sql

3NF : Pour atteindre la 3NF, nous allons séparer la dépendance transitive de la table "Clients"

Code sql

Avec ces étapes, nous avons normalisé notre base de données en utilisant des commandes SQL. Chacune des tables contient maintenant uniquement les données nécessaires et pertinentes, ce qui améliore la fiabilité et la flexibilité de notre base de données.

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply