Sobes.tech
Middle

Qu'est-ce que la normalisation?

sobes.tech IA

Réponse de l'IA

La normalisation des données dans le contexte des bases de données est le processus d'organisation des données pour réduire la redondance et améliorer l'intégrité des données. Cela se fait en divisant de grandes tables en tables plus petites et en établissant des relations entre elles.

Objectif principal:

  • Éliminer la duplication des données.
  • Améliorer l'intégrité des données (éviter les anomalies d'insertion, de mise à jour et de suppression).
  • Augmenter l'efficacité du stockage et des requêtes (dans certains cas).

Le processus de normalisation repose sur les principes des formes normales (FN). Les plus courantes sont:

  • Première forme normale (1FN): Atomicité des données dans les cellules, absence de groupes répétitifs de colonnes.
  • Deuxième forme normale (2FN): Elle est en 1FN et chaque attribut non clé dépend entièrement de toute la clé primaire.
  • Troisième forme normale (3FN): Elle est en 2FN et il n'existe pas de dépendances fonctionnelles transitives d'attributs non clés de la clé primaire via d'autres attributs non clés.

Exemple:

Tableau original "Commandes_Produits":

ID Commande Date Commande ID Produit Nom du Produit Prix du Produit Quantité Nom du Client Adresse du Client
1 2023-10-27 101 Téléphone 500 1 Ivan Pétrov Rue Pushkina, 10
1 2023-10-27 102 Casque audio 100 2 Ivan Pétrov Rue Pushkina, 10
2 2023-10-27 101 Téléphone 500 1 Maria Ivanova Rue Lermontova, 5

Après normalisation (jusqu'à 3FN):

Table "Commandes":

ID Commande Date Commande ID Client
1 2023-10-27 1
2 2023-10-27 2

Table "Lignes de Commande":

ID Ligne ID Commande ID Produit Quantité
1 1 101 1
2 1 102 2
3 2 101 1

Table "Produits":

ID Produit Nom du Produit Prix du Produit
101 Téléphone 500
102 Casque audio 100

Table "Clients":

ID Client Nom du Client Adresse du Client
1 Ivan Pétrov Rue Pushkina, 10
2 Maria Ivanova Rue Lermontova, 5

Cependant, une normalisation excessive peut entraîner une augmentation du nombre de jointures (JOIN) lors de l'exécution des requêtes, ce qui peut réduire les performances. Par conséquent, lors de la conception de bases de données, on cherche souvent un équilibre entre le degré de normalisation et la performance. La dénormalisation est le processus de violation intentionnelle des formes normales pour améliorer la performance, généralement en ajoutant de la redondance.