Forme normale (bases de données relationnelles) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Dans une base de données relationnelle, une forme normale désigne un type de relation particulier entre les entités.

Le but essentiel de la normalisation est d'éviter les anomalies transactionnelles pouvant découler d'une mauvaise modélisation des données et ainsi éviter un certain nombre de problèmes potentiels tels que les anomalies de lecture, les anomalies d'écriture, la redondance des données et la contre performance.

La normalisation des modèles de données permet de vérifier la robustesse de leur conception pour améliorer la modélisation (et donc obtenir une meilleure représentation) et faciliter la mémorisation des données en évitant la redondance et les problèmes sous-jacents de mise à jour ou de cohérence. La normalisation s’applique à toutes les entités et aux relations porteuses de propriétés.

Les formes normales s'emboitent les unes dans les autres, tant et si bien que le respect d'une forme normale de niveau supérieur implique le respect des formes normales des niveaux inférieurs. Dans le modèle relationnel de type OLTP, il existe huit formes normales :

  1. la première forme normale notée 1FN (1NF en anglais)
  2. la deuxième forme normale notée 2FN (2NF en anglais)
  3. la troisième forme normale notée 3FN (3NF en anglais)
  4. la forme normale de Boyce Codd notée FNBC (BCNF en anglais)
  5. la quatrième forme normale notée 4FN (4NF en anglais)
  6. la cinquième forme normale notée 5FN (5NF en anglais)
  7. la forme normale domaine clef notée FNDC (DKNF en anglais)
  8. la sixième forme normale notée 6FN (6NF en anglais) rarement présentée

La forme normale vient après la simple validité d'un modèle relationnel, c'est-à-dire que les valeurs des différents attributs soient bien en dépendance fonctionnelle avec la clé primaire (complètement déterminés par la clé primaire).

Avantages et inconvénients

En pratique, la première et la deuxième forme normale sont nécessaires pour avoir un modèle relationnel juste. Les formes normales supplémentaires ont leurs avantages et leurs inconvénients.

Les avantages sont :

  • de limiter les redondances de données (multiple écritures)
  • de limiter les incohérences de données qui pourrait les rendre inutilisables (multiple écritures)
  • d'éviter les processus de mise à jour (réécritures)

Les inconvénients sont :

  • des temps d'accès potentiellement plus longs si les requêtes sont trop complexes (lectures plus lente)
  • une plus grande fragilité des données étant donné la non redondance (lecture impossible)
  • un manque de flexibilité au niveau de l'utilisation de l'espace disque

Pour des petites bases de données, se limiter à la troisième forme normale est généralement une des meilleures solutions d'un point de vue architecture de base de données, mais pour des bases de données plus importantes, cela n'est pas toujours le cas. Il s'agit de choisir l'équilibre entre deux options :

  • la génération dynamique des données via les jointures entre tables
  • l'utilisation statiques de données correctement mises à jour

En d'autres mots, il ressort de ces avantages et inconvénients qu'un arbitrage devra être effectué sur le niveau de normalisation selon que les tables de la base de donnée sont plus sollicitées en lecture ou plus en écriture. Si une table (base de donnée) est plus intensivement écrite que lue il sera préférable de normaliser le plus possible. A contrario, si une table (base de donnée) est plus intensivement lue qu'écrite il pourra être judicieux d'être moins strict sur le respect de la normalisation pour permettre d'améliorer les performances d'accès aux données.

Il convient d'être prudent lorsqu'on renonce à la forme normale. Il n'est pas garanti qu'une forme dénormalisée améliore les temps d'accès. En effet, la redondance peut entrainer une explosion des volumes de données qui peuvent écrouler les performances ou saturer les disques durs.

La normalisation des modèles de données a été popularisée principalement par la méthode Merise. La principale limite de la normalisation est que les données doivent se trouver dans une même base de données (dans un seul schéma).

Page générée en 0.084 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise